MPS::Lattice syten::MPS::Lat::SU2::genSpinLattice | ( | Index | length, |
SRDef | s | ||
) |
Generates a chain of Heisenberg spins.
length | length of the chain |
s | the size of the spin, i.e. \( s' \) |
The single local basis state is a one-dimensional \( S = s'\) state.
The single operator available is \( \hat S \), primarily defined via \( \hat S_{i}^\dagger \cdot \hat S_{i+1} = \hat S^x_i \hat S^x_{i+1} + \hat S^y_i \hat S^y_{i+1} + \hat S^z_i \hat S^z_{i+1} \). The \( \hat S \) operator must transform as \( S=s' \) at the upper and lower physical index and as \( S=0 \) on the right hand side, leaving essentially only \( S=1 \) for the LHS index.
Once the CGC space is constructed from the contraction of the two known spaces (fusing \( S=s' \) and \( S=0 \) and splitting into \( S=s' \) and \( S=1 \)), we can find the coefficient by analysing e.g. \( \langle \hat S_1 \hat S_2 \rangle \) on a two-site chain in the singlet state.
For \( S = \frac{1}{2} \), we have \(\langle \hat S_1 \hat S_2 \rangle = -0.75\), as each of \( \hat S^a_1 \hat S^a_{2} \) gives \( -\frac{1}{2} \frac{1}{2} \) in the respective \( a \)-basis. For \( S = 1 \), we similarly get \( -2 \) out of the state \( -\frac{1}{\sqrt{3}} | 0,0 \rangle + \frac{1}{\sqrt{3}}\left(|1,-1\rangle + |-1,1\rangle\right) \). The needed multiplicative coefficient is then just the square root of the ratio between desired and current result. Note that the correct minus sign cannot be achieved this way but has to come from the CGC spaces themselves.
The correct coefficient turns out to be just \( \sqrt{s'(s'+1)} \), which is also used in Ian McCulloch's Matrix Product Toolkit.
Note that the coefficient in e.g. Annals of Physics 327 (2012) 2972 - 3047 is different due to a different definition of the CGC space (I thinkā¦). In any case, it works properly with the current dot
product of two MPO :)
References syten::genRepsSU2().
Referenced by syten::Pyten::init_mp_latgen().