Hi,
I had a query regarding sparse diagonalization in ALPS. The system that I am working with is heisenberg model on honeycomb lattice with pbc. I have taken 3 x 3 units which amounts to 12 lattice sites. I did a brute force diagonalization using matlab and a sparsediag of ALPS and am comparing the results.
In matlab if I just look at the low lying energy i get 1 ground state 3 first excited states and 5 second excited states with gap of 2.27 and 4.61 between them respectively.
Using ALPS sparsediag i get in the k = [0,0], i get an eigenvalue -6.75 and in the other momentum sectors an eigenvalue -5.75 where the energy gap is printed to be 1.
My main concern is why aren't the two results matching qualitatively. I understand that one shouldn't compare the exact numbers but the "degeneracy" property should be the same i am guessing.
The eigenvalue that is printed is the ground state energy of that momentum sector. Is this correct? If this is then the energy gap which is being measured from the difference in the ground state energy of the two low lying sectors seems incorrect right. Because the energy gap should be measured after sorting the eigenvalues of all the sectors and then measured isnt it. Could this be the reason why the results are not matching? Is there a way to get qualitatively get results that I get with Matlab?
I tried fulldiag of this system and got a std::bad_alloc which i am guessing that its because of memory. Is there a way to handle this?
Any help will be appreciated.
Thanks and Regards Sriluckshmy
comp-phys-alps-users@lists.phys.ethz.ch