72 The Hartree–Fock method
Counting all different configurations of the indices, likep=r=q,sandq=s,
and so on, 14 different cases are found, and for each of these, the analogue of (4.89)
has to be worked out. We shall not do this here but leave it as an exercise to the
reader.
Add G and h:The Fock matrix is simply the sum of the matrixGwhich was
discussed above, and the uncoupled one-electron matrixh:
Fpq=hpq+Gpq. (4.90)
Diagonalise the Fock matrix:To diagonaliseF, we transform the Roothaan
equation (4.64) with the help of the matrixVto an ordinary eigenvalue as in
Section 3.3:
F′=V†FV, (4.91)
and then we must solve
F′C′=C′ (4.92)
and transform the eigenvectorsC′back to the original ones:
C=VC′. (4.93)
For diagonalising the Fock matrix, we may use the Givens–HouseholderQRmethod
discussed inSection 7.2.1ofAppendix A, which can be found in the Lapack/Atlas
library.
Construct a new density matrix P:From the eigenvectorsCfound in diag-
onalising the Fock matrix, a new density matrix can be constructed which is
the ingredient of the Fock matrix in the next iteration. It is important to realise
that the vectorsCkused in constructing the density matrix should be normalised
according to
1 =〈ψk|ψk〉=
∑
pq
Cpk〈p|q〉Cqk=CkSCk. (4.94)
Converged:The criterion for convergence of the iterative process is the amount
by which the Fock levels and/or the basis functions change from one iteration to
the next. A typical criterion is that the Fock levels have converged to within a small
margin, such as 10−^6 a.u. Sometimes, however, the process does not converge but
ends up oscillating between two or more configurations, or it diverges. This is often
because that the initial guess forPwas too far off the converged value. It might
then help to usemixing: if the changes in the density matrix from one iteration
to another are too large, one takes for the density matrix in the next iteration a
weighted average of the last and the previous density matrix:
Pnewpq =αPpqlast+( 1 −α)Ppreviouspq ,0<α<1. (4.95)