Av = lambda v

where A is a matrix, v an eigenvector, and lambda an eigenvalue.
For dense eigenvalue problems, the LAPACK library provides the best
algorithms, while for sparse matrices iterative algorithms are favored if only a
few eigenvalues are desired. These **iterative algorithms** only require the
matrix in the form of a function to calculate matrix-vector products Av with
arbitrary vectors v. For sparse matrices this can often be done in a time
scaling with O(*N*) where *N* is the matrix dimension.

For the similar problem of linear solvers, the iterative algorithms listed in the templates book [1] were implemented in the ITL library. The IETL aims at a similar goal for the much more complex eigensolver, by providing generic C++ implementations of the algorithms in the corresponding book for eigenvalue problems [2].

## Algorithms in the IETL

So far the following algorithms for *real
symmetric* and *complex hermitian* matrices have been implemented:

For the similar problem of linear solvers, the iterative algorithms listed in the templates book [1] were implemented in the ITL library. The IETL aims at a similar goal for the much more complex eigensolver, by providing generic C++ implementations of the algorithms in the corresponding book for eigenvalue problems [2].

- Power method
- Inverse iteration
- Rayleigh quotients
- Lanczos
algorithm without reorthogonalization in the formulation of Cullum and
Willoughby [3,4]

- Boost release 1.31
- For the Lanczos algorithm additionally the LAPACK and BLAS or ATLAS libraries
- For some of the examples the Blitz++ library and uBlas bindings.

The latest IETL release can be downloaded from http://www.comp-phys.org/software/ietl/ietl-2.2.tar.gz

The instruction to install can be found here .

Example implementations for all the algorithms are provided in the

- Announcements of new releases: https://webmail.phys.ethz.ch/mailman/listinfo/comp-phys-ietl-announce
- Discussion of the IETL libraries and its development: https://webmail.phys.ethz.ch/mailman/listinfo/comp-phys-ietl-devel

- Prakash Dayal
- Matthias Troyer
- Rene Villiger

- R. Barret, M. Berry, T.F. Chan, J. Demmel, J.
Donato, J. Dongarra, V. Eijkhout, R. Pozo, C. Romine, and H. van der Vorst,
*Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods*(SIAM, 1993)

- Z. Bai, J. Demmel and J. Dongarra (Eds.),
*Templates for the Solution of Algebraic Eigenvalue Problems: A Practical Guide*(SIAM, 2000)

- J. K. Cullum and R. A. Willoughby,
*Computing eigenvalues of very large symmetric matrices-an implementation of a Lanczos algorithm with no reorthogonalization*, J. Comput. Phys., 44:329-358, 1981.

- J. K. Cullum and R. A. Willoughby,
*Lanczos algorithms for Large Symmetric Eigenvalue Computations. Volume 1, Theory*(Birkhäuser, Boston 1985).