The electronic energy is a functional of the spin orbitals, and we want to minimize it subject
to some set of constraints. This can be done using the calculus of variations applied to
functionals. So lets look at a general example of functional variation applied to
E, a functional of some trial wavefunction
that can be linearly varied under a single
constraint.

By equation 74, we see that
, depending on the form of the wavefunction, and
by equation 75 that
can be linearly expanded (hence linearly varied)
in some set of N
functions. This is directly analogous to expanding the asymmetric top rotational wavefunctions
in a complete set of symmetric top rotational wavefunctions. The task is to minimize E
subject to the single constraint that the wavefunction
remain normalized, or
![]()
Writing the energy as
![]()
we want
, so

However, due to the normalization constraint, there is one linear dependancy in the expansion
coefficients. If we simply solve equation 78 for the coefficients, they may no longer
be normalized, and if we solve for N-1 of the coefficients and invoke the normalization
condition to determine the
, the energy may not be stationary about it. So we
construct the function

Taking the differential of
,

Since
and
are arbitrary, the bracketed parts of equation
81 must be zero. Thus
![]()
It is clear that this can be written as a matrix product, and is in fact an eigenvalue equation
in the form
![]()
Knowing that H and S are hermetian, this matrix eigenvalue equation can be
rewritten as

The matrix S
HS
is symmetric and easily diagonalized, with
eigenvectors S
c. These can be transformed (multiply on the left by
S
) to give the optimal coefficients
for stationary state.
This is very powerful, since in one fell swoop we've got the entire energy spectrum and the
appropriate wave functions, properly orthonormal, for all the states. This should illustrate
the general technique we will be employing to develop the Hartree-Fock equations and from them
the algebraic Roothaan equations, which you will be programming later this summer.
On to the true problem. Assume we have a wave function in the form of a Slater determinant of
spin orbitals,
. We state the problem as:
Please minimize the electronic energy of this single determinant subject to the constraint that the spin orbitals all remain orthonormal to one another.We already understand the energy fine by equation 37, and the constraint can be simply stated as













If we apply a unitary rotation to the full set of spin orbitals, generating a new set
![]()
where U is unitary, ie. U
= U
, what changes? The rotation
can be written as a matrix product, if we define A as the matrix resembling the slater
determinant for the system, ie.
det(A) =
.
In that case,
![]()
However, since this matrix U is unitary,
,
and the new wavefunction differs from the old by a phase factor, affecting nothing observable.
How does it affect f(1) and
?


So f(1)' = f(1)! How about
? Start by realizing that
are
matrix elements of the fock operator.

This last result can be written as a martix product as well, and it is seen that this is now a
unitary transformation to the matrix
. We are free to choose U to be
whatever we please, and if we choose it to make
diagonal, we can rewrite
the Hartree-Fock equations as
![]()
When this is done, the resulting spin orbitals are termed the Hartree-Fock canonical orbitals.
Read section 3.3 in Szabo and Ostlund for various fun things to do with the Hartree-Fock
equations.
The problem still remains, though. These are integro-differential equations, which computers
(and computer programmers) balk at. That is why Roothaan is a HERO! Through his results, we
can transform these into a set of matrix formulated algebraic equations that computers and
programmers dig. The general case is too troublesome for now, so let's limit ourselves to
closed shell, RHF orbitals. To take advantage of the simplifications this can afford, we need
to return to the spatial orbital basis. We've derived the spin orbital based Fock operator
![]()
Without further ado, we'll introduce the spatial orbital based Fock operator and be done with
it.

With the properties

Now we introduce a basis set expansion to bring the HF integro-differential equations to
soluable algebraic equations. Letting
,
![]()
Multiplying by
and integrating over electron 1 gives
![]()
Identifying the integrals as matrix elements of the fock operator and the unit operator (overlap)
respectively,
![]()
Using the fact that
is diagonal, this can be written as the matrix product
![]()
So what is F, this so called Fock Matrix? We've defined
before as the
matrix element of the one electron fock operator, f(1) in equation 119. Writing out
this integral and expanding,

This is a quantity which can be easily constructed given a set of molecular orbitals (the
coefficients
) and a precalculated set of atomic orbital integrals. At this point, the
Hartree-Fock equations have been reduced to a matrix eigenvector problem,
, but not in a computationally convenient form. Following the
analysis leading to equation 84, we first define the transformed Fock matrix as
![]()
We can then take
![]()
to be equivalent to equation 127. Since
is diagonal by choice,
diagonalizing the transformed Fock matrix gives a set of transformed molecular orbital
coefficients,
. The matrix
can be back
transformed to give the true MO coefficient matrix,
. The density matrix for these
coefficients is formed by the product
, and can subsequently
be used to construct a new fock matrix via equation 129. Since the overlap matrix
does not depend on the MO coefficients, the same unitary transformation can be applied
to the new fock matrix to give a new transformed fock matrix. This can be diagonalized to
produce new MO coefficients, and the process repeated until convergance. As an initial guess
for the fock matrix, one generally uses the core hamiltonian, ignoring all the two electron
integrals.
![]()
From the core hamiltonian, an initial C is obtained and a much improved Fock
matrix can be built including the two electron integrals. And that's about it for the
Hartree-Fock Self Consistent Field Method. These last few pages will be the most important
when you get around to programming the closed shell SCF method for the specific case of water,
as you will be given the integrals in a file, and you can begin the process by building the core
hamiltonian as described above.