A method for studying quantum many-body systems by diagonalizing the Hamiltonian matrix. Due to its exactness, this method is widely used in spite of the strong size limitation. By switching from the full diagonalization to partial diagonalization in which only a small number of eigenvalues and eigenvectors are computed, one can relax the size limitation. As program packages based on the Lanczos method, TITPACK, KobePack, and SpinPack are available. A full diagonalization can be found in ALPS package. HΦ provides codes suitable for massively parallel computers for a broad range of models.