About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
CircuitEvolver
class CircuitEvolver(evolution_state, circuit, dt)
Bases: Evolver
A time-evolution engine based on quantum circuits.
This algorithm performs time-evolution by means of successively applying a quantum circuit corresponding to a single Trotter step to its internal state. More specifically, it builds out a tensor network in the CircuitState
. As required by the DynamicMPF
algorithm, it tracks a left- and right-hand side of the time-evolution for computing the overlap of two circuits. Depending on conjugate
, an instance of this engine will apply the quantum gates of its template circuit to the corresponding side (see quimb_circuit
for more details).
Initialize a CircuitEvolver
instance.
Parameters
- evolution_state (CircuitState) – a reference to the time-evolution state.
- circuit (QuantumCircuit) – the template circuit encoding the time-evolution of a single Trotter step. This circuit must be parameterized (see
Parameter
in place of the Trotter methods time step. This parameter must be nameddt
. - dt (float) – the time step that will be used and later bound to the
Parameter
of thecircuit
object.
Attributes
conjugate
Returns whether this time-evolver instance acts on the right-hand side.
evolved_time
Returns the current evolution time.
evolution_state
The time-evolution state (see also DynamicMPF.evolution_state
).
circuit
The parameterized QuantumCircuit
describing the Trotter step.
Methods
step
step()
Perform a single time step of TEBD.
This will apply the gates of the circuit
to the evolution_state
. If conjugate
is True
, it applies to CircuitState.lhs
, otherwise to CircuitState.rhs
.
Return type
None
Was this page helpful?
Report a bug or request content on GitHub.