IMPORTANT: code has been updated a lot and thoroughly tested for the HM-Bethe case.
Sparse matrix structure introduced in the code and tested. Improve speed and
memory management.
A version (soon to be pre-compiled) using direct Hamiltonian product H*v, so not
storing the matrix itself, is written and tested but appears to be significantly
slower.
GETGF got a major improvement, with subdivision in routines building the GF, both for
the full and lanczos case.
DIAG/VARS_GLOBAL got several improvements concerning the maps and arrays used to
go forth and back the total Hilbert space. Although this solution is still unsatisfactory
on a general ground, a look-up table is very much desirable at this point, modifications
improve memory usage.
BATH is now randomly guessed.
Nimp-->Norb, ready to go multi-band that is easy now.
N-->Ntot to avoid problems in variables naming.
modified driver lanc_lda1b to read Bethe hamiltonian
BUG fixed in lanced_lda1b:
calculation of total density was biased by small value of Ltau.
At T=0 one needs a large number of tau points. This is fixed
by a function calculating the density using NL points (the best
approximation you can have).
hint:A more solid implementation would be to code the non-linear FFT.
code moved to Nup,Ndw basis rather than Ntot,Sz.
This is the first step towards performance boost with integration of
look-up tables and Hilbert space splitting strategies.