This note derives the canonical Hartree-Fock equations. The
derivation below will be performed under the normally stated rules of
engagement that the orbitals are of the form
or
, so that only the spatial orbitals
are
continuously variable. The derivations allow for the fact that some
spatial spin states may be constrained to be equal.
First, you can make things a lot less messy by a priori specifying the ordering of the orbitals. The ordering makes no difference physically, and it simplifies the mathematics. In particular, in restricted Hartree-Fock some spatial orbitals appear in pairs, but you can only count each spatial orbital as one unknown function. The easiest way to handle that is to push the spin-down versions of the duplicated spatial orbitals to the end of the Slater determinant. Then the start of the determinant comprises a list of unique spatial orbitals.
So, it will be assumed that the orbitals are ordered as follows:
The variational method discussed in chapter 9.1 says that the expectation energy must be unchanged under small changes in the orbitals, provided that penalty terms are added for changes that violate the orthonormality requirements on the orbitals.
The expectation value of energy was in chapter 9.3.3 found to be:

The penalty terms require penalty factors called Lagrangian variables.
The penalty factor for violations of the normalization requirement
In those terms, the penalized change in expectation energy becomes, in
the restricted case that all unique spatial orbitals are mutually
orthogonal,
But for unrestricted Hartree-Fock, spatial orbitals are not required
to be orthogonal if they have opposite spin, because the spins will
take care of orthogonality. You can remove the erroneously added
constraints by simply specifying that the corresponding Lagrangian
variables are zero:
Now work out the penalized change in expectation energy due to a
change in the values of a selected spatial orbital
with
. It is

OK, OK it is a mess. Sums like
are for the
restricted Hartree-Fock case, in which spatial orbital
may
appear twice in the Slater determinant. From now on, just write them
as
, meaning, put in a factor 2 if orbital
appears
twice. The exception is for the exchange integrals which produce
exactly one nonzero spin product; write that as
, meaning take out that product if
the orbital appears twice.
Next, note that the second term in each row is just the complex
conjugate of the first. Considering
as a second
possible change in orbital, as was done in the example in chapter
9.1, it is seen that the first terms by themselves must
be zero, so you can just ignore the second term in each row. And the
integrals with the factors
are pairwise the same; the
difference is just a name swap of the first and second summation and
integration variables. So all that you really have left is
![\begin{eqnarray*}
&& [2] \langle\delta\pe m////\vert h^{\rm e}\vert\pe m////\r...
...n=1}^N \epsilon_{mn}\langle\delta\pe m////\vert\pe n////\rangle
\end{eqnarray*}](img7445.gif)
Now note that if you write out the inner product over the first position coordinate, you will get an integral of the general form

If this integral is to be zero for whatever you take
, then the terms within the parentheses must be zero. (Just
take
proportional to the parenthetical expression;
you would get the integral of an absolute square, only zero if the
square is.) Unavoidably, you must have that
You can divide by [2]:
![]() |
(D.33) |
How about those
, you say? Shouldn’t the right
hand side just be
? Ah, you want the
canonical Hartree-Fock equations, not just the plain vanilla
version.
OK, let’s do the restricted closed-shell Hartree-Fock case first,
then, since it is the easiest one. Every state is paired, so the
lower choice in the curly brackets always applies, and the number of
unique unknown spatial states is
. Also, you can reduce the
summation upper limits
to
if you add a factor 2, since
the second half of the spatial orbitals are the same as the first
half. So you get
Now, suppose that you define a new set of orbitals, each a
linear combination of the current ones:
Now note that the
are orthonormal, so to get a nonzero
value,
must be
, and you get
Call the complete matrix
. Then, according to the rules of matrix
multiplication and Hermitian adjoint, the orthonormality condition
above is equivalent to
where
is the unit matrix.
That means
is the inverse matrix to
,
and then you also have
:
Now premultiply the definition of the new orbitals above by
; you
get
That gives you an expression for the original orbitals in terms of the
new ones. For aesthetic reasons, you might just as well renotate
to
, the Greek equivalent of
, to get
Now plug that into the noncanonical restricted closed-shell
Hartree-Fock equations, with equivalent expressions for
using whatever summation variable is still available,
Note that the only thing that has changed more than just by symbol
names is the matrix in the right hand side. Now for each value of
, take
as the
-th orthonormal eigenvector of
Hermitian matrix
, calling the eigenvalue
. Then the right hand side becomes
Since you no longer care about the old orbitals, you can drop the
overlines on the new ones, and revert to sensible roman indices
and
instead of the Greek ones
and
. You then
have the canonical restricted closed-shell Hartree-Fock equations
![]() |
(D.34) |
In the unrestricted case, the noncanonical equations are
The term in linear algebra is that you want to partition your
matrix. What that means is simply that you separate the orbital
numbers into two sets. The set of numbers
of spin-up
orbitals will be indicated as U, and the set of values
of
spin-down ones by D. So you can partition (separate) the noncanonical
equations above into equations for
(meaning
is one
of the values in set U):
Now separately replace the orbitals of the up and down states by a
modified set just like for the restricted closed-shell case above, for
each using the unitary matrix of eigenvectors of the
coefficients appearing in the right hand side of the equations for
that set. It leaves the equations intact except for changes in names,
but gets rid of the equivalent of the
for
,
leaving only
-equivalent values. Then combine the
spin-up and spin-down equations again into a single expression. You
get, in terms of revised names,
![]() |
(D.35) |
In the restricted open-shell Hartree-Fock method, the partitioning
also needs to include the set P of orbitals
whose spatial
orbitals appear both with spin-up and spin-down in the Slater
determinant. In that case, the procedure above to eliminate the
values for
no longer works, since there are
coefficients relating the sets. This (even more) elaborate case will
be left to the references that you can find in [44].
Woof.