Recent Changes - Search:




The mp-iexpectation-cross command calculates the expectation value of a finite operator with respect to two different iMPS. Formally, this is the ratio {$$ \frac{\langle \psi_1 \vert O \vert \psi_2 \rangle}{\langle \psi_1 \vert \psi_2 \rangle} $$} where {$O$} is the operator to calculate, and {$\vert \psi_1 \rangle$} and {$\vert \psi_2 \rangle$} are iMPS.

Note that unless {$\vert \psi_1 \rangle$} and {$\vert \psi_2 \rangle$} are the same state, then the expectation value {$\langle \psi_1 \vert O \vert \psi_2 \rangle$} is zero in the thermodynamic limit, since {$\langle \psi_1 \vert \psi_2 \rangle$} scales as {$\Lambda_0^N$} where {$\Lambda_0$} is the leading eigenvalue of the cross transfer matrix between {$\vert \psi_1 \rangle$} and {$\vert \psi_2 \rangle$}.


mp-iexpectation-cross [options] <psi1> <operator> <psi2>

Calculates the expectation value of a finite operator <psi1|operator|psi2> / <psi1|psi2>.



show help message

-r, --real

Show the real part of the expectation value

-i, --imag

Show the imaginary part of the expectation value


Calculate the transfer matrix in this sector (only relevant when the iMPS has good quantum numbers)

-v, --verbose

Verbose output (use multiple times for more output)


To calculate the expectation value, mp-iexpectation-cross needs to calculate the left/right eigenvector pair of the cross transfer matrix between {$\vert \psi_1 \rangle$} and {$\vert \psi_2 \rangle$}. If the iMPS has good quantum numbers, then you need to specify the symmetry sector using the -q option. Generally the relevant sector is the one containing the largest magnitude eigenvalue. Note that the quantum number of this sector is not deterministic since a quantum number shift of the virtual bonds of an MPS is a pure gauge transformation that has no effect on the physical state. Thus the symmetry sector can be difficult to predict -- do not assume that it will be in the scalar sector! Always use mp-ioverlap to determine the sector with the largest eigenvalue.


If psi1 and psi2 are iMPS, then mp-iexpectation-cross can be used in a similar way to mp-expectation. For example,

mp-iexpectation-cross psi lat:"Sp(0)*Sm(1)*Sz(10)*Sz(11)" psi2

If psi1 and psi2 are approximations of the groundstate of the spin-1 Heisenberg model, then this expectation value is around 0.43634.

If a phase factor is applied to one of the wavefunctions, then it should be possible to observe that mp-ioverlap picks up this phase factor, but it cancels out when calculating local expectation values with mp-iexpectation-cross.


Re-calculating the transfer matrix each time is wasteful -- it is intended that some kind of caching mechanism will be implemented in the future.

See also

Edit - History - Print - Recent Changes - Search
Page last modified on December 09, 2021, at 02:32 AM