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.

ImaginaryMcLachlanPrinciple

class qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple(qgt=None, gradient=None)

GitHub

Bases: ImaginaryVariationalPrinciple

Class for an Imaginary McLachlan’s Variational Principle. It aims to minimize the distance between both sides of the Wick-rotated Schrödinger equation with a quantum state given as a parametrized trial state. The principle leads to a system of linear equations handled by a linear solver. The imaginary variant means that we consider imaginary time dynamics.

Parameters

  • qgt (BaseQGT | None) – Instance of a the GQT class used to compute the QFI. If None provided, LinCombQGT is used.
  • gradient (BaseEstimatorGradient | None) – Instance of a class used to compute the state gradient. If None provided, LinCombEstimatorGradient is used.

Raises

AlgorithmError – If the gradient instance does not contain an estimator.


Methods

evolution_gradient

evolution_gradient(hamiltonian, ansatz, param_values, gradient_params=None)

Calculates an evolution gradient according to the rules of this variational principle.

Parameters

  • hamiltonian (BaseOperator) – Operator used for Variational Quantum Time Evolution.
  • ansatz (QuantumCircuit) – Quantum state in the form of a parametrized quantum circuit.
  • param_values (Sequence[float]) – Values of parameters to be bound.
  • gradient_params (Sequence[Parameter] | None) – List of parameters with respect to which gradients should be computed. If None given, gradients w.r.t. all parameters will be computed.

Returns

An evolution gradient.

Raises

AlgorithmError – If a gradient job fails.

Return type

np.ndarray

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