Heisenberg-chains N<5

(s=1/2)-Heisenberg-chains N<5

N=2 and N=3 Heisenberg chains are to simple for spinpack, because spinpack uses symmetries and so matrix size becomes to one (see remark below for higher s). Use minimum N=5 sites (see example_lc5.html) or switch off all symmetries to see the full base:

cd exe                      # execution path
gcc -lm -o m_1d ../m_1d.c   # compile model generation code for chains
./m_1d 2 > daten.def        # generate 2 side model

config.h:
 #define CONFIG_NOS1SYM 1
 // #define Sud 0          // sym_ud=0 used
 
daten.i:
 verbose=33
 xout=3 99
 sym_ud= 0     # no up-down-symmetry (case nu==nd)
 sym_k= -9999
 param= 1.0, 0.0
 nud=1,1   # ud-subspace
 a0
 nud=0,2   # dd-subspace
 a0
 nud=2,0   # uu-subspace (same as dd-subspace)
 a0

make; ./spin

results:
# nud=1,1 n1=2 hnz/n1=3.00(double entries) J1=1 E0= -1.50000  0.50000
# nud=0,2 n1=1 hnz/n1=1.00                 J1=1 E0=  0.50000           
#
# nud=1,1 n1=2 hnz/n1=3.00(double entries) J1=1 E0= -1.50000  0.50000
 i-j  0  0 ZiZj  0.250000  num=    2  r^2=   0.000
 i-j  0  1 ZiZj -0.250000  num=    2  r^2=   1.000
 i-j  0  0 SiSj  0.750000  Sij-3Zij= -0.000000 -1e-08 num=    2
 i-j  0  1 SiSj -0.750000  Sij-3Zij=  0.000000  1e-08 num=    2
 x (weight, factor, coefficient, diff, |sN...s0>, (symfactor)):
  0.5000000      1  0.7071068 0e+00 |0x2> (   1) dcorr:  0 idx=1
  0.5000000      1 -0.7071068 0e+00 |0x1> (   1) dcorr:  0 idx=0
# nud=0,2 n1=1  hnz/n1=1.00 J1=1 E0= 0.50000000           
 i-j  0  0 ZiZj  0.250000  num=    2  r^2=   0.000
 i-j  0  1 ZiZj  0.250000  num=    2  r^2=   1.000
 i-j  0  0 SiSj  0.750000  Sij-3Zij=  0.000000  0e+00 num=    2
 i-j  0  1 SiSj  0.250000  Sij-3Zij= -0.500000 -5e-01 num=    2
 SS= 2.000 2S= 2.000    
 x (weight, factor, coefficient, diff, |sN...s0>, (symfactor)):
 1.000000000      1  1.000000000 0e+00 |0x3> (   1) dcorr:  1 idx=0

(s=2,4,6...)-Heisenberg-chains N<5

Remark (higher s): it looks like E0 of N=2,3,4 for any spin-length gives classical groundstate, i.e. no energy reduction by quantum effects (because no real next-nearest neighbour(?)). Because for N=3 all 3 sites interact with each other, it belongs also to Lieb-Mattis-model class (analytical results).

edit src/config.h  # set NN=128 Nw=(64*NN) set maximum NN=N*(2s)
make               # recompile
cd exe             # change to executable dir
./m_1d 3 > a.def   # N=3 2s=1 base-model-file
../utils/defspin1.sh -s 20 a.def > daten.def  # 2s=20 derived-model-file
edit daten.i       # edit sym_k= -999999 and nud=10,10  # Sz=0 
./spin
# Results:  e0=E0/(N*s(s+1))
 N=3 2s=20 nud=1+59  k=0  n1=1  E0= 300.0, k=no n1=3   E0= 270.0
 N=3 2s=20 nud=20+20 k=0- n1=25 E0=-159.0, k=no n1=331 E0=-165.0
 N=3 2s=84 ERROR b_factor_lm.Tnorm2.int128 OVL 0 NN=256 NAH=16
 N=3 2s=84 e0=-2709.0/5418=-0.5 Tnorm2=f64 vec4 HRMAX=0
 N=3 2s=76 e0=-2223.0/4446=-0.5 Tnorm2=f64 vec4 HRMAX=0
 N=3 2s=76 err_fulltable hr_len=1023       Tnorm2=f64 ToDo (output mindiffs?)
 N=3 2s=74 e0=-2109.0/4218=-0.5 Tnorm2=f64 ERROR dbl_over ToDo
 N=3 2s=70 e0=-1890.0/3780=-0.5 Tnorm2=f64 ERROR dbl_over ToDo
 N=3 2s=60 e0=-1395.0/2790=-0.5 Tnorm2=f64
 N=3 2s=46 ERROR b_factor_lm.Tnorm2.int128 OVL 5.5814e+38
 N=3 2s=44 e0=-759.0/1518=-0.5 Tnorm2=__int128 Nw=84*NN NAH=16
 N=3 2s=42 e0=-693.0/1386=-0.5 Tnorm2=__int128 Nw=84*NN NAH=16
# ToDo: sum_h21-12^*=6e-10 why? hnz/n1=5..7 minH12=21 maxH12=231 n1=1387
 N=3 2s=38 e0=-570.0/1140=-0.5 Tnorm2=__float64
 N=3 2s=38 err_fulltable hr_len=1023 Tnorm2=__float32   fix: HRMAX=0
 N=3 2s=26 e0=-273.0/546=-0.5  Tnorm2=__float32
 N=3 2s=24 e0=-234.0/468=-0.5  Tnorm2=__int128
 N=3 2s=24 e0=-234.0/468=-0.5  Tnorm2=__float32
 N=3 2s=24 ERROR b_factor_lm OVL 2.0e+19  Tnorm2=__int64
 N=3 2s=22 e0=-198.0/396=-0.5  n1=397 dE1=1 dE2=3 dE3=6
 N=3 2s=20 e0=-165.0/330=-0.5  n1=331 dE1=1 dE2=3 dE3=6
 N=3 2s=10 e0=-45.0/90=-0.5    n1=91  dE1=1 dE2=3 dE3=6
 N=3 2s=2  e0=-3/6=-0.5        n1=7   dE1=1 dE2=3 dE3=6
 N=3  E0/(2N*s(s+1))=-0.5 == classic 3-particles (no-QM, noNNN)
 N=3 2s=5  e0=-12.75/26.25= -0.4857 m=1/15   n1=27  dE1=1.5 dE2=4 dE3=7.5
 N=3 2s=3  e0=-5.25/11.25=  -0.4666 m=1/9 n1=12 bad FTLM.bisec deg.E0
 N=3 2s=1  e0=-0.75/2.25=   -0.3333 1/3
 N=4 is effective N=2 == classic
 N=5 minimum quantum sample!?  classic: cos(2*360/5)=-0.809 has NNN-terms
 N=5 2s=12 e0=-160.44758991/210= -0.76403614   # see example_lc5.html
 N=5 2s=2  e0=-6.53112887/10=    -0.653112887