TEBDEvolver
class TEBDEvolver(*args, dt=0.1, **kwargs)
Bases: TEBDEngine
, Evolver
A TEBD algorithm for evolving an internal MPO.
As discussed in more detail in tenpy_tebd
, this extension of TeNPy’s existing TEBDEngine
implementation time-evolves an internal matrix product operator (MPO) rather than the conventional matrix product state (MPS).
More concretely, the internal object is expected to be an MPOState
.
The API of this class is actually much larger than shown here, because it inherits additional methods from the TEBDEngine
base class. However, we do not duplicate that API here.
Initialize a TEBDEvolver
instance.
Parameters
- args – any positional arguments will be forwarded to the
TEBDEngine
constructor. - dt (float) – the time step to be used by this time-evolution instance.
- kwargs – any further keyword arguments will be forwarded to the
TEBDEngine
constructor.
Attributes
conjugate
Returns whether this time-evolver instance acts on the right-hand side.
evolved_time
Returns the current evolution time.
dt
The time step to be used by this time-evolution instance.
Methods
step
step()
Perform a single time step of TEBD.
This essentially calls run_evolution()
and forwards the value of dt
that was provided upon construction.
Return type
None
update_bond
update_bond(i, U_bond)
Update the specified bond.
Overwrites the original (MPS-based) implementation to support an MPO as the shared state.
Parameters
Returns
The truncation error.
Return type