About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
RealMcLachlanPrinciple
class qiskit.algorithms.time_evolvers.variational.RealMcLachlanPrinciple(qgt=None, gradient=None)
Bases: RealVariationalPrinciple
Class for a Real McLachlan’s Variational Principle. It aims to minimize the distance between both sides of the 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 real variant means that we consider real 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.