A great deal of work has been done by researchers in the physics
community to approximate the effective potential
in
such a way that its Fourier transform decays as fast as possible for increasing
, thus limiting the number N of Fourier components
required to accurately represent the wave function
.
We are using one of the most efficient schemes available, which is based on
separable nonlocal Kleinman-Bylander pseudopotentials [Kle]. The
effective potential is approximated by decomposing it into a
smoothened real-space part
:

and a so called
nonlocal part which retains the essential features of
, while
decaying fast in Fourier space.
The nonlocal part can be written in
reciprocal (i.e. Fourier) space in a ``separable'' form:
The vectors
are fixed entities determined by the
properties of the atoms. Their number
is generally about 3
to 9 times the number of atoms.
Obviously, applying the nonlocal part of the potential to a given
vector of Fourier components
can be done with order
operations, which is superior to a standard
matrix-vector multiply with operation count of order
,
because the number of Fourier components N is typically
100-500 per atom, and therefore N is much larger than
. Also, the explicit storage of the whole matrix
is not required, which saves memory.
To apply the local part of the effective potential to a given vector
in reciprocal space, we have to inverse Fourier transform
the complex quantities
from the Fourier grid
to a real-space grid
by means of a 3D Fast Fourier Transform (FFT),
then multiply it there with
, and Fourier transform
it back to reciprocal space.
In summary, to apply the complete matrix
in
equation (3) to a given vector
with components
, one has to
, multiply it with
, and Fourier transform the result back to
reciprocal space. From now on we will refer to this operation as
the LPO (local potential operation). Then one adds the
and finally add this to the
, which is
efficient to compute (see equation (6)).
The solution of the matrix equation (3) is the subject of our
class project. The matrices encountered typically have dimensions
, and about 10 to 500 eigenvalues and eigenvectors
are desired. For brevity, we will henceforth call the
determination of the m smallest eigenvalues and corresponding
eigenvectors the ``matrix diagonalization''.