Recent Changes - Search:




Calculate (mixed) expectation values of EA wavefunctions with triangular or string operators.


mp-ea-moments [options] <psi> [psi2]



Show help message.

-o, --operator

Calculate the expectation value of this triangular operator (if unspecified, use wavefunction attribute Hamiltonian of psi).


Calculate the expectation value of this string operator.


Calculate the overlap instead of an expectation value.

-k, --momentum

Use this value of the momentum instead of the one in the file, in units of {$\pi$}.


Use this value for the lattice unit cell size (defaults to the wavefunction attribute LatticeUnitCellSize of psi, or 1 otherwise).


(Triangular operators) Calculate expectation values of the operator for each power from 1 up to this value.


Calculate the moments (default, unless --cumulants is specified).


Print the full moment polynomials.

-t, --cumulants

Calculate the cumulants.

-c, --cart

Show the result in Cartesian coordinates (equivalent to --real --imag).

-p, --polar

Show the result in polar coordinates (equivalent to --mag --arg).

-r, --real

Display the real part of the result.

-i, --imag

Display the imaginary part of the result.

-r, --real

Display the magnitude of the result.

-a, --arg

Display the argument (angle) of the result.


Display the argument in radians instead of degrees.

-u, --unitcell

Scale the results for a wavefunction with this unit cell size (otherwise, use the wavefunction’s unit cell size).

-d, --degree

Force setting the degree of the MPO.

-q, --quiet

Don’t print column headings.


The tolerance to use for the linear solver algorithm (default 1e-15).


The tolerance for checking transfer matrix eigenvalues with magnitude near unity (default 1e-12).


Subtract this value from the phase (in degrees, or radians if --radians is specfied).


Perform the calculation in a right-to-left fashion, rather than a left-to-right one. (This will usually return the same results, useful for debugging.)


Show all columns of the fixed-point solutions (this will usually produce a lot of output, and is pretty much only useful for debugging).

-v, --verbose

Increase verbosity.


This tool calculates expectation values of an EA wavefunction with respect to a triangular or product MPO. This is done using a similar method as mp-imoments.

If we have some {$n$}th order operator (such as the Hamiltonian taken to power {$n$}), the normalised expectation value will given by the {$n$}th moment {$\mu_n$}, which will be written as the complete Bell polynomial of the cumulants {$\kappa_m$} for {$m = 1, \ldots, n$}, each of which has the linear form in system size {$$\kappa_m = \kappa^E_m L + \kappa^\Delta_m.$$} Here, the linear component {$\kappa^E_m$} will be equal to the cumulant for the boundary infinite wavefunction, while the constant part {$\kappa^\Delta_m$} is a ‘correction’ due to the excitation: we call {$\kappa^E_m$} and {$\kappa^\Delta_m$} the boundary and excitation cumulants respectively. Hence, the {$n$}th moment will be an degree-{$n$} polynomial, where the degree {$\geq 1$} components will be a mixture of the boundary and excitation cumulants, while the constant component will be the complete Bell polynomial of {$\kappa^\Delta_m$} for {$m = 1, \ldots n$}, and so we will call this the excitation moment {$\mu^\Delta_n$}.

We can calculate the {$n$}th excitation cumulant {$\kappa^\Delta_n$} recursively by calculating each {$\mu^\Delta_n$} and using the identity {$$\kappa^\Delta_n = \mu^\Delta_n - \sum_{m=1}^{n-1} \binom{n-1}{m-1} \kappa^\Delta_m \mu^\Delta_{n-m}.$$}

By default, the tool displays the excitation moments only: you can view the excitation cumulants using --cumulants, or you can view the full (unnormalised) excitation moment using --moments-full.

We can also calculate mixed expectation values by specifying the positional argument psi2: overlaps can be calculated using --overlap.


  • The norm of an EA wavefunction will be some linear polynomial of system size: a ‘normalised’ EA wavefunction will have norm {$L$}. This tool assumes a norm of {$L$} when calculating the moments: if you somehow have a wavefunction with another norm, you may have to scale your results.
  • For mixed expectation values, it is assumed that the left and right boundaries of both wavefunctions are the same. Otherwise, the results produced by this tool will be spurious.
  • For mixed expectation values, the value will be nonzero only if the momenta of the bra and ket EA wavefunctions are the same (unless the operator has a momentum as well, but that is not currently supported). The current behaviour of this tool is to set the momentum of psi2 to be the momentum of psi, or the momentum set by --momentum if it is used.
Edit - History - Print - Recent Changes - Search
Page last modified on November 01, 2023, at 08:22 AM