|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"""Interface for Quantum Imaginary Time Evolution."""
|
|
|
|
from abc import ABC, abstractmethod
|
|
|
|
from qiskit.utils.deprecation import deprecate_func
|
|
from .evolution_problem import EvolutionProblem
|
|
from .evolution_result import EvolutionResult
|
|
|
|
|
|
class ImaginaryEvolver(ABC):
|
|
"""Deprecated: Interface for Quantum Imaginary Time Evolution.
|
|
|
|
The ImaginaryEvolver interface has been superseded by the
|
|
:class:`qiskit.algorithms.time_evolvers.ImaginaryTimeEvolver` interface.
|
|
This interface will be deprecated in a future release and subsequently
|
|
removed after that.
|
|
|
|
"""
|
|
|
|
@deprecate_func(
|
|
additional_msg=(
|
|
"Instead, use the interface ``qiskit.algorithms.time_evolvers.ImaginaryTimeEvolver``. "
|
|
"See https://qisk.it/algo_migration for a migration guide."
|
|
),
|
|
since="0.24.0",
|
|
)
|
|
def __init__(self) -> None:
|
|
pass
|
|
|
|
@abstractmethod
|
|
def evolve(self, evolution_problem: EvolutionProblem) -> EvolutionResult:
|
|
r"""Perform imaginary time evolution :math:`\exp(-\tau H)|\Psi\rangle`.
|
|
|
|
Evolves an initial state :math:`|\Psi\rangle` for an imaginary time :math:`\tau`
|
|
under a Hamiltonian :math:`H`, as provided in the ``evolution_problem``.
|
|
|
|
Args:
|
|
evolution_problem: The definition of the evolution problem.
|
|
|
|
Returns:
|
|
Evolution result which includes an evolved quantum state.
|
|
"""
|
|
raise NotImplementedError()
|
|
|