---
title: EvolutionProblem (v0.46)
description: API reference for qiskit.algorithms.EvolutionProblem in qiskit v0.46
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/0.46/qiskit.algorithms.EvolutionProblem
---

# EvolutionProblem

*class* `qiskit.algorithms.EvolutionProblem(hamiltonian, time, initial_state=None, aux_operators=None, truncation_threshold=1e-12, t_param=None, param_value_dict=None)`

[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.46/qiskit/algorithms/evolvers/evolution_problem.py)

Bases: [`object`](https://docs.python.org/3/library/functions.html#object)

Deprecated: Evolution problem class.

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

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.

> **Deprecated since version 0.24.0**
>
> The class `qiskit.algorithms.evolvers.evolution_problem.EvolutionProblem` is deprecated as of qiskit-terra 0.24.0. It will be removed no earlier than 3 months after the release date. Instead, use the class `qiskit.algorithms.time_evolvers.TimeEvolutionProblem`. See [https://qisk.it/algo\_migration](https://qisk.it/algo_migration) for a migration guide.

**Parameters**

- **hamiltonian** ([*OperatorBase*](/docs/api/qiskit/0.46/qiskit.opflow.OperatorBase "qiskit.opflow.OperatorBase")) – The Hamiltonian under which to evolve the system.
- **time** ([*float*](https://docs.python.org/3/library/functions.html#float)) – Total time of evolution.
- **initial\_state** ([*StateFn*](/docs/api/qiskit/0.46/qiskit.opflow.state_fns.StateFn "qiskit.opflow.state_fns.StateFn")  *|*[*QuantumCircuit*](/docs/api/qiskit/0.46/qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") *| 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\[*[*OperatorBase*](/docs/api/qiskit/0.46/qiskit.opflow.OperatorBase "qiskit.opflow.OperatorBase")*] | None*) – Optional list of auxiliary operators to be evaluated with the evolved `initial_state` and their expectation values returned.
- **truncation\_threshold** ([*float*](https://docs.python.org/3/library/functions.html#float)) – Defines a threshold under which values can be assumed to be 0. Used when `aux_operators` is provided.
- **t\_param** ([*Parameter*](/docs/api/qiskit/0.46/qiskit.circuit.Parameter "qiskit.circuit.Parameter") *| None*) – Time parameter in case of a time-dependent Hamiltonian. This free parameter must be within the `hamiltonian`.
- **param\_value\_dict** ([*dict*](https://docs.python.org/3/library/stdtypes.html#dict)*\[*[*Parameter*](/docs/api/qiskit/0.46/qiskit.circuit.Parameter "qiskit.circuit.Parameter")*,* [*complex*](https://docs.python.org/3/library/functions.html#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**](https://docs.python.org/3/library/exceptions.html#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**](https://docs.python.org/3/library/exceptions.html#ValueError) – If Hamiltonian parameters cannot be bound with data provided.
