Solving large scale eigenvalue problems in electronic structures calculations

Yousef Saad

Density Functional Theory (DFT) is a successful technique used to determine the electronic structure of matter which is based on a number of approximations. It converts the original n-particle problem into an effective one-electron system, resulting in a coupled one-electron Schrödinger equation and a Poisson's equation. This coupling is nonlinear and rather complex. It involves a charge density ρ which can be computed from the wavefunctions ψi for all occupied states. However, the wavefunctions ψi are the solution of the eigenvalue problem resulting from Schrödinger's equation whose coefficients depend nonlinearly on the charge density. This gives rise to a non-linear eigenvalue problem which is solved iteratively. The challenge comes from the large number of eigenfunctions to be computed for realistic systems with, say, hundreds or thousands of electrons. We will discuss a parallel implementation a finite difference approach for this problem with an emphasis on diagonalization. We will illustrate the techniques with our in-house code, called PARSEC. This code has evolved over more than a decade as features were progressively added and the diagonalization routine, which accounts for the biggest part of a typical execution time, was upgraded several times. We found that it is important to consider the problem as one of computing an invariant subspace in the non-linear context of the Kohn-Sham equations. This viewpoint leads to considerable savings as it de-emphasizes the accurate computation of individual eigenvectors and focuses instead on the subspace which they span.