I didn’t come here to tell you how this is going to end. I came here to tell how it’s going to begin.
Main /
SymmetricHubbardModelConverting a wavefunction from an {$SO(4)$} basis to {$U(1)\times U(1)$} requires a few steps. A sample script to do most of the work is here: #!/bin/bash if [ $# -lt 2 ] ; then echo "usage: so4tou1 <wavefunction> <quantumnumbers>" echo "quantum numbers are Qz,Sz where Qz = (N-L)/2" exit 1 fi mp-wigner-eckart $1 $1.u1 "N:U(1),Sz:U(1)" $2 mp-scale-basis N 2 $1.u1 mp-shift-basis N 1 $1.u1 mp-reorder-basis 0,2,3,1 $1.u1 mp-normalize $1.u1 This script takes an input wavefunction that is assumed to have {$SO(4)$} symmetry, and writes an output wavefunction with {$U(1)\times U(1)$} symmetry, as the same filename with a '.u1' suffix. It also normalizes the wavefunction at the end. Due to the normalization conventions, the resulting wavefunction will have the norm decreased by {$\sqrt{(2q+1)(2s+1)}$}. This doesn't quite finish the task. There is a problem of sign conventions in the basis, that requires doing a unitary transformation on the wavefunction after the projection. The SO(4) basis is bipartite, and in effect the A sublattice (odd sites) uses the ordering up,down for the double occupied sites. ie, the signs of the {$C^{\dagger(A)}$} operator are set as {$C^{\dagger(A)}_{\uparrow}\mid\downarrow\rangle = \mid\uparrow\downarrow\rangle$}, and {$C^{\dagger(A)}_{\downarrow}\mid\uparrow\rangle = -\mid\uparrow\downarrow\rangle$}. On the B sublattice (even sites), it is the opposite, the ordering is down,up, giving {$C^{\dagger(B)}_{\uparrow}\mid\downarrow\rangle = -\mid\downarrow\uparrow\rangle$}, and {$C^{\dagger(B)}_{\downarrow}\mid\uparrow\rangle = \mid\downarrow\uparrow\rangle$}. This is inevitable, since without the alternation in basis the hopping matrix elements are not {$SO(4)$} symmetric. In the {$U(1)$} basis, there is no need to use a bipartite structure for the local basis, and the convention we have used is that all sites use the ordering {$\mid\uparrow\downarrow\rangle$}. This means that when we do the Wigner-Eckart projection of an {$SO(4)$} wavefunction, we also need to do a spatial reflection on the B sublattice to flip the sign of the {$\mid\downarrow\uparrow\rangle$} state into {$\mid\uparrow\downarrow\rangle$}. This is achieved with the new R_B operator. So, there is one more step to get a {$SO(4$}) wavefunction into the {$U(1)$} basis, mp-apply lattice:R_B input output (mp-apply works fine if the output file is the same as the input) This must be done on the {$U(1)$} wavefunction, as the spatial reflection operator violates {$SO(4)$} symmetry. This step could be included in the script above, but it would require another argument for the {$U(1)$} lattice file. An alternative choice would be to give the {$U(1)$} Hubbard basis the same bipartite structure as the {$SO(4)$} basis. But it is an unconventional choice of basis, and I don't think it is worth complicating the U(1) basis just for a minor simplication in {$SO(4) \rightarrow U(1)$} transformations. |