Tools /
MpReorderBasisThis 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-0.7.4.0 (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 ExamplesIf we use 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. NotesIf it also turns out that the quantum numbers in the symmetry list are in the wrong order, In principle, 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 See Also |