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.