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$}.

## Synopsis

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

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

.

## Options

`--help`

show help message

`-r`

, `--real`

Show the real part of the expectation value

`-i`

, `--imag`

Show the imaginary part of the expectation value

`-q`

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)

## Description

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.

## Examples

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`

.

## Notes

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