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.

TimeEvolutionProblem

class qiskit.algorithms.TimeEvolutionProblem(hamiltonian, time, initial_state=None, aux_operators=None, truncation_threshold=1e-12, t_param=None, param_value_map=None)

GitHub

Bases: object

Time evolution problem class.

This class is the input to time evolution algorithms and must contain information on the total evolution time, a quantum state to be evolved and under which Hamiltonian the state is evolved.

hamiltonian

The Hamiltonian under which to evolve the system.

Type

BaseOperator | PauliSumOp

initial_state

The quantum state to be evolved for methods like Trotterization. For variational time evolutions, where the evolution happens in an ansatz, this argument is not required.

Type

QuantumCircuit | Statevector | None

aux_operators

Optional list of auxiliary operators to be evaluated with the evolved initial_state and their expectation values returned.

Type

ListOrDict[BaseOperator | PauliSumOp] | None

truncation_threshold

Defines a threshold under which values can be assumed to be 0. Used when aux_operators is provided.

Type

float

t_param

Time parameter in case of a time-dependent Hamiltonian. This free parameter must be within the hamiltonian.

Type

Parameter | None

param_value_map

Maps free parameters in the problem to values. Depending on the algorithm, it might refer to e.g. a Hamiltonian or an initial state.

Type

dict[Parameter, complex] | None

Parameters

  • hamiltonian (BaseOperator | PauliSumOp) – The Hamiltonian under which to evolve the system.
  • time (float) – Total time of evolution.
  • initial_state (QuantumCircuit |Statevector | None) – The quantum state to be evolved for methods like Trotterization. For variational time evolutions, where the evolution happens in an ansatz, this argument is not required.
  • aux_operators (ListOrDict[BaseOperator | PauliSumOp] | None) – Optional list of auxiliary operators to be evaluated with the evolved initial_state and their expectation values returned.
  • truncation_threshold (float) – Defines a threshold under which values can be assumed to be 0. Used when aux_operators is provided.
  • t_param (Parameter | None) – Time parameter in case of a time-dependent Hamiltonian. This free parameter must be within the hamiltonian.
  • param_value_map (Mapping[Parameter, complex] | None) – Maps free parameters in the problem to values. Depending on the algorithm, it might refer to e.g. a Hamiltonian or an initial state.

Raises

ValueError – If non-positive time of evolution is provided.


Attributes

time

Returns time.


Methods

validate_params

validate_params()

Checks if all parameters present in the Hamiltonian are also present in the dictionary that maps them to values.

Raises

ValueError – If Hamiltonian parameters cannot be bound with data provided.

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