VariationalPrinciple
class qiskit.algorithms.time_evolvers.variational.VariationalPrinciple(qgt, gradient)
Bases: ABC
A Variational Principle class. It determines the time propagation of parameters in a quantum state provided as a parametrized quantum circuit (ansatz).
qgt
gradient
Parameters
- qgt (BaseQGT) – Instance of a class used to compute the GQT.
- gradient (BaseEstimatorGradient) – Instance of a class used to compute the state gradient.
Methods
evolution_gradient
abstract 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.
Return type
np.ndarray
metric_tensor
metric_tensor(ansatz, param_values)
Calculates a metric tensor according to the rules of this variational principle.
Parameters
- ansatz (QuantumCircuit) – Quantum state in the form of a parametrized quantum circuit.
- param_values (Sequence[float]) – Values of parameters to be bound.
Returns
Metric tensor.
Raises
AlgorithmError – If a QFI job fails.
Return type
Was this page helpful?
Report a bug or request content on GitHub.