diff --git a/qiskit/algorithms/gradients/__init__.py b/qiskit/algorithms/gradients/__init__.py index 72aad2402c2d..ff3a2fceca5e 100644 --- a/qiskit/algorithms/gradients/__init__.py +++ b/qiskit/algorithms/gradients/__init__.py @@ -17,74 +17,94 @@ .. currentmodule:: qiskit.algorithms.gradients - -Estimator Gradients -=================== +Base Classes +============ .. autosummary:: :toctree: ../stubs/ BaseEstimatorGradient - DerivativeType - FiniteDiffEstimatorGradient - LinCombEstimatorGradient - ParamShiftEstimatorGradient - SPSAEstimatorGradient - ReverseEstimatorGradient + BaseQGT + BaseSamplerGradient + EstimatorGradientResult + SamplerGradientResult + QGTResult -Sampler Gradients -================= +Finite Differences +================== .. autosummary:: :toctree: ../stubs/ - BaseSamplerGradient + FiniteDiffEstimatorGradient FiniteDiffSamplerGradient + +Linear Combination of Unitaries +=============================== + +.. autosummary:: + :toctree: ../stubs/ + + LinCombEstimatorGradient LinCombSamplerGradient + LinCombQGT + +Parameter Shift Rules +===================== + +.. autosummary:: + :toctree: ../stubs/ + + ParamShiftEstimatorGradient ParamShiftSamplerGradient - SPSASamplerGradient -Quantum Geometric Tensor -======================== +Quantum Fisher Information +========================== + .. autosummary:: :toctree: ../stubs/ - BaseQGT - LinCombQGT + QFIResult QFI + +Classical Methods +================= + +.. autosummary:: + :toctree: ../stubs/ + + ReverseEstimatorGradient ReverseQGT -Results -======= +Simultaneous Perturbation Stochastic Approximation +================================================== .. autosummary:: :toctree: ../stubs/ - EstimatorGradientResult - QFIResult - QGTResult - SamplerGradientResult + SPSAEstimatorGradient + SPSASamplerGradient """ -from .base_estimator_gradient import BaseEstimatorGradient -from .base_qgt import BaseQGT -from .base_sampler_gradient import BaseSamplerGradient -from .estimator_gradient_result import EstimatorGradientResult -from .finite_diff_estimator_gradient import FiniteDiffEstimatorGradient -from .finite_diff_sampler_gradient import FiniteDiffSamplerGradient -from .lin_comb_estimator_gradient import DerivativeType, LinCombEstimatorGradient -from .lin_comb_qgt import LinCombQGT -from .lin_comb_sampler_gradient import LinCombSamplerGradient -from .param_shift_estimator_gradient import ParamShiftEstimatorGradient -from .param_shift_sampler_gradient import ParamShiftSamplerGradient +from .base.base_estimator_gradient import BaseEstimatorGradient +from .base.base_qgt import BaseQGT +from .base.base_sampler_gradient import BaseSamplerGradient +from .base.estimator_gradient_result import EstimatorGradientResult +from .finite_diff.finite_diff_estimator_gradient import FiniteDiffEstimatorGradient +from .finite_diff.finite_diff_sampler_gradient import FiniteDiffSamplerGradient +from .lin_comb.lin_comb_estimator_gradient import DerivativeType, LinCombEstimatorGradient +from .lin_comb.lin_comb_qgt import LinCombQGT +from .lin_comb.lin_comb_sampler_gradient import LinCombSamplerGradient +from .param_shift.param_shift_estimator_gradient import ParamShiftEstimatorGradient +from .param_shift.param_shift_sampler_gradient import ParamShiftSamplerGradient from .qfi import QFI from .qfi_result import QFIResult -from .qgt_result import QGTResult -from .sampler_gradient_result import SamplerGradientResult -from .spsa_estimator_gradient import SPSAEstimatorGradient -from .spsa_sampler_gradient import SPSASamplerGradient -from .reverse_gradient.reverse_gradient import ReverseEstimatorGradient -from .reverse_gradient.reverse_qgt import ReverseQGT +from .base.qgt_result import QGTResult +from .base.sampler_gradient_result import SamplerGradientResult +from .spsa.spsa_estimator_gradient import SPSAEstimatorGradient +from .spsa.spsa_sampler_gradient import SPSASamplerGradient +from .reverse.reverse_gradient import ReverseEstimatorGradient +from .reverse.reverse_qgt import ReverseQGT __all__ = [ "BaseEstimatorGradient", diff --git a/qiskit/algorithms/gradients/base/__init__.py b/qiskit/algorithms/gradients/base/__init__.py new file mode 100644 index 000000000000..8f5fd2a37f84 --- /dev/null +++ b/qiskit/algorithms/gradients/base/__init__.py @@ -0,0 +1,11 @@ +# This code is part of Qiskit. +# +# (C) Copyright IBM 2022, 2023 +# +# 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. diff --git a/qiskit/algorithms/gradients/base_estimator_gradient.py b/qiskit/algorithms/gradients/base/base_estimator_gradient.py similarity index 99% rename from qiskit/algorithms/gradients/base_estimator_gradient.py rename to qiskit/algorithms/gradients/base/base_estimator_gradient.py index 926797db0a2a..0cbf478fa2ec 100644 --- a/qiskit/algorithms/gradients/base_estimator_gradient.py +++ b/qiskit/algorithms/gradients/base/base_estimator_gradient.py @@ -31,7 +31,7 @@ from qiskit.transpiler.passes import TranslateParameterizedGates from .estimator_gradient_result import EstimatorGradientResult -from .utils import ( +from ..utils import ( DerivativeType, GradientCircuit, _assign_unique_parameters, @@ -39,7 +39,7 @@ _make_gradient_parameter_values, ) -from ..algorithm_job import AlgorithmJob +from ...algorithm_job import AlgorithmJob class BaseEstimatorGradient(ABC): diff --git a/qiskit/algorithms/gradients/base_qgt.py b/qiskit/algorithms/gradients/base/base_qgt.py similarity index 99% rename from qiskit/algorithms/gradients/base_qgt.py rename to qiskit/algorithms/gradients/base/base_qgt.py index ffda914b878a..f2999a8f2bf0 100644 --- a/qiskit/algorithms/gradients/base_qgt.py +++ b/qiskit/algorithms/gradients/base/base_qgt.py @@ -29,7 +29,7 @@ from qiskit.transpiler.passes import TranslateParameterizedGates from .qgt_result import QGTResult -from .utils import ( +from ..utils import ( DerivativeType, GradientCircuit, _assign_unique_parameters, @@ -37,7 +37,7 @@ _make_gradient_parameter_values, ) -from ..algorithm_job import AlgorithmJob +from ...algorithm_job import AlgorithmJob class BaseQGT(ABC): diff --git a/qiskit/algorithms/gradients/base_sampler_gradient.py b/qiskit/algorithms/gradients/base/base_sampler_gradient.py similarity index 99% rename from qiskit/algorithms/gradients/base_sampler_gradient.py rename to qiskit/algorithms/gradients/base/base_sampler_gradient.py index 436a7a0dbe12..b4947365fd5d 100644 --- a/qiskit/algorithms/gradients/base_sampler_gradient.py +++ b/qiskit/algorithms/gradients/base/base_sampler_gradient.py @@ -28,14 +28,14 @@ from qiskit.transpiler.passes import TranslateParameterizedGates from .sampler_gradient_result import SamplerGradientResult -from .utils import ( +from ..utils import ( GradientCircuit, _assign_unique_parameters, _make_gradient_parameters, _make_gradient_parameter_values, ) -from ..algorithm_job import AlgorithmJob +from ...algorithm_job import AlgorithmJob class BaseSamplerGradient(ABC): diff --git a/qiskit/algorithms/gradients/estimator_gradient_result.py b/qiskit/algorithms/gradients/base/estimator_gradient_result.py similarity index 100% rename from qiskit/algorithms/gradients/estimator_gradient_result.py rename to qiskit/algorithms/gradients/base/estimator_gradient_result.py diff --git a/qiskit/algorithms/gradients/qgt_result.py b/qiskit/algorithms/gradients/base/qgt_result.py similarity index 96% rename from qiskit/algorithms/gradients/qgt_result.py rename to qiskit/algorithms/gradients/base/qgt_result.py index 5cb0e7f97c51..f110e1c68381 100644 --- a/qiskit/algorithms/gradients/qgt_result.py +++ b/qiskit/algorithms/gradients/base/qgt_result.py @@ -22,7 +22,7 @@ from qiskit.providers import Options -from .utils import DerivativeType +from ..utils import DerivativeType @dataclass(frozen=True) diff --git a/qiskit/algorithms/gradients/sampler_gradient_result.py b/qiskit/algorithms/gradients/base/sampler_gradient_result.py similarity index 100% rename from qiskit/algorithms/gradients/sampler_gradient_result.py rename to qiskit/algorithms/gradients/base/sampler_gradient_result.py diff --git a/qiskit/algorithms/gradients/finite_diff/__init__.py b/qiskit/algorithms/gradients/finite_diff/__init__.py new file mode 100644 index 000000000000..8f5fd2a37f84 --- /dev/null +++ b/qiskit/algorithms/gradients/finite_diff/__init__.py @@ -0,0 +1,11 @@ +# This code is part of Qiskit. +# +# (C) Copyright IBM 2022, 2023 +# +# 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. diff --git a/qiskit/algorithms/gradients/finite_diff_estimator_gradient.py b/qiskit/algorithms/gradients/finite_diff/finite_diff_estimator_gradient.py similarity index 97% rename from qiskit/algorithms/gradients/finite_diff_estimator_gradient.py rename to qiskit/algorithms/gradients/finite_diff/finite_diff_estimator_gradient.py index f154b99db605..ea1b987c2ff2 100644 --- a/qiskit/algorithms/gradients/finite_diff_estimator_gradient.py +++ b/qiskit/algorithms/gradients/finite_diff/finite_diff_estimator_gradient.py @@ -25,10 +25,10 @@ from qiskit.providers import Options from qiskit.quantum_info.operators.base_operator import BaseOperator -from .base_estimator_gradient import BaseEstimatorGradient -from .estimator_gradient_result import EstimatorGradientResult +from ..base.base_estimator_gradient import BaseEstimatorGradient +from ..base.estimator_gradient_result import EstimatorGradientResult -from ..exceptions import AlgorithmError +from ...exceptions import AlgorithmError class FiniteDiffEstimatorGradient(BaseEstimatorGradient): diff --git a/qiskit/algorithms/gradients/finite_diff_sampler_gradient.py b/qiskit/algorithms/gradients/finite_diff/finite_diff_sampler_gradient.py similarity index 97% rename from qiskit/algorithms/gradients/finite_diff_sampler_gradient.py rename to qiskit/algorithms/gradients/finite_diff/finite_diff_sampler_gradient.py index 11bb2ec38749..bc250286c828 100644 --- a/qiskit/algorithms/gradients/finite_diff_sampler_gradient.py +++ b/qiskit/algorithms/gradients/finite_diff/finite_diff_sampler_gradient.py @@ -23,10 +23,10 @@ from qiskit.primitives import BaseSampler from qiskit.providers import Options -from .base_sampler_gradient import BaseSamplerGradient -from .sampler_gradient_result import SamplerGradientResult +from ..base.base_sampler_gradient import BaseSamplerGradient +from ..base.sampler_gradient_result import SamplerGradientResult -from ..exceptions import AlgorithmError +from ...exceptions import AlgorithmError class FiniteDiffSamplerGradient(BaseSamplerGradient): diff --git a/qiskit/algorithms/gradients/lin_comb/__init__.py b/qiskit/algorithms/gradients/lin_comb/__init__.py new file mode 100644 index 000000000000..8f5fd2a37f84 --- /dev/null +++ b/qiskit/algorithms/gradients/lin_comb/__init__.py @@ -0,0 +1,11 @@ +# This code is part of Qiskit. +# +# (C) Copyright IBM 2022, 2023 +# +# 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. diff --git a/qiskit/algorithms/gradients/lin_comb_estimator_gradient.py b/qiskit/algorithms/gradients/lin_comb/lin_comb_estimator_gradient.py similarity index 96% rename from qiskit/algorithms/gradients/lin_comb_estimator_gradient.py rename to qiskit/algorithms/gradients/lin_comb/lin_comb_estimator_gradient.py index 9edb15df0572..93deb48b5820 100644 --- a/qiskit/algorithms/gradients/lin_comb_estimator_gradient.py +++ b/qiskit/algorithms/gradients/lin_comb/lin_comb_estimator_gradient.py @@ -26,11 +26,11 @@ from qiskit.providers import Options from qiskit.quantum_info.operators.base_operator import BaseOperator -from .base_estimator_gradient import BaseEstimatorGradient -from .estimator_gradient_result import EstimatorGradientResult -from .utils import DerivativeType, _make_lin_comb_gradient_circuit, _make_lin_comb_observables +from ..base.base_estimator_gradient import BaseEstimatorGradient +from ..base.estimator_gradient_result import EstimatorGradientResult +from ..utils import DerivativeType, _make_lin_comb_gradient_circuit, _make_lin_comb_observables -from ..exceptions import AlgorithmError +from ...exceptions import AlgorithmError class LinCombEstimatorGradient(BaseEstimatorGradient): diff --git a/qiskit/algorithms/gradients/lin_comb_qgt.py b/qiskit/algorithms/gradients/lin_comb/lin_comb_qgt.py similarity index 97% rename from qiskit/algorithms/gradients/lin_comb_qgt.py rename to qiskit/algorithms/gradients/lin_comb/lin_comb_qgt.py index d84a4eb6f11f..0a9e05a9344a 100644 --- a/qiskit/algorithms/gradients/lin_comb_qgt.py +++ b/qiskit/algorithms/gradients/lin_comb/lin_comb_qgt.py @@ -25,12 +25,12 @@ from qiskit.providers import Options from qiskit.quantum_info import SparsePauliOp -from .base_qgt import BaseQGT +from ..base.base_qgt import BaseQGT from .lin_comb_estimator_gradient import LinCombEstimatorGradient -from .qgt_result import QGTResult -from .utils import DerivativeType, _make_lin_comb_qgt_circuit, _make_lin_comb_observables +from ..base.qgt_result import QGTResult +from ..utils import DerivativeType, _make_lin_comb_qgt_circuit, _make_lin_comb_observables -from ..exceptions import AlgorithmError +from ...exceptions import AlgorithmError class LinCombQGT(BaseQGT): diff --git a/qiskit/algorithms/gradients/lin_comb_sampler_gradient.py b/qiskit/algorithms/gradients/lin_comb/lin_comb_sampler_gradient.py similarity index 96% rename from qiskit/algorithms/gradients/lin_comb_sampler_gradient.py rename to qiskit/algorithms/gradients/lin_comb/lin_comb_sampler_gradient.py index 41bd9488d1b9..759e77d460bb 100644 --- a/qiskit/algorithms/gradients/lin_comb_sampler_gradient.py +++ b/qiskit/algorithms/gradients/lin_comb/lin_comb_sampler_gradient.py @@ -23,11 +23,11 @@ from qiskit.primitives.utils import _circuit_key from qiskit.providers import Options -from .base_sampler_gradient import BaseSamplerGradient -from .sampler_gradient_result import SamplerGradientResult -from .utils import _make_lin_comb_gradient_circuit +from ..base.base_sampler_gradient import BaseSamplerGradient +from ..base.sampler_gradient_result import SamplerGradientResult +from ..utils import _make_lin_comb_gradient_circuit -from ..exceptions import AlgorithmError +from ...exceptions import AlgorithmError class LinCombSamplerGradient(BaseSamplerGradient): diff --git a/qiskit/algorithms/gradients/param_shift/__init__.py b/qiskit/algorithms/gradients/param_shift/__init__.py new file mode 100644 index 000000000000..8f5fd2a37f84 --- /dev/null +++ b/qiskit/algorithms/gradients/param_shift/__init__.py @@ -0,0 +1,11 @@ +# This code is part of Qiskit. +# +# (C) Copyright IBM 2022, 2023 +# +# 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. diff --git a/qiskit/algorithms/gradients/param_shift_estimator_gradient.py b/qiskit/algorithms/gradients/param_shift/param_shift_estimator_gradient.py similarity index 94% rename from qiskit/algorithms/gradients/param_shift_estimator_gradient.py rename to qiskit/algorithms/gradients/param_shift/param_shift_estimator_gradient.py index 892441492669..ef334a291e6e 100644 --- a/qiskit/algorithms/gradients/param_shift_estimator_gradient.py +++ b/qiskit/algorithms/gradients/param_shift/param_shift_estimator_gradient.py @@ -21,11 +21,11 @@ from qiskit.opflow import PauliSumOp from qiskit.quantum_info.operators.base_operator import BaseOperator -from .base_estimator_gradient import BaseEstimatorGradient -from .estimator_gradient_result import EstimatorGradientResult -from .utils import _make_param_shift_parameter_values +from ..base.base_estimator_gradient import BaseEstimatorGradient +from ..base.estimator_gradient_result import EstimatorGradientResult +from ..utils import _make_param_shift_parameter_values -from ..exceptions import AlgorithmError +from ...exceptions import AlgorithmError class ParamShiftEstimatorGradient(BaseEstimatorGradient): diff --git a/qiskit/algorithms/gradients/param_shift_sampler_gradient.py b/qiskit/algorithms/gradients/param_shift/param_shift_sampler_gradient.py similarity index 94% rename from qiskit/algorithms/gradients/param_shift_sampler_gradient.py rename to qiskit/algorithms/gradients/param_shift/param_shift_sampler_gradient.py index b3d474c24f8b..642f4b002cd9 100644 --- a/qiskit/algorithms/gradients/param_shift_sampler_gradient.py +++ b/qiskit/algorithms/gradients/param_shift/param_shift_sampler_gradient.py @@ -20,11 +20,11 @@ from qiskit.circuit import Parameter, QuantumCircuit -from .base_sampler_gradient import BaseSamplerGradient -from .sampler_gradient_result import SamplerGradientResult -from .utils import _make_param_shift_parameter_values +from ..base.base_sampler_gradient import BaseSamplerGradient +from ..base.sampler_gradient_result import SamplerGradientResult +from ..utils import _make_param_shift_parameter_values -from ..exceptions import AlgorithmError +from ...exceptions import AlgorithmError class ParamShiftSamplerGradient(BaseSamplerGradient): diff --git a/qiskit/algorithms/gradients/qfi.py b/qiskit/algorithms/gradients/qfi.py index 1dcaa70d31e9..94aa86fde56a 100644 --- a/qiskit/algorithms/gradients/qfi.py +++ b/qiskit/algorithms/gradients/qfi.py @@ -22,8 +22,8 @@ from qiskit.circuit import Parameter, QuantumCircuit from qiskit.providers import Options -from .base_qgt import BaseQGT -from .lin_comb_estimator_gradient import DerivativeType +from .base.base_qgt import BaseQGT +from .lin_comb.lin_comb_estimator_gradient import DerivativeType from .qfi_result import QFIResult from ..algorithm_job import AlgorithmJob diff --git a/qiskit/algorithms/gradients/reverse_gradient/__init__.py b/qiskit/algorithms/gradients/reverse/__init__.py similarity index 100% rename from qiskit/algorithms/gradients/reverse_gradient/__init__.py rename to qiskit/algorithms/gradients/reverse/__init__.py diff --git a/qiskit/algorithms/gradients/reverse_gradient/bind.py b/qiskit/algorithms/gradients/reverse/bind.py similarity index 100% rename from qiskit/algorithms/gradients/reverse_gradient/bind.py rename to qiskit/algorithms/gradients/reverse/bind.py diff --git a/qiskit/algorithms/gradients/reverse_gradient/derive_circuit.py b/qiskit/algorithms/gradients/reverse/derive_circuit.py similarity index 100% rename from qiskit/algorithms/gradients/reverse_gradient/derive_circuit.py rename to qiskit/algorithms/gradients/reverse/derive_circuit.py diff --git a/qiskit/algorithms/gradients/reverse_gradient/reverse_gradient.py b/qiskit/algorithms/gradients/reverse/reverse_gradient.py similarity index 98% rename from qiskit/algorithms/gradients/reverse_gradient/reverse_gradient.py rename to qiskit/algorithms/gradients/reverse/reverse_gradient.py index e8d5f1f39618..c3bf8005d377 100644 --- a/qiskit/algorithms/gradients/reverse_gradient/reverse_gradient.py +++ b/qiskit/algorithms/gradients/reverse/reverse_gradient.py @@ -28,8 +28,8 @@ from .derive_circuit import derive_circuit from .split_circuits import split -from ..base_estimator_gradient import BaseEstimatorGradient -from ..estimator_gradient_result import EstimatorGradientResult +from ..base.base_estimator_gradient import BaseEstimatorGradient +from ..base.estimator_gradient_result import EstimatorGradientResult from ..utils import DerivativeType logger = logging.getLogger(__name__) diff --git a/qiskit/algorithms/gradients/reverse_gradient/reverse_qgt.py b/qiskit/algorithms/gradients/reverse/reverse_qgt.py similarity index 99% rename from qiskit/algorithms/gradients/reverse_gradient/reverse_qgt.py rename to qiskit/algorithms/gradients/reverse/reverse_qgt.py index 60e8c3cde2d6..0b845ee96961 100644 --- a/qiskit/algorithms/gradients/reverse_gradient/reverse_qgt.py +++ b/qiskit/algorithms/gradients/reverse/reverse_qgt.py @@ -23,8 +23,8 @@ from qiskit.providers import Options from qiskit.primitives import Estimator -from ..base_qgt import BaseQGT -from ..qgt_result import QGTResult +from ..base.base_qgt import BaseQGT +from ..base.qgt_result import QGTResult from ..utils import DerivativeType from .split_circuits import split diff --git a/qiskit/algorithms/gradients/reverse_gradient/split_circuits.py b/qiskit/algorithms/gradients/reverse/split_circuits.py similarity index 100% rename from qiskit/algorithms/gradients/reverse_gradient/split_circuits.py rename to qiskit/algorithms/gradients/reverse/split_circuits.py diff --git a/qiskit/algorithms/gradients/spsa/__init__.py b/qiskit/algorithms/gradients/spsa/__init__.py new file mode 100644 index 000000000000..8f5fd2a37f84 --- /dev/null +++ b/qiskit/algorithms/gradients/spsa/__init__.py @@ -0,0 +1,11 @@ +# This code is part of Qiskit. +# +# (C) Copyright IBM 2022, 2023 +# +# 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. diff --git a/qiskit/algorithms/gradients/spsa_estimator_gradient.py b/qiskit/algorithms/gradients/spsa/spsa_estimator_gradient.py similarity index 96% rename from qiskit/algorithms/gradients/spsa_estimator_gradient.py rename to qiskit/algorithms/gradients/spsa/spsa_estimator_gradient.py index bb6868e12545..021bcb5803f0 100644 --- a/qiskit/algorithms/gradients/spsa_estimator_gradient.py +++ b/qiskit/algorithms/gradients/spsa/spsa_estimator_gradient.py @@ -24,10 +24,10 @@ from qiskit.providers import Options from qiskit.quantum_info.operators.base_operator import BaseOperator -from .base_estimator_gradient import BaseEstimatorGradient -from .estimator_gradient_result import EstimatorGradientResult +from ..base.base_estimator_gradient import BaseEstimatorGradient +from ..base.estimator_gradient_result import EstimatorGradientResult -from ..exceptions import AlgorithmError +from ...exceptions import AlgorithmError class SPSAEstimatorGradient(BaseEstimatorGradient): diff --git a/qiskit/algorithms/gradients/spsa_sampler_gradient.py b/qiskit/algorithms/gradients/spsa/spsa_sampler_gradient.py similarity index 97% rename from qiskit/algorithms/gradients/spsa_sampler_gradient.py rename to qiskit/algorithms/gradients/spsa/spsa_sampler_gradient.py index 5ffebcc1af60..be23274d7ebc 100644 --- a/qiskit/algorithms/gradients/spsa_sampler_gradient.py +++ b/qiskit/algorithms/gradients/spsa/spsa_sampler_gradient.py @@ -23,10 +23,10 @@ from qiskit.primitives import BaseSampler from qiskit.providers import Options -from .base_sampler_gradient import BaseSamplerGradient -from .sampler_gradient_result import SamplerGradientResult +from ..base.base_sampler_gradient import BaseSamplerGradient +from ..base.sampler_gradient_result import SamplerGradientResult -from ..exceptions import AlgorithmError +from ...exceptions import AlgorithmError class SPSASamplerGradient(BaseSamplerGradient):