LayerwiseEvolver¶
- class LayerwiseEvolver(evolution_state, layers, *args, **kwargs)[source]¶
Bases:
TEBDEvolver
A special case of the
TEBDEvolver
based on layer-wise evolution models.As also explained in
quimb_layers
, this implementation extracts the alternating even/odd bond updates implemented inside of the originalquimb.tensor.TEBD
to become the end users responsibility. It does so, by replacing the single Hamiltonian provided to theTEBDEvolver
instance with a sequence ofLayerModel
instances. Every single instance of these encodes a single layer of interactions. These should enforce the alternating updates of even and odd bonds of the underlying tensor network.The motivation for this more complicated interface is that is provides a lot more flexbility and enables users to define custom Trotter product formulas rather than being limited to the ones implemented by
quimb
directly.Initialize a
LayerwiseEvolver
instance.- Parameters:
evolution_state (quimb_tebd.MPOState) – forwarded to
TEBDEvolver
. Please refer to its documentation for more details.layers (list[LayerModel]) – the list of models describing single layers of interactions. See above as well as the explanations provided in
quimb_layers
.args – any further positional arguments will be forwarded to the
TEBDEvolver
constructor.kwargs – any further keyword arguments will be forwarded to the
TEBDEvolver
constructor.
Attributes
- layers¶
The layers of interactions used to implement the time-evolution.
Methods