full name: tenpy.networks.mpo
Matrix product operator, finite (MPO) or infinite (iMPO).
Stores partial contractions of \(<bra|H|ket>\) for an MPO H.
Representation of an MPO by a graph, based on a ‘finite state machine’.
Replaces entries representing operators in a grid of
W_II approx to exp(t H) from MPO parts (A, B, C, D).
Matrix product operator (MPO).
An MPO is the generalization of an
MPS to operators. Graphically:
| ^ ^ ^ | | | | | ->- W ->- W ->- W ->- ... | | | | | ^ ^ ^
So each ‘matrix’ has two physical legs
p, p* instead of just one,
i.e. the entries of the ‘matrices’ are local operators.
Valid boundary conditions of an MPO are the same as for an MPS
'finite' | 'segment' | 'infinite').
(In general, you can view the MPO as an MPS with larger physical space and bring it into
canoncial form. However, unlike for an MPS, this doesn’t simplify calculations.
Thus, an MPO has no form.)
We use the following label convention for the W (where arrows indicate qconj):
| p* | ^ | | | wL ->- W ->- wR | | | ^ | p
If an MPO describes a sum of local terms (e.g. most Hamiltonians), some bond indices correspond to ‘only identities to the left/right’. We store these indices in IdL and IdR (if there are such indices).
Similar as for the MPS, a bond index
i is left of site i,
i.e. between sites