Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

VarQITE

class qiskit.algorithms.VarQITE(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)

GitHub

Bases: VarQTE, ImaginaryTimeEvolver

Variational Quantum Imaginary 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 the ansatz.
  • variational_principle (ImaginaryVariationalPrinciple | None) – Variational Principle to be used. Defaults to ImaginaryMcLachlanPrinciple.
  • 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 and b to solve Ax=b and returns x. If None, the default np.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 the ForwardEulerSolver.
  • 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

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 the evolution_problem.

Return type

VarQTEResult

Was this page helpful?
Report a bug or request content on GitHub.