Exact diagonalization of the S=1/2 Heisenberg chain
(using momentum states)
Program: hchan_mk
Input: File read.in containing:
Column 1: System size N (integer)
Column 2: Estimated maximum block hilbert space size rm (integer)
Example read.in (N=8, rm=20)
8 20
Output: File eig.dat containing:
For each sector of fixed number of up spins nu and momentum k (integer, k=0,...,N/2):
Line 1: nu,k and the block size nst, followed by nst lines with:
Column 1: Eigenvalue number (integer)
Column 2: Energy eigenvalue (real)
Column 3: Spin quantum number (real)
File low.dat containing lowest eigenstate for each sector:
Column 1: k (integer)
Column 4: Energy eigenvalue (real)
Column 5: Spin quantum number (real)
Following are results for N=6. The file eig.dat:
nu = 0 k = 0 nst = 1
0 1.5000000000 3.0000000000
nu = 1 k = 0 nst = 1
0 1.5000000000 3.0000000000
nu = 1 k = 1 nst = 1
0 1.0000000000 2.0000000000
nu = 1 k = 2 nst = 1
0 -0.0000000000 2.0000000000
nu = 1 k = 3 nst = 1
0 -0.5000000000 2.0000000000
nu = 2 k = 0 nst = 3
0 -2.1180339887 1.0000000000
1 0.1180339887 1.0000000000
2 1.5000000000 3.0000000000
nu = 2 k = 1 nst = 2
0 -1.0000000000 1.0000000000
1 1.0000000000 2.0000000000
nu = 2 k = 2 nst = 3
0 -1.2807764064 1.0000000000
1 0.0000000000 2.0000000000
2 0.7807764064 1.0000000000
nu = 2 k = 3 nst = 2
0 -0.5000000000 2.0000000000
1 0.5000000000 1.0000000000
nu = 3 k = 0 nst = 4
0 -2.1180339887 1.0000000000
1 -1.5000000000 0.0000000000
2 0.1180339887 1.0000000000
3 1.5000000000 3.0000000000
nu = 3 k = 1 nst = 3
0 -1.0000000000 1.0000000000
1 -0.5000000000 0.0000000000
2 1.0000000000 2.0000000000
nu = 3 k = 2 nst = 3
0 -1.2807764064 1.0000000000
1 -0.0000000000 2.0000000000
2 0.7807764064 1.0000000000
nu = 3 k = 3 nst = 4
0 -2.8027756377 0.0000000000
1 -0.5000000000 2.0000000000
2 0.5000000000 1.0000000000
3 0.8027756377 0.0000000000
The file low.dat (lowest-energy state in each sector):
0 0 1.5000000000 3.0000000000 1
1 0 1.5000000000 3.0000000000 1
1 1 1.0000000000 2.0000000000 1
1 2 -0.0000000000 2.0000000000 1
1 3 -0.5000000000 2.0000000000 1
2 0 -2.1180339887 1.0000000000 3
2 1 -1.0000000000 1.0000000000 2
2 2 -1.2807764064 1.0000000000 3
2 3 -0.5000000000 2.0000000000 2
3 0 -2.1180339887 1.0000000000 4
3 1 -1.0000000000 1.0000000000 3
3 2 -1.2807764064 1.0000000000 3
3 3 -2.8027756377 0.0000000000 4
For N=6 all the (mz,k) states have fixed total-spin, as can be seen in the all-integer values obtained for S. For larger N, there are still some cases of degeneracy of states with different S. For N=8, there is such a case of 3 degenerate states with nu=2, k=4, as seen in eig.dat for that sector:
nu = 2 k = 4 nst = 4
0 -0.0000000000 2.0009877794
1 0.0000000000 2.9990995860
2 0.0000000000 2.0002724281
3 1.0000000000 2.0000000000
There are such degeneracies in some other sectors as well.