# TimeEvolutionProblem

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

Bases: `object`

(opens in a new tab)

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

### 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**

### 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(opens in a new tab)[Parameter, complex(opens in a new tab)] | None

**Parameters**

**hamiltonian**(*BaseOperator |**PauliSumOp*) – The Hamiltonian under which to evolve the system.**time**(*float*(opens in a new tab)) – 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*(opens in a new tab)) – 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*(opens in a new tab)*] | 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**(opens in a new tab) – 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**(opens in a new tab) – If Hamiltonian parameters cannot be bound with data provided.