TU Braunschweig FKT
TU Braunschweig Festkörper-Theorie
IThP home
People
Research
Reach us
Education
Service
Vacancies
A. Honecker
Software
Diagonalize
Use

Examples for the use of diagonalize:

  1. Download and install diagonalize.
  2. Download the Hermitean 1377x1377 sample matrix sample-matrix.gz.
    Note: This is on purpose a rather ill-conditioned problem, with extremal eigenvalues 18J and 26.202624952J.
  3. To get all eigenvalues, no eigenvectors, try
         ./diagonalize -z -all -iJ:=1 sample-matrix eigenvals
    
    The option `-z should be omitted if you have already unpacked the sample-matrix. The option -all requests all eigenvalues (no eigenvectors). `-iJ:=1' specifies that J=1 should be substituted in the input matrix. `eigenvals' is the name of the file in which the result for the 1377 eigenvalues are stored.
    Note: You may find that in order to obtain stable results you have to use a version which binds to LaPack.
  4. If you want `just' the 100 lowest eigenvalues (and -vectors), you can proceed as follows:
         ./diagonalize -z -le=800 -n150 -b -t -iJ:=1 sample-matrix eigenvals
         ./diagonalize -z -a1e-16 -n100+50 -f -s23.4 -iJ:=1 sample-matrix eigenvals
    
    The first command performs a Lanczos' diagonalization in a Krylov subspace of dimension 800 (option -le=800), without reorthogonalization (option -b) and writes the resulting estimates for the lowest 150 eigenvectors in a file `vi_vecs.dmp' (option -t).
    These 150 vectors are not fully converged. Therefore we need the second command, which also eliminates so-called `ghosts'. This command reads the vectors from the file `vi_vecs.dmp' (option -f) and produces 100 converged eigenvectors (option -n=100+50 - 50 auxiliary vectors included). The other options perform a spectral shift by 23.4 for stabilization purposes (option -s23.4) and request an accuracy for the square of 10-16, i.e. at least 8 converged digits (option -a1e-16).
    Of course, one really wishes to apply this strategy only to (much) bigger problems, i.e. dimensions (much) beyond 10 000.
    Note: You have stored an intermediate estimate for the vectors in the file `vi_vecs.dmp' (binary format). You may wish to remove this file once you have finished your computation.


Last updated: April 27, 2005; a.honecker[AT]tu-bs.de -- don't send me spam!