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.

VariationalPrinciple

class VariationalPrinciple(qgt, gradient)

GitHub

Bases: abc.ABC

A Variational Principle class. It determines the time propagation of parameters in a quantum state provided as a parametrized quantum circuit (ansatz).

qgt

Instance of a class used to compute the GQT.

Type

BaseQGT

gradient

Instance of a class used to compute the state gradient.

Type

BaseEstimatorGradient

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 Defined Here

evolution_gradient

abstract VariationalPrinciple.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.

metric_tensor

VariationalPrinciple.metric_tensor(ansatz, param_values)

Calculates a metric tensor according to the rules of this variational principle.

Parameters

  • ansatz – Quantum state in the form of a parametrized quantum circuit.
  • param_values – Values of parameters to be bound.

Returns

Metric tensor.

Raises

AlgorithmError – If a QFI job fails.

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