TimeEvolutionProblem¶
- class TimeEvolutionProblem(hamiltonian, time, initial_state=None, aux_operators=None, truncation_threshold=1e-12, t_param=None, param_value_map=None)[source]¶
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.
Methods
Checks if all parameters present in the Hamiltonian are also present in the dictionary that maps them to values.
Attributes
- time¶
Returns time.
- Return type
float