Recent Changes - Search:




(redirected from Tools.MpIRotate)

The mp-translate command translates a wavefunction by $$n$$ sites.


mp-translate [options] <input-psi> <output-psi>

For an infinite wavefunction that has a unit cell of more than 1 site, the mp-translate function rotates the sites of the wavefunction so that site 0 represents different point. For an IBC wavefunction, mp-translate shifts the numbering of the sites.



show help message

-l, --left=N

translate the unit cell N sites to the left

-r, --right=N

translate the unit cell N sites to the right

-f, --force

allow overwriting the output file, if it already exists

-v, --verbose

extra debug output, can be used more than once


mp-translate translates the A-matrices of a wavefunction. For example, given a 3-site unit cell, the MPS can be expressed as

{$$ A^{s_1}_1 \; A^{s_2}_2 \; A^{s_3}_3 $$}

If we rotate this to the left by 1 site, it results in the MPS

{$$ A^{s_1}_2 \; A^{s_2}_3 \; A^{s_3}_1 $$}

The rotation can be specified as N sites either to the left (--left N) or to the right (--right N). A rotation to the left by N sites is equivalent to a rotation to the right by UnitCellSize-N sites.

The output file can be the same as the input file;


  1. Period 3 spin chain

    Firstly obtain a wavefunction for the spin-1 chain in the critical period 3 phase, with a 3-site unit cell.
    spinchain -S 1 -o lattice
    mp-idmrg-s3e -H lat:"H_J1 + 2*H_B1" -m 10..50x200 -w psi -f -u 3 --create

    This has expectation values (for example):

    $ mp-iexpectation psi lat:"Sz(0)"
    0.0032624256860453   7.7722608876455e-25
    $ mp-iexpectation psi lat:"Sz(1)"
    -0.0032717997478444   -1.7337600677344e-25
    $ mp-iexpectation psi lat:"Sz(2)"
    8.7596181087154e-06   -3.7666693137387e-25

    Now translate 1 site to the left.

    mp-translate --left 1 psi psi

    results in:
    $ mp-iexpectation psi lat:"Sz(0)"
    -0.0032717997478447   2.6579071521928e-25
    $ mp-iexpectation psi lat:"Sz(1)"
    8.7596181078847e-06   -4.9079927022407e-25
    $ mp-iexpectation psi lat:"Sz(2)"
    0.0032624256860449   3.169940868704e-2


  1. This tool works on individual sites of the wavefunction, it knows nothing about the lattice or the Hamiltonian unit cell. If you have an inhomogeneous lattice (for example, an alternating spin chain) then it is possible to translate the wavefunction such that the local basis of the wavefunction no longer matches the lattice.
  2. The mp-ioverlap tool has a --translate option that performs a similar function, so it is not necessary to use mp-translate if you only need to calculate overlaps with translated wavefunctions (eg to test translation symmetry properties).

See also

Edit - History - Print - Recent Changes - Search
Page last modified on December 24, 2020, at 12:03 AM