Although there are several packages for the full diagonalization such as lapack, it is almost impossible to perform the full diagonalization for large-scale matrices whose dimension is more than one million. In the condensed matter physics, we want to obtain the lowest (ground-state) eigenvalue and the eigenvector for characterizing the nature of the target quantum many-body systems. For that purpose, the Lanczos method is commonly used for obtaining the eigenvalues and the eigenvector of ground state.
In the Lanczos method, we successively multiply the Hamiltonian to the initial vector (typically we take the random vector as the initial vector). Then, we can obtain the lowest eigenvectors. Only two vectors are necessary for performing the Lanczos method, we can obtain the ground state of larger matrices whose dimension is up to tens of billion.
The Lanczos method is implemented in several exact diagonalization packages such as
TITPACK,KobePACK,SpinPACK,ALPS and HΦ. Especially, in HΦ, recently developed modern algorithm for obtaining several low-energy excited states (the LOBPCG method) is implemented. By using the LOPBCG method, we can obtain the several excited states at one calculations.