Recent Changes - Search:




Calculate the overlap between two IBC wavefunctions.


mp-ibc-overlap [options] <psi1> <psi2>



Show help message.

-c, --cart

Show the results in Cartesian coordinates.

-p, --polar

Show the results in polar coordinates.

-r, --real

Show the real part of the result.

-i, --imag

Show the imaginary part of the result.

-m, --mag

Show the magnitude part of the result.

-a, --arg

Show the argument part of the result.


Show the argument in radians instead of degrees.


Translate psi2 this many sites to the left.


Reflect psi2.


Complex conjugate psi2.


Assume that psi1 and psi2 have the same semi-infinite boundaries (so we can skip calculating the eigenvectors of the boundary transfer matrices).


Calculate the (mixed) expectation value with respect to this product operator.


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


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


Do not print the column headings.

-v, --verbose

Increase verbosity.


This tool calculates the overlap of two IBC wavefunctions psi1 and psi2. We assume that the left and right boundaries of both IBCs are either the same or at least have an overlap with magnitude close to unity.

The full expression for the overlap of two IBC wavefunctions is {$L^{N_L} W R^{N_R}$}, where {$W$} is the overlap of the two windows (or the smallest common area containing both windows), {$L$} and {$R$} are the overlap per unit cell of the left and right boundaries, and {$N_L$} and {$N_R$} are the number of unit cells on the left and right, which we take to infinity in the thermodynamic limit.

Now if {$L = R = 1$}, which will be the case if the boundary wavefunctions of the two IBCs are identical, then the overlap reduces to just {$W$}.

If {$|L| = |R| = 1$}, but {$L$} and {$R$} may have some nontrivial phase, then the total overlap is well-defined up to a phase: the phase of the output will ignore the phases of the two boundary parts, but this output phase can change if we incorporate extra sites into the window from the boundaries. We do not usually care about the global phase in and of itself, but the relative phase between two different overlaps: in this case, it is important that the global phase is constant so we can get the correct relative phase.

If {$|L| < 1$} or {$|R| < 1$}, then the two states are orthogonal; at the moment, the tool will stop the calculation in this case.

The general form of the overlap is

                 - L - L - L - A1- A2- A3- A4- R - R -
<psi1|psi2> = ...  |   |   |   |   |   |   |   |   |  ...
                 - L'- L'- B1- B2- B3- R'- R'- R'- R'-

                       / - L - A1- A2- A3- A4- \
            =          E   |   |   |   |   |   F .
                       \ - B1- B2- B3- R'- R'- /

The main difficulty with this expression is that E and F are each only defined up to an arbitrary complex phase. At the moment, we attempt to overcome this by fixing the global phase of the overlap by setting the phases of the traces of E and F to be zero, but this only works if E (and F) has the same left and right bases and if its trace is nonzero.

If you do encounter a situation where the tool has a spurious phase factor, you can fix this by calculating an overlap with a known phase, and then fixing the phase by setting the --phasefix option, which subtracts the specified value from the phase.

Edit - History - Print - Recent Changes - Search
Page last modified on November 01, 2023, at 08:21 AM