- class TrotterQRTE(product_formula=None, estimator=None, num_timesteps=1)#
Quantum Real Time Evolution using Trotterization.
The type of Trotterization is defined by the
ProductFormulaprovided to the algorithm.
from qiskit.quantum_info import Pauli, SparsePauliOp from qiskit import QuantumCircuit from qiskit_algorithms import TrotterQRTE, TimeEvolutionProblem from qiskit.primitives import Estimator operator = SparsePauliOp([Pauli("X"), Pauli("Z")]) initial_state = QuantumCircuit(1) time = 1 evolution_problem = TimeEvolutionProblem(operator, time, initial_state) # LieTrotter with 1 rep estimator = Estimator() trotter_qrte = TrotterQRTE(estimator=estimator) evolved_state = trotter_qrte.evolve(evolution_problem).evolved_state
product_formula (ProductFormula | None) – A Lie-Trotter-Suzuki product formula. If
Noneprovided (default), the
LieTrotterfirst order product formula with a single repetition is used.
repsshould be 1 to obtain a number of time-steps equal to
num_timestepsand an evaluation of
TimeEvolutionProblem.aux_operatorsat every time-step. If
repsis larger than 1, the true number of time-steps will be
num_timesteps * reps.
num_timesteps (int) – The number of time-steps the full evolution time is divided into (repetitions of
estimator (BaseEstimator | None) – An estimator primitive used for calculating expectation values of
Returns an estimator.
Returns the number of timesteps.
Returns a product formula.
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 the
init_stateand on the evolved state at every step (
num_timestepstimes) using an estimator primitive provided.
evolution_problem (TimeEvolutionProblem) – Instance defining evolution problem. For the included Hamiltonian,
SparsePauliOpare supported by TrotterQRTE.
Evolution result that includes an evolved state as a quantum circuit and, optionally, auxiliary operators evaluated for a resulting state on an estimator primitive.
ValueError – If
t_paramis not set to
TimeEvolutionProblem(feature not currently supported).
ValueError – If
aux_operatorsprovided in the time evolution problem but no estimator provided to the algorithm.
ValueError – If the
initial_stateis not provided in the
ValueError – If an unsupported Hamiltonian type is provided.
- Return type: