qiskit-documentation/docs/api/qiskit/0.42/qiskit.algorithms.time_evol...

49 lines
3.0 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: ImaginaryMcLachlanPrinciple
description: API reference for qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple
---
# ImaginaryMcLachlanPrinciple
<Class id="qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.23/qiskit/algorithms/time_evolvers/variational/variational_principles/imaginary_mc_lachlan_principle.py" signature="ImaginaryMcLachlanPrinciple(qgt=None, gradient=None)" modifiers="class">
Bases: [`qiskit.algorithms.time_evolvers.variational.variational_principles.imaginary_variational_principle.ImaginaryVariationalPrinciple`](qiskit.algorithms.time_evolvers.variational.ImaginaryVariationalPrinciple "qiskit.algorithms.time_evolvers.variational.variational_principles.imaginary_variational_principle.ImaginaryVariationalPrinciple")
Class for an Imaginary McLachlans 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*](qiskit.algorithms.gradients.BaseQGT "qiskit.algorithms.gradients.BaseQGT") *| None*) Instance of a the GQT class used to compute the QFI. If `None` provided, `LinCombQGT` is used.
* **gradient** ([*BaseEstimatorGradient*](qiskit.algorithms.gradients.BaseEstimatorGradient "qiskit.algorithms.gradients.BaseEstimatorGradient") *| None*) Instance of a class used to compute the state gradient. If `None` provided, `LinCombEstimatorGradient` is used.
**Raises**
[**AlgorithmError**](qiskit.algorithms.AlgorithmError "qiskit.algorithms.AlgorithmError") If the gradient instance does not contain an estimator.
## Methods Defined Here
### evolution\_gradient
<Function id="qiskit.algorithms.time_evolvers.variational.ImaginaryMcLachlanPrinciple.evolution_gradient" signature="ImaginaryMcLachlanPrinciple.evolution_gradient(hamiltonian, ansatz, param_values, gradient_params=None)">
Calculates an evolution gradient according to the rules of this variational principle.
**Parameters**
* **hamiltonian** Operator used for Variational Quantum Time Evolution.
* **ansatz** Quantum state in the form of a parametrized quantum circuit.
* **param\_values** Values of parameters to be bound.
* **gradient\_params** 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**](qiskit.algorithms.AlgorithmError "qiskit.algorithms.AlgorithmError") If a gradient job fails.
</Function>
</Class>