TRLan

Description

TRLan implements the Thick-Restart Lanczos method for solving large symmetric eigenvalue problems.

User instructions

TRLan is available for use with both the GNU and Intel. To use, load the appropriate module. For example, to use the serial library, run

$ module load trlan/201009

and to use the parallel library, run

$ module load trlan-mpi/201009

(Note that TRLan seems to be released with date stamps rather than version numbers.)

To use the serial library add ‘-ltrlan’ to your link link; to use the MPI version add ‘-ltrlan_mpi’.

TRLan is relatively straightforward (but certainly not black-box) to use. The programmer must supply the routine to multiply the matrix by trial Lanczos vector. It is therefore necessary to read the documentation thoroughly, which is available at http://crd.lbl.gov/~kewu/trlan/.

TRLan is written in Fortran. Whilst it is possible to link to TRLan from other languages, it might be easier to use nu-TRLan for C/C++ projects.

License

No obvious license given that I could find. It seems safe to provide an appropriate citations in any publications arise from using the library.

Admin notes

Compilation is quite straightforward. After making the appropriate settings in Make.inc, run

$ make lib

to compile the serial version of the library and

$ make plib

to compile the parallel version of the library. I used the following Make.inc files:

# gfortran, serial
FC=gfortran
F90=gfortran
FFLAGS=-O3
SHELL=/bin/sh
# ifort, serial
FC=ifort
F90=ifort
FFLAGS=-O3
SHELL=/bin/sh
# ifort/gfortran, mpi
FC=mpif90
F90=mpif90
FFLAGS=-O3
SHELL=/bin/sh

Obviously the compiler and MPI modules had to be loaded.

The libraries, libtrlan.a and libtrlan_mpi.a, are compiled in the root directory. I created the directory structure to fit in with the standard layout by hand.