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.

TrotterQRTE

class TrotterQRTE(product_formula=None, expectation=None, quantum_instance=None)

GitHub

Bases: qiskit.algorithms.evolvers.real_evolver.RealEvolver

Pending deprecation: Quantum Real Time Evolution using Trotterization.

The TrotterQRTE class has been superseded by the qiskit.algorithms.time_evolvers.trotterization.TrotterQRTE class. This class will be deprecated in a future release and subsequently removed after that.

Type of Trotterization is defined by a ProductFormula provided.

Examples:

from qiskit.opflow import X, Z, Zero
from qiskit.algorithms import EvolutionProblem, TrotterQRTE
from qiskit import BasicAer
from qiskit.utils import QuantumInstance
 
operator = X + Z
initial_state = Zero
time = 1
evolution_problem = EvolutionProblem(operator, 1, initial_state)
# LieTrotter with 1 rep
backend = BasicAer.get_backend("statevector_simulator")
quantum_instance = QuantumInstance(backend=backend)
trotter_qrte = TrotterQRTE(quantum_instance=quantum_instance)
evolved_state = trotter_qrte.evolve(evolution_problem).evolved_state

Parameters

  • product_formula (Optional[ProductFormula]) – A Lie-Trotter-Suzuki product formula. The default is the Lie-Trotter first order product formula with a single repetition.
  • expectation (Optional[ExpectationBase]) – An instance of ExpectationBase which defines a method for calculating expectation values of EvolutionProblem.aux_operators.
  • quantum_instance (Union[Backend, QuantumInstance, None]) – A quantum instance used for calculating expectation values of EvolutionProblem.aux_operators.

Methods

evolve

TrotterQRTE.evolve(evolution_problem)

Evolves a quantum state for a given time using the Trotterization method based on a product formula provided. The result is provided in the form of a quantum circuit. If auxiliary operators are included in the evolution_problem, they are evaluated on an evolved state using a backend provided.

Note

Time-dependent Hamiltonians are not yet supported.

Parameters

evolution_problem (EvolutionProblem) – Instance defining evolution problem. For the included Hamiltonian, PauliOp, SummedOp or PauliSumOp are supported by TrotterQRTE.

Return type

EvolutionResult

Returns

Evolution result that includes an evolved state as a quantum circuit and, optionally, auxiliary operators evaluated for a resulting state on a backend.

Raises

  • ValueError – If t_param is not set to None in the EvolutionProblem (feature not currently supported).
  • ValueError – If the initial_state is not provided in the EvolutionProblem.

supports_aux_operators

classmethod TrotterQRTE.supports_aux_operators()

Whether computing the expectation value of auxiliary operators is supported.

Return type

bool

Returns

True if aux_operators expectations in the EvolutionProblem can be evaluated, False

otherwise.


Attributes

expectation

Returns an expectation used in the algorithm.

Return type

Optional[ExpectationBase]

product_formula

Returns a product formula used in the algorithm.

Return type

ProductFormula

quantum_instance

Returns a quantum instance used in the algorithm.

Return type

Optional[QuantumInstance]

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