Skip to content

Commit

Permalink
[WIP] Remove qiskit_algorithms
Browse files Browse the repository at this point in the history
  • Loading branch information
t-imamichi committed Feb 13, 2025
1 parent f5115f6 commit 6d448a3
Show file tree
Hide file tree
Showing 33 changed files with 1,854 additions and 161 deletions.
2 changes: 1 addition & 1 deletion constraints.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
numpy>=1.20.0
ipython<8.13;python_version<'3.9'
jedi<0.19
4 changes: 2 additions & 2 deletions qiskit_optimization/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
A uniform interface as well as automatic conversion between different problem representations
allows users to solve problems using a large set of algorithms, from variational quantum algorithms,
such as the Quantum Approximate Optimization Algorithm
(:class:`~qiskit_algorithms.QAOA`), to
(:class:`~qiskit_optimization.minimum_eigensolvers.QAOA`), to
`Grover Adaptive Search <https://arxiv.org/abs/quant-ph/9607014>`_
(:class:`~algorithms.GroverOptimizer`), leveraging
fundamental `minimum eigensolvers
Expand Down Expand Up @@ -85,7 +85,7 @@
"""

from .exceptions import QiskitOptimizationError, AlgorithmError
from .exceptions import AlgorithmError, QiskitOptimizationError
from .infinity import INFINITY # must be at the top of the file
from .problems.quadratic_program import QuadraticProgram
from .version import __version__
Expand Down
4 changes: 2 additions & 2 deletions qiskit_optimization/algorithms/admm_optimizer.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This code is part of a Qiskit project.
#
# (C) Copyright IBM 2020, 2024.
# (C) Copyright IBM 2020, 2025.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
Expand All @@ -17,9 +17,9 @@
from typing import List, Optional, Tuple, cast

import numpy as np
from qiskit_algorithms import NumPyMinimumEigensolver

from ..converters import MaximizeToMinimize
from ..minimum_eigensolvers import NumPyMinimumEigensolver
from ..problems.constraint import Constraint
from ..problems.linear_constraint import LinearConstraint
from ..problems.linear_expression import LinearExpression
Expand Down
7 changes: 3 additions & 4 deletions qiskit_optimization/algorithms/grover_optimizer.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This code is part of a Qiskit project.
#
# (C) Copyright IBM 2020, 2024.
# (C) Copyright IBM 2020, 2025.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
Expand All @@ -21,19 +21,18 @@
from qiskit import QuantumCircuit, QuantumRegister
from qiskit.circuit.library import QuadraticForm
from qiskit.primitives import BaseSampler
from qiskit_algorithms import AmplificationProblem
from qiskit_algorithms.amplitude_amplifiers.grover import Grover
from qiskit_algorithms.utils import algorithm_globals

from qiskit_optimization.algorithms.optimization_algorithm import (
OptimizationAlgorithm,
OptimizationResult,
OptimizationResultStatus,
SolutionSample,
)
from qiskit_optimization.amplitude_amplifiers.grover import AmplificationProblem, Grover
from qiskit_optimization.converters import QuadraticProgramConverter, QuadraticProgramToQubo
from qiskit_optimization.exceptions import QiskitOptimizationError
from qiskit_optimization.problems import QuadraticProgram, Variable
from qiskit_optimization.utils import algorithm_globals

logger = logging.getLogger(__name__)

Expand Down
11 changes: 6 additions & 5 deletions qiskit_optimization/algorithms/minimum_eigen_optimizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@

import numpy as np
from qiskit.quantum_info import SparsePauliOp

from ..converters.quadratic_program_to_qubo import QuadraticProgramConverter, QuadraticProgramToQubo
from ..exceptions import QiskitOptimizationError
from ..minimum_eigensolvers import (
NumPyMinimumEigensolver,
NumPyMinimumEigensolverResult,
SamplingMinimumEigensolver,
SamplingMinimumEigensolverResult,
)

from ..converters.quadratic_program_to_qubo import QuadraticProgramConverter, QuadraticProgramToQubo
from ..exceptions import QiskitOptimizationError
from ..problems.quadratic_program import QuadraticProgram, Variable
from .optimization_algorithm import (
OptimizationAlgorithm,
Expand Down Expand Up @@ -109,7 +109,7 @@ class MinimumEigenOptimizer(OptimizationAlgorithm):
.. code-block::
from qiskit_algorithms import QAOA
from qiskit_optimization.minimum_eigensolvers import QAOA
from qiskit_optimization.problems import QuadraticProgram
from qiskit_optimization.algorithms import MinimumEigenOptimizer
problem = QuadraticProgram()
Expand Down Expand Up @@ -222,7 +222,8 @@ def _solve_internal(
raise QiskitOptimizationError(
"MinimumEigenOptimizer does not support this minimum eigensolver "
f"{type(self._min_eigen_solver)}. "
"You can use qiskit_algorithms.SamplingMinimumEigensolver instead."
"You can use qiskit_optimization.minimum_eigensolvers."
"SamplingMinimumEigensolver instead."
)
if eigen_result.eigenstate is not None:
raw_samples = self._eigenvector_to_solutions(
Expand Down
6 changes: 3 additions & 3 deletions qiskit_optimization/algorithms/qrao/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This code is part of a Qiskit project.
#
# (C) Copyright IBM 2023.
# (C) Copyright IBM 2023, 2025.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
Expand Down Expand Up @@ -48,8 +48,8 @@
.. code-block:: python
from qiskit_algorithms.optimizers import COBYLA
from qiskit_algorithms import VQE
from qiskit_optimization.optimizers import COBYLA
from qiskit_optimization.minimum_eigensolvers import VQE
from qiskit.circuit.library import RealAmplitudes
from qiskit.primitives import Estimator
Expand Down
5 changes: 2 additions & 3 deletions qiskit_optimization/algorithms/qrao/magic_rounding.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This code is part of a Qiskit project.
#
# (C) Copyright IBM 2023, 2024.
# (C) Copyright IBM 2023, 2025.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
Expand All @@ -19,10 +19,9 @@
from qiskit import QuantumCircuit
from qiskit.primitives import BaseSampler
from qiskit.quantum_info import SparsePauliOp
from qiskit_algorithms.exceptions import AlgorithmError

from qiskit_optimization.algorithms import OptimizationResultStatus, SolutionSample
from qiskit_optimization.exceptions import QiskitOptimizationError
from qiskit_optimization.exceptions import AlgorithmError, QiskitOptimizationError

from .quantum_random_access_encoding import (
_z_to_21p_qrac_basis_circuit,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This code is part of a Qiskit project.
#
# (C) Copyright IBM 2023.
# (C) Copyright IBM 2023, 2025.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
Expand All @@ -13,16 +13,10 @@
"""Quantum Random Access Optimizer class."""
from __future__ import annotations

from typing import cast, List
from typing import List, cast

import numpy as np
from qiskit import QuantumCircuit
from qiskit_algorithms import (
MinimumEigensolver,
MinimumEigensolverResult,
NumPyMinimumEigensolverResult,
VariationalResult,
)

from qiskit_optimization.algorithms import (
OptimizationAlgorithm,
Expand All @@ -31,7 +25,13 @@
SolutionSample,
)
from qiskit_optimization.converters import QuadraticProgramToQubo
from qiskit_optimization.minimum_eigensolvers import (
MinimumEigensolver,
MinimumEigensolverResult,
NumPyMinimumEigensolverResult,
)
from qiskit_optimization.problems import QuadraticProgram, Variable
from qiskit_optimization.variational_algorithm import VariationalResult

from .quantum_random_access_encoding import QuantumRandomAccessEncoding
from .rounding_common import RoundingContext, RoundingResult, RoundingScheme
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This code is part of a Qiskit project.
#
# (C) Copyright IBM 2020, 2024.
# (C) Copyright IBM 2020, 2025.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
Expand All @@ -17,13 +17,13 @@
from typing import Dict, List, Optional, Tuple, Union, cast

import numpy as np
from qiskit_algorithms import NumPyMinimumEigensolver
from qiskit_algorithms.utils.validation import validate_min

from ..converters.quadratic_program_to_qubo import QuadraticProgramConverter, QuadraticProgramToQubo
from ..exceptions import QiskitOptimizationError
from ..minimum_eigensolvers import NumPyMinimumEigensolver
from ..problems import Variable
from ..problems.quadratic_program import QuadraticProgram
from ..utils.validation import validate_min
from .minimum_eigen_optimizer import MinimumEigenOptimizationResult, MinimumEigenOptimizer
from .optimization_algorithm import (
OptimizationAlgorithm,
Expand Down Expand Up @@ -117,7 +117,7 @@ class RecursiveMinimumEigenOptimizer(OptimizationAlgorithm):
.. code-block:: python
from qiskit_algorithms import QAOA
from qiskit_optimization.minimum_eigensolvers import QAOA
from qiskit_optimization.problems import QuadraticProgram
from qiskit_optimization.algorithms import (
MinimumEigenOptimizer, RecursiveMinimumEigenOptimizer
Expand Down Expand Up @@ -161,7 +161,7 @@ def __init__( # pylint: disable=too-many-positional-arguments
min_num_vars_optimizer: This optimizer is used after the recursive scheme for the
problem with the remaining variables. Default value is
:class:`~qiskit_optimization.algorithms.MinimumEigenOptimizer` created on top of
:class:`~qiskit_algorithms.NumPyMinimumEigensolver`.
:class:`~qiskit_optimization.minimum_eigensolvers.NumPyMinimumEigensolver`.
penalty: The factor that is used to scale the penalty terms corresponding to linear
equality constraints.
history: Whether the intermediate results are stored.
Expand Down
4 changes: 2 additions & 2 deletions qiskit_optimization/algorithms/warm_start_qaoa_optimizer.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# This code is part of a Qiskit project.
#
# (C) Copyright IBM 2021, 2024.
# (C) Copyright IBM 2021, 2025.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
Expand All @@ -19,10 +19,10 @@
import numpy as np
from qiskit import QuantumCircuit
from qiskit.circuit import Parameter
from qiskit_algorithms import QAOA

from ..converters.quadratic_program_converter import QuadraticProgramConverter
from ..exceptions import QiskitOptimizationError
from ..minimum_eigensolvers import QAOA
from ..problems.quadratic_program import QuadraticProgram
from ..problems.variable import VarType
from .minimum_eigen_optimizer import MinimumEigenOptimizationResult, MinimumEigenOptimizer
Expand Down
25 changes: 25 additions & 0 deletions qiskit_optimization/amplitude_amplifiers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# This code is part of a Qiskit project.
#
# (C) Copyright IBM 2020, 2025.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
#
# Any modifications or derivative works of this code must retain this
# copyright notice, and modified files need to carry a notice indicating
# that they have been altered from the originals.

"""Amplitude Amplifiers Package"""

from .amplification_problem import AmplificationProblem
from .amplitude_amplifier import AmplitudeAmplifier, AmplitudeAmplifierResult
from .grover import Grover, GroverResult

__all__ = [
"AmplitudeAmplifier",
"AmplitudeAmplifierResult",
"AmplificationProblem",
"Grover",
"GroverResult",
]
Loading

0 comments on commit 6d448a3

Please sign in to comment.