mpo
full name: tenpy.networks.mpo
parent module:
tenpy.networks
type: module
Classes
|
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'. |
|
Transfermatrix of a Hamiltonian-like MPO sandwiched between canonicalized MPS. |
Functions
|
Replaces entries representing operators in a grid of |
|
W_II approx to exp(t H) from MPO parts (A, B, C, D). |
Module description
Matrix product operator (MPO).
An MPO is the generalization of an MPS
to operators. Graphically:
| ^ ^ ^
| | | |
| ->- W[0] ->- W[1] ->- W[2] ->- ...
| | | |
| ^ ^ ^
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
(i.e. 'finite' | 'segment' | 'infinite'
).
(In general, you can view the MPO as an MPS with larger physical space and bring it into
canonical 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 i-1
and i
.