VarQRTE#
- class qiskit.algorithms.VarQRTE(ansatz, initial_parameters, variational_principle=None, estimator=None, ode_solver=<class 'qiskit.algorithms.time_evolvers.variational.solvers.ode.forward_euler_solver.ForwardEulerSolver'>, lse_solver=None, num_timesteps=None, imag_part_tol=1e-07, num_instability_tol=1e-07)[source]#
Bases:
VarQTE
,RealTimeEvolver
Variational Quantum Real Time Evolution algorithm.
- Parameters:
ansatz (QuantumCircuit) -- Ansatz to be used for variational time evolution.
initial_parameters (Mapping[Parameter, float] | Sequence[float]) -- Initial parameter values for an ansatz.
variational_principle (RealVariationalPrinciple | None) -- Variational Principle to be used. Defaults to
RealMcLachlanPrinciple
.estimator (BaseEstimator | None) -- An estimator primitive used for calculating expectation values of TimeEvolutionProblem.aux_operators.
ode_solver (Type[OdeSolver] | str) -- ODE solver callable that implements a SciPy
OdeSolver
interface or a string indicating a valid method offered by SciPy.lse_solver (Callable[[np.ndarray, np.ndarray], np.ndarray] | None) -- Linear system of equations solver callable. It accepts
A
andb
to solveAx=b
and returnsx
. IfNone
, the defaultnp.linalg.lstsq
solver is used.num_timesteps (int | None) -- The number of timesteps to take. If
None
, it is automatically selected to achieve a timestep of approximately 0.01. Only relevant in case of theForwardEulerSolver
.imag_part_tol (float) -- Allowed value of an imaginary part that can be neglected if no imaginary part is expected.
num_instability_tol (float) -- The amount of negative value that is allowed to be rounded up to 0 for quantities that are expected to be non-negative.
Methods
- evolve(evolution_problem)#
Apply Variational Quantum Time Evolution to the given operator.
- Parameters:
evolution_problem (TimeEvolutionProblem) -- Instance defining an evolution problem.
- Returns:
Result of the evolution which includes a quantum circuit with bound parameters as an evolved state and, if provided, observables evaluated on the evolved state.
- Raises:
ValueError -- If
initial_state
is included in theevolution_problem
.- Return type:
VarQTEResult