Recent Changes - Search:




This program reorders the local basis states of a wavefunction. This is useful for converting between different representations (eg, spin vs particle), in order for the order of local basis states to match what is expected for a particular lattice.

Matrix Product Toolkit version HEAD- (subversion tree rev 802)
Compiled on Dec 10 2007 at 11:50:34
usage: mp-reorder-basis <new-ordering> <psi>
the new-ordering is a comma-delimited permutation of numbers 0..(N-1).

The new-ordering must be a list of numbers separated by commas (no spaces!).


If we use mp-wigner-eckart to project an {$SO(4)$} Hubbard model wavefunction down to {$U(1) \times U(1)$}, followed by a scaling, shift, and renaming of the pseudospin quantum number to get the particle number,

mp-wigner-eckart psi-in psi-out "Qz:U(1),Sz:U(1)" $qz,$sz
mp-scale-basis Qz 2 psi-out
mp-shift-basis Qz 1 psi-out
mp-rename-symmetry Qz N psi-out

then we find that we have a model with a sensible looking local basis:

Basis has symmetry N:U(1),Sz:U(1), size = 4
   N  QuantumNumber
   0            0,0
   1            2,0
   2         1,-0.5
   3          1,0.5

Unfortunately, it is not in the right order for the {$U(1)\times U(1)$} Hubbard model lattice file, that expects the basis to be

Basis has symmetry N:U(1),Sz:U(1), size = 4
   N  QuantumNumber
   0            0,0
   1         1,-0.5
   2          1,0.5
   3            2,0

To remedy this, we do a final step:

mp-reorder-basis 0,2,3,1 psi-out

This example could be seen as a bit pedantic, in that each basis state has a different quantum number so the mptoolkit could do the conversion automatically, by simply matching quantum numbers. This wouldn't work if there is more than one basis state with the same quantum number, so matching the order of basis states is still needed in some cases and it is possibly error prone to rely on automatic reordering via quantum numbers.

For another example, to get the effect of a spin reflection of a spin chain we could scale the spin quantum number by -1 and reverse the order of the basis states. Similarly for particle-hole transformations. But the same effect is probably better achieved by constructing the spin flip (or particle-hole interchange) operator and applying it to the state.


If it also turns out that the quantum numbers in the symmetry list are in the wrong order, mp-reorder-symmetry could be used.

In principle, mp-reorder-basis also allows some interesting things, such as repeating a basis state multiple times, or eliminating a basis state. But be careful, as these operations will typically not leave the state orthonormalized properly, which will confuse other tools or cause them to crash.

This program applies the transformation to all sites of the lattice. It would be easy to apply the transformation to only a single site, or a selection - the only question is what format to use to specify this on the command line.

To see what the quantum numbers of the local basis are, use mp-info -b psi.

See Also

Edit - History - Print - Recent Changes - Search
Page last modified on December 10, 2007, at 05:14 AM