2. Hartree-Fock methods

2.1. Why Hartree-Fock? Derivation of Hartree-Fock equations in coordinate space

Hartree-Fock (HF) theory is an algorithm for finding an approximative expression for the ground state of a given Hamiltonian. The basic ingredients are

  • Define a single-particle basis {ψα} so that

h^HFψα=εαψα

with the Hartree-Fock Hamiltonian defined as

h^HF=t^+u^ext+u^HF
  • The term u^HF is a single-particle potential to be determined by the HF algorithm.

    • The HF algorithm means to choose u^HF in order to have

H^=EHF=Φ0|H^|Φ0

that is to find a local minimum with a Slater determinant Φ0 being the ansatz for the ground state.

  • The variational principle ensures that EHFE0, with E0 the exact ground state energy.

We will show that the Hartree-Fock Hamiltonian h^HF equals our definition of the operator f^ discussed in connection with the new definition of the normal-ordered Hamiltonian (see later lectures), that is we have, for a specific matrix element

p|h^HF|q=p|f^|q=p|t^+u^ext|q+iFpi|V^|qiAS,

meaning that

p|u^HF|q=iFpi|V^|qiAS.

The so-called Hartree-Fock potential u^HF brings an explicit medium dependence due to the summation over all single-particle states below the Fermi level F. It brings also in an explicit dependence on the two-body interaction (in nuclear physics we can also have complicated three- or higher-body forces). The two-body interaction, with its contribution from the other bystanding fermions, creates an effective mean field in which a given fermion moves, in addition to the external potential u^ext which confines the motion of the fermion. For systems like nuclei, there is no external confining potential. Nuclei are examples of self-bound systems, where the binding arises due to the intrinsic nature of the strong force. For nuclear systems thus, there would be no external one-body potential in the Hartree-Fock Hamiltonian.

2.2. Variational Calculus and Lagrangian Multipliers

The calculus of variations involves problems where the quantity to be minimized or maximized is an integral.

In the general case we have an integral of the type

E[Φ]=abf(Φ(x),Φx,x)dx,

where E is the quantity which is sought minimized or maximized. The problem is that although f is a function of the variables Φ, Φ/x and x, the exact dependence of Φ on x is not known. This means again that even though the integral has fixed limits a and b, the path of integration is not known. In our case the unknown quantities are the single-particle wave functions and we wish to choose an integration path which makes the functional E[Φ] stationary. This means that we want to find minima, or maxima or saddle points. In physics we search normally for minima. Our task is therefore to find the minimum of E[Φ] so that its variation δE is zero subject to specific constraints. In our case the constraints appear as the integral which expresses the orthogonality of the single-particle wave functions. The constraints can be treated via the technique of Lagrangian multipliers

Let us specialize to the expectation value of the energy for one particle in three-dimensions. This expectation value reads

E=dxdydzψ(x,y,z)H^ψ(x,y,z),

with the constraint

dxdydzψ(x,y,z)ψ(x,y,z)=1,

and a Hamiltonian

H^=122+V(x,y,z).

We will, for the sake of notational convenience, skip the variables x,y,z below, and write for example V(x,y,z)=V.

The integral involving the kinetic energy can be written as, with the function ψ vanishing strongly for large values of x,y,z (given here by the limits a and b),

abdxdydzψ(122)ψdxdydz=ψψ|ab+abdxdydz12ψψ.

We will drop the limits a and b in the remaining discussion. Inserting this expression into the expectation value for the energy and taking the variational minimum we obtain

δE=δ{dxdydz(12ψψ+Vψψ)}=0.

The constraint appears in integral form as

dxdydzψψ=constant,

and multiplying with a Lagrangian multiplier λ and taking the variational minimum we obtain the final variational equation

δ{dxdydz(12ψψ+Vψψλψψ)}=0.

We introduce the function f

f=12ψψ+Vψψλψψ=12(ψxψx+ψyψy+ψzψz)+Vψψλψψ,

where we have skipped the dependence on x,y,z and introduced the shorthand ψx, ψy and ψz for the various derivatives.

For ψ the Euler-Lagrange equations yield

fψxfψxyfψyzfψz=0,

which results in

12(ψxx+ψyy+ψzz)+Vψ=λψ.

We can then identify the Lagrangian multiplier as the energy of the system. The last equation is nothing but the standard Schroedinger equation and the variational approach discussed here provides a powerful method for obtaining approximate solutions of the wave function.

2.3. Derivation of Hartree-Fock equations in coordinate space

Let us denote the ground state energy by E0. According to the variational principle we have

E0E[Φ]=ΦH^Φdτ

where Φ is a trial function which we assume to be normalized

ΦΦdτ=1,

where we have used the shorthand dτ=dx1dx2dxA.

In the Hartree-Fock method the trial function is a Slater determinant which can be rewritten as

Ψ(x1,x2,,xA,α,β,,ν)=1A!P()PPψα(x1)ψβ(x2)ψν(xA)=A!A^ΦH,

where we have introduced the anti-symmetrization operator A^ defined by the summation over all possible permutations p of two fermions. It is defined as

A^=1A!p()pP^,

with the the Hartree-function given by the simple product of all possible single-particle function

ΦH(x1,x2,,xA,α,β,,ν)=ψα(x1)ψβ(x2)ψν(xA).

Our functional is written as

E[Φ]=μ=1Aψμ(xi)h^0(xi)ψμ(xi)dxi+12μ=1Aν=1A[ψμ(xi)ψν(xj)v^(rij)ψμ(xi)ψν(xj)dxidxjψμ(xi)ψν(xj)v^(rij)ψν(xi)ψμ(xj)dxidxj]

The more compact version reads

E[Φ]=μAμ|h^0|μ+12μνA[μν|v^|μννμ|v^|μν].

Since the interaction is invariant under the interchange of two particles it means for example that we have

μν|v^|μν=νμ|v^|νμ,

or in the more general case

μν|v^|στ=νμ|v^|τσ.

The direct and exchange matrix elements can be brought together if we define the antisymmetrized matrix element

μν|v^|μνAS=μν|v^|μνμν|v^|νμ,

or for a general matrix element

μν|v^|στAS=μν|v^|στμν|v^|τσ.

It has the symmetry property

μν|v^|στAS=μν|v^|τσAS=νμ|v^|στAS.

The antisymmetric matrix element is also hermitian, implying

μν|v^|στAS=στ|v^|μνAS.

With these notations we rewrite the Hartree-Fock functional as

(1)ΦHI^Φdτ=12μ=1Aν=1Aμν|v^|μνAS.

Adding the contribution from the one-body operator H^0 to (1) we obtain the energy functional

(2)E[Φ]=μ=1Aμ|h|μ+12μ=1Aν=1Aμν|v^|μνAS.

In our coordinate space derivations below we will spell out the Hartree-Fock equations in terms of their integrals.

If we generalize the Euler-Lagrange equations to more variables and introduce N2 Lagrange multipliers which we denote by ϵμν, we can write the variational equation for the functional of E

δEμνAϵμνδψμψν=0.

For the orthogonal wave functions ψi this reduces to

δEμ=1Aϵμδψμψμ=0.

Variation with respect to the single-particle wave functions ψμ yields then

3 3

< < < ! ! M A T H _ B L O C K

μ=1Aψμh0^(xi)δψμdxi+12μ=1Aν=1A[ψμψνv^(rij)δψμψνdxidxjψμψνv^(rij)ψνδψμdxidxj]μ=1AEμδψμψμdxiμ=1AEμψμδψμdxi=0.

Although the variations δψ and δψ are not independent, they may in fact be treated as such, so that the terms dependent on either δψ and δψ individually may be set equal to zero. To see this, simply replace the arbitrary variation δψ by iδψ, so that δψ is replaced by iδψ, and combine the two equations. We thus arrive at the Hartree-Fock equations

(3)[12i2+ν=1Aψν(xj)v^(rij)ψν(xj)dxj]ψμ(xi)[ν=1Aψν(xj)v^(rij)ψμ(xj)dxj]ψν(xi)=ϵμψμ(xi).

Notice that the integration dxj implies an integration over the spatial coordinates rj and a summation over the spin-coordinate of fermion j. We note that the factor of 1/2 in front of the sum involving the two-body interaction, has been removed. This is due to the fact that we need to vary both δψμ and δψν. Using the symmetry properties of the two-body interaction and interchanging μ and ν as summation indices, we obtain two identical terms.

The two first terms in the last equation are the one-body kinetic energy and the electron-nucleus potential. The third or direct term is the averaged electronic repulsion of the other electrons. As written, the term includes the self-interaction of electrons when μ=ν. The self-interaction is cancelled in the fourth term, or the exchange term. The exchange term results from our inclusion of the Pauli principle and the assumed determinantal form of the wave-function. Equation (3), in addition to the kinetic energy and the attraction from the atomic nucleus that confines the motion of a single electron, represents now the motion of a single-particle modified by the two-body interaction. The additional contribution to the Schroedinger equation due to the two-body interaction, represents a mean field set up by all the other bystanding electrons, the latter given by the sum over all single-particle states occupied by N electrons.

The Hartree-Fock equation is an example of an integro-differential equation. These equations involve repeated calculations of integrals, in addition to the solution of a set of coupled differential equations. The Hartree-Fock equations can also be rewritten in terms of an eigenvalue problem. The solution of an eigenvalue problem represents often a more practical algorithm and the solution of coupled integro-differential equations. This alternative derivation of the Hartree-Fock equations is given below.

2.4. Analysis of Hartree-Fock equations in coordinate space

A theoretically convenient form of the Hartree-Fock equation is to regard the direct and exchange operator defined through

Vμd(xi)=ψμ(xj)v^(rij)ψμ(xj)dxj

and

Vμex(xi)g(xi)=(ψμ(xj)v^(rij)g(xj)dxj)ψμ(xi),

respectively.

The function g(xi) is an arbitrary function, and by the substitution g(xi)=ψν(xi) we get

Vμex(xi)ψν(xi)=(ψμ(xj)v^(rij)ψν(xj)dxj)ψμ(xi).

We may then rewrite the Hartree-Fock equations as

h^HF(xi)ψν(xi)=ϵνψν(xi),

with

h^HF(xi)=h^0(xi)+μ=1AVμd(xi)μ=1AVμex(xi),

and where h^0(i) is the one-body part. The latter is normally chosen as a part which yields solutions in closed form. The harmonic oscilltor is a classical problem thereof. We normally rewrite the last equation as

h^HF(xi)=h^0(xi)+u^HF(xi).

2.5. Hartree-Fock by varying the coefficients of a wave function expansion

Another possibility is to expand the single-particle functions in a known basis and vary the coefficients, that is, the new single-particle wave function is written as a linear expansion in terms of a fixed chosen orthogonal basis (for example the well-known harmonic oscillator functions or the hydrogen-like functions etc). We define our new Hartree-Fock single-particle basis by performing a unitary transformation on our previous basis (labelled with greek indices) as

(4)ψpHF=λCpλϕλ.

In this case we vary the coefficients Cpλ. If the basis has infinitely many solutions, we need to truncate the above sum. We assume that the basis ϕλ is orthogonal.

It is normal to choose a single-particle basis defined as the eigenfunctions of parts of the full Hamiltonian. The typical situation consists of the solutions of the one-body part of the Hamiltonian, that is we have

h^0ϕλ=ϵλϕλ.

The single-particle wave functions ϕλ(r), defined by the quantum numbers λ and r are defined as the overlap

ϕλ(r)=r|λ.

In deriving the Hartree-Fock equations, we will expand the single-particle functions in a known basis and vary the coefficients, that is, the new single-particle wave function is written as a linear expansion in terms of a fixed chosen orthogonal basis (for example the well-known harmonic oscillator functions or the hydrogen-like functions etc).

We stated that a unitary transformation keeps the orthogonality. To see this consider first a basis of vectors vi,

vi=[vi1vin]

We assume that the basis is orthogonal, that is

vjTvi=δij.

An orthogonal or unitary transformation

wi=Uvi,

preserves the dot product and orthogonality since

wjTwi=(Uvj)TUvi=vjTUTUvi=vjTvi=δij.

This means that if the coefficients Cpλ belong to a unitary or orthogonal trasformation (using the Dirac bra-ket notation)

|p=λCpλ|λ,

orthogonality is preserved, that is α|β=δαβ and p|q=δpq.

This propertry is extremely useful when we build up a basis of many-body Stater determinant based states.

Note also that although a basis |α contains an infinity of states, for practical calculations we have always to make some truncations.

Before we develop the Hartree-Fock equations, there is another very useful property of determinants that we will use both in connection with Hartree-Fock calculations and later shell-model calculations.

Consider the following determinant

|α1b11+α2sb12a12α1b21+α2b22a22|=α1|b11a12b21a22|+α2|b12a12b22a22|

We can generalize this to an n×n matrix and have

|a11a12k=1nckb1ka1na21a22k=1nckb2ka2nan1an2k=1nckbnkann|=k=1nck|a11a12b1ka1na21a22b2ka2nan1an2bnkann|.

This is a property we will use in our Hartree-Fock discussions.

We can generalize the previous results, now with all elements aij being given as functions of linear combinations of various coefficients c and elements bij,

|k=1nb1kck1k=1nb1kck2k=1nb1kckjk=1nb1kcknk=1nb2kck1k=1nb2kck2k=1nb2kckjk=1nb2kcknk=1nbnkck1k=1nbnkck2k=1nbnkckjk=1nbnkckn|=det(C)det(B),

where det(C) and det(B) are the determinants of n×n matrices with elements cij and bij respectively.
This is a property we will use in our Hartree-Fock discussions. Convince yourself about the correctness of the above expression by setting n=2.

With our definition of the new basis in terms of an orthogonal basis we have

ψp(x)=λCpλϕλ(x).

If the coefficients Cpλ belong to an orthogonal or unitary matrix, the new basis is also orthogonal. Our Slater determinant in the new basis ψp(x) is written as

1A!|ψp(x1)ψp(x2)ψp(xA)ψq(x1)ψq(x2)ψq(xA)ψt(x1)ψt(x2)ψt(xA)|=1A!|λCpλϕλ(x1)λCpλϕλ(x2)λCpλϕλ(xA)λCqλϕλ(x1)λCqλϕλ(x2)λCqλϕλ(xA)λCtλϕλ(x1)λCtλϕλ(x2)λCtλϕλ(xA)|,

which is nothing but det(C)det(Φ), with det(Φ) being the determinant given by the basis functions ϕλ(x).

In our discussions hereafter we will use our definitions of single-particle states above and below the Fermi (F) level given by the labels ijklF for so-called single-hole states and abcd>F for so-called particle states. For general single-particle states we employ the labels pqrs.

In Eq. (2), restated here

E[Φ]=μ=1Aμ|h|μ+12μ=1Aν=1Aμν|v^|μνAS,

we found the expression for the energy functional in terms of the basis function ϕλ(r). We then varied the above energy functional with respect to the basis functions |μ. Now we are interested in defining a new basis defined in terms of a chosen basis as defined in Eq. (4). We can then rewrite the energy functional as

(5)E[ΦHF]=i=1Ai|h|i+12ij=1Aij|v^|ijAS,

where ΦHF is the new Slater determinant defined by the new basis of Eq. (4).

Using Eq. (4) we can rewrite Eq. (5) as

(6)E[Ψ]=i=1AαβCiαCiβα|h|β+12ij=1AαβγδCiαCjβCiγCjδαβ|v^|γδAS.

We wish now to minimize the above functional. We introduce again a set of Lagrange multipliers, noting that since i|j=δi,j and α|β=δα,β, the coefficients Ciγ obey the relation

i|j=δi,j=αβCiαCiβα|β=αCiαCiα,

which allows us to define a functional to be minimized that reads

(7)F[ΦHF]=E[ΦHF]i=1AϵiαCiαCiα.

Minimizing with respect to Ciα, remembering that the equations for Ciα and Ciα can be written as two independent equations, we obtain

ddCiα[E[ΦHF]jϵjαCjαCjα]=0,

which yields for every single-particle state i and index α (recalling that the coefficients Ciα are matrix elements of a unitary (or orthogonal for a real symmetric matrix) matrix) the following Hartree-Fock equations

βCiβα|h|β+j=1AβγδCjβCjδCiγαβ|v^|γδAS=ϵiHFCiα.

We can rewrite this equation as (changing dummy variables)

β{α|h|β+jAγδCjγCjδαγ|v^|βδAS}Ciβ=ϵiHFCiα.

Note that the sums over greek indices run over the number of basis set functions (in principle an infinite number).

Defining

hαβHF=α|h|β+j=1AγδCjγCjδαγ|v^|βδAS,

we can rewrite the new equations as

(8)βhαβHFCiβ=ϵiHFCiα.

The latter is nothing but a standard eigenvalue problem. Compared with Eq. (3), we see that we do not need to compute any integrals in an iterative procedure for solving the equations. It suffices to tabulate the matrix elements α|h|β and αγ|v^|βδAS once and for all. Successive iterations require thus only a look-up in tables over one-body and two-body matrix elements. These details will be discussed below when we solve the Hartree-Fock equations numerical.

2.6. Hartree-Fock algorithm

Our Hartree-Fock matrix is thus

h^αβHF=α|h^0|β+j=1AγδCjγCjδαγ|v^|βδAS.

The Hartree-Fock equations are solved in an iterative waym starting with a guess for the coefficients Cjγ=δj,γ and solving the equations by diagonalization till the new single-particle energies ϵiHF do not change anymore by a prefixed quantity.

Normally we assume that the single-particle basis |β forms an eigenbasis for the operator h^0, meaning that the Hartree-Fock matrix becomes

h^αβHF=ϵαδα,β+j=1AγδCjγCjδαγ|v^|βδAS.

The Hartree-Fock eigenvalue problem

βh^αβHFCiβ=ϵiHFCiα,

can be written out in a more compact form as

h^HFC^=ϵHFC^.

The Hartree-Fock equations are, in their simplest form, solved in an iterative way, starting with a guess for the coefficients Ciα. We label the coefficients as Ciα(n), where the subscript n stands for iteration n. To set up the algorithm we can proceed as follows:

  • We start with a guess Ciα(0)=δi,α. Alternatively, we could have used random starting values as long as the vectors are normalized. Another possibility is to give states below the Fermi level a larger weight.

  • The Hartree-Fock matrix simplifies then to (assuming that the coefficients Ciα are real)

h^αβHF=ϵαδα,β+j=1AγδCjγ(0)Cjδ(0)αγ|v^|βδAS.

Solving the Hartree-Fock eigenvalue problem yields then new eigenvectors Ciα(1) and eigenvalues ϵiHF(1).

  • With the new eigenvalues we can set up a new Hartree-Fock potential

j=1AγδCjγ(1)Cjδ(1)αγ|v^|βδAS.

The diagonalization with the new Hartree-Fock potential yields new eigenvectors and eigenvalues. This process is continued till for example

p|ϵi(n)ϵi(n1)|mλ,

where λ is a user prefixed quantity (λ108 or smaller) and p runs over all calculated single-particle energies and m is the number of single-particle states.

2.7. Analysis of Hartree-Fock equations and Koopman’s theorem

We can rewrite the ground state energy by adding and subtracting u^HF(xi)

E0HF=Φ0|H^|Φ0=iFAi|h^0+u^HF|j+12iFAjFA[ij|v^|ijij|v^|ji]iFAi|u^HF|i,

which results in

E0HF=iFAεiHF+12iFAjFA[ij|v^|ijij|v^|ji]iFAi|u^HF|i.

Our single-particle states ijk are now single-particle states obtained from the solution of the Hartree-Fock equations.

Using our definition of the Hartree-Fock single-particle energies we obtain then the following expression for the total ground-state energy

E0HF=iFAεi12iFAjFA[ij|v^|ijij|v^|ji].

This form will be used in our discussion of Koopman’s theorem.

In the atomic physics case we have

E[ΦHF(N)]=i=1Hi|h^0|i+12ij=1Nij|v^|ijAS,

where ΦHF(N) is the new Slater determinant defined by the new basis of Eq. (4) for N electrons (same Z). If we assume that the single-particle wave functions in the new basis do not change when we remove one electron or add one electron, we can then define the corresponding energy for the N1 systems as

E[ΦHF(N1)]=i=1;ikNi|h^0|i+12ij=1;i,jkNij|v^|ijAS,

where we have removed a single-particle state kF, that is a state below the Fermi level.

Calculating the difference

E[ΦHF(N)]E[ΦHF(N1)]=k|h^0|k+12i=1;ikNik|v^|ikAS+12j=1;jkNkj|v^|kjAS,

we obtain

E[ΦHF(N)]E[ΦHF(N1)]=k|h^0|k+j=1Nkj|v^|kjAS

which is just our definition of the Hartree-Fock single-particle energy

E[ΦHF(N)]E[ΦHF(N1)]=ϵkHF

Similarly, we can now compute the difference (we label the single-particle states above the Fermi level as abcd>F)

E[ΦHF(N+1)]E[ΦHF(N)]=ϵaHF.

These two equations can thus be used to the electron affinity or ionization energies, respectively. Koopman’s theorem states that for example the ionization energy of a closed-shell system is given by the energy of the highest occupied single-particle state. If we assume that changing the number of electrons from N to N+1 does not change the Hartree-Fock single-particle energies and eigenfunctions, then Koopman’s theorem simply states that the ionization energy of an atom is given by the single-particle energy of the last bound state. In a similar way, we can also define the electron affinities.

As an example, consider a simple model for atomic sodium, Na. Neutral sodium has eleven electrons, with the weakest bound one being confined the 3s single-particle quantum numbers. The energy needed to remove an electron from neutral sodium is rather small, 5.1391 eV, a feature which pertains to all alkali metals. Having performed a Hartree-Fock calculation for neutral sodium would then allows us to compute the ionization energy by using the single-particle energy for the 3s states, namely ϵ3sHF.

From these considerations, we see that Hartree-Fock theory allows us to make a connection between experimental observables (here ionization and affinity energies) and the underlying interactions between particles.
In this sense, we are now linking the dynamics and structure of a many-body system with the laws of motion which govern the system. Our approach is a reductionistic one, meaning that we want to understand the laws of motion in terms of the particles or degrees of freedom which we believe are the fundamental ones. Our Slater determinant, being constructed as the product of various single-particle functions, follows this philosophy.

With similar arguments as in atomic physics, we can now use Hartree-Fock theory to make a link between nuclear forces and separation energies. Changing to nuclear system, we define

E[ΦHF(A)]=i=1Ai|h^0|i+12ij=1Aij|v^|ijAS,

where ΦHF(A) is the new Slater determinant defined by the new basis of Eq. (4) for A nucleons, where A=N+Z, with N now being the number of neutrons and Z th enumber of protons. If we assume again that the single-particle wave functions in the new basis do not change from a nucleus with A nucleons to a nucleus with A1 nucleons, we can then define the corresponding energy for the A1 systems as

E[ΦHF(A1)]=i=1;ikAi|h^0|i+12ij=1;i,jkAij|v^|ijAS,

where we have removed a single-particle state kF, that is a state below the Fermi level.

Calculating the difference

E[ΦHF(A)]E[ΦHF(A1)]=k|h^0|k+12i=1;ikAik|v^|ikAS+12j=1;jkAkj|v^|kjAS,

which becomes

E[ΦHF(A)]E[ΦHF(A1)]=k|h^0|k+j=1Akj|v^|kjAS

which is just our definition of the Hartree-Fock single-particle energy

E[ΦHF(A)]E[ΦHF(A1)]=ϵkHF

Similarly, we can now compute the difference (recall that the single-particle states abcd>F)

E[ΦHF(A+1)]E[ΦHF(A)]=ϵaHF.

If we then recall that the binding energy differences

BE(A)BE(A1)andBE(A+1)BE(A),

define the separation energies, we see that the Hartree-Fock single-particle energies can be used to define separation energies. We have thus our first link between nuclear forces (included in the potential energy term) and an observable quantity defined by differences in binding energies.

We have thus the following interpretations (if the single-particle fields do not change)

BE(A)BE(A1)E[ΦHF(A)]E[ΦHF(A1)]=ϵkHF,

and

BE(A+1)BE(A)E[ΦHF(A+1)]E[ΦHF(A)]=ϵaHF.

If we use 16O as our closed-shell nucleus, we could then interpret the separation energy

BE(16O)BE(15O)ϵ0p1/2νHF,

and

BE(16O)BE(15N)ϵ0p1/2πHF.

Similalry, we could interpret

BE(17O)BE(16O)ϵ0d5/2νHF,

and

BE(17F)BE(16O)ϵ0d5/2πHF.

We can continue like this for all A±1 nuclei where A is a good closed-shell (or subshell closure) nucleus. Examples are 22O, 24O, 40Ca, 48Ca, 52Ca, 54Ca, 56Ni, 68Ni, 78Ni, 90Zr, 88Sr, 100Sn, 132Sn and 208Pb, to mention some possile cases.

We can thus make our first interpretation of the separation energies in terms of the simplest possible many-body theory. If we also recall that the so-called energy gap for neutrons (or protons) is defined as

ΔSn=2BE(N,Z)BE(N1,Z)BE(N+1,Z),

for neutrons and the corresponding gap for protons

ΔSp=2BE(N,Z)BE(N,Z1)BE(N,Z+1),

we can define the neutron and proton energy gaps for 16O as

ΔSν=ϵ0d5/2νHFϵ0p1/2νHF,

and

ΔSπ=ϵ0d5/2πHFϵ0p1/2πHF.

2.8. Exercise 1: Derivation of Hartree-Fock equations

Consider a Slater determinant built up of single-particle orbitals ψλ, with λ=1,2,,N.

The unitary transformation

ψa=λCaλϕλ,

brings us into the new basis.
The new basis has quantum numbers a=1,2,,N.

a) Show that the new basis is orthonormal.

b) Show that the new Slater determinant constructed from the new single-particle wave functions can be written as the determinant based on the previous basis and the determinant of the matrix C.

c) Show that the old and the new Slater determinants are equal up to a complex constant with absolute value unity.

Hint. Use the fact that C is a unitary matrix.

2.9. Exercise 2: Derivation of Hartree-Fock equations

Consider the Slater determinant

Φ0=1n!p()pPi=1nψαi(xi).

A small variation in this function is given by

δΦ0=1n!p()pPψα1(x1)ψα2(x2)ψαi1(xi1)(δψαi(xi))ψαi+1(xi+1)ψαn(xn).

a) Show that

δΦ0|i=1n{t(xi)+u(xi)}+12ij=1nv(xi,xj)|Φ0=i=1nδψαi|t^+u^|ϕαi+ij=1n{δψαiψαj|v^|ψαiψαjδψαiψαj|v^|ψαjψαi}

2.10. Exercise 3: Developing a Hartree-Fock program

Neutron drops are a powerful theoretical laboratory for testing, validating and improving nuclear structure models. Indeed, all approaches to nuclear structure, from ab initio theory to shell model to density functional theory are applicable in such systems. We will, therefore, use neutron drops as a test system for setting up a Hartree-Fock code. This program can later be extended to studies of the binding energy of nuclei like 16O or 40Ca. The single-particle energies obtained by solving the Hartree-Fock equations can then be directly related to experimental separation energies. Since Hartree-Fock theory is the starting point for several many-body techniques (density functional theory, random-phase approximation, shell-model etc), the aim here is to develop a computer program to solve the Hartree-Fock equations in a given single-particle basis, here the harmonic oscillator.

The Hamiltonian for a system of N neutron drops confined in a harmonic potential reads

H^=i=1Np^i22m+i=1N12mωri2+i<jV^ij,

with 2/2m=20.73 fm2, mc2=938.90590 MeV, and V^ij is the two-body interaction potential whose matrix elements are precalculated and to be read in by you.

The Hartree-Fock algorithm can be broken down as follows. We recall that our Hartree-Fock matrix is

h^αβHF=α|h^0|β+j=1NγδCjγCjδαγ|V|βδAS.

Normally we assume that the single-particle basis |β forms an eigenbasis for the operator h^0 (this is our case), meaning that the Hartree-Fock matrix becomes

h^αβHF=ϵαδα,β+j=1NγδCjγCjδαγ|V|βδAS.

The Hartree-Fock eigenvalue problem

βh^αβHFCiβ=ϵiHFCiα,

can be written out in a more compact form as

h^HFC^=ϵHFC^.

The equations are often rewritten in terms of a so-called density matrix, which is defined as

(9)ργδ=i=1Nγ|ii|δ=i=1NCiγCiδ.

It means that we can rewrite the Hartree-Fock Hamiltonian as

h^αβHF=ϵαδα,β+γδργδαγ|V|βδAS.

It is convenient to use the density matrix since we can precalculate in every iteration the product of two eigenvector components C.

Note that α|h^0|β denotes the matrix elements of the one-body part of the starting hamiltonian. For self-bound nuclei α|h^0|β is the kinetic energy, whereas for neutron drops, α|h^0|β represents the harmonic oscillator hamiltonian since the system is confined in a harmonic trap. If we are working in a harmonic oscillator basis with the same ω as the trapping potential, then α|h^0|β is diagonal.

The python program shows how one can, in a brute force way read in matrix elements in m-scheme and compute the Hartree-Fock single-particle energies for four major shells. The interaction which has been used is the so-called N3LO interaction of Machleidt and Entem using the Similarity Renormalization Group approach method to renormalize the interaction, using an oscillator energy ω=10 MeV.

The nucleon-nucleon two-body matrix elements are in m-scheme and are fully anti-symmetrized. The Hartree-Fock programs uses the density matrix discussed above in order to compute the Hartree-Fock matrix. Here we display the Hartree-Fock part only, assuming that single-particle data and two-body matrix elements have already been read in.

import numpy as np 
from decimal import Decimal
# expectation value for the one body part, Harmonic oscillator in three dimensions
def onebody(i, n, l):
        homega = 10.0
        return homega*(2*n[i] + l[i] + 1.5)

if __name__ == '__main__':
        
    Nparticles = 16
    """ Read quantum numbers from file """
    index = []
    n = []
    l = []
    j = []
    mj = []
    tz = []
    spOrbitals = 0
    with open("nucleispnumbers.dat", "r") as qnumfile:
                for line in qnumfile:
                        nums = line.split()
                        if len(nums) != 0:
                                index.append(int(nums[0]))
                                n.append(int(nums[1]))
                                l.append(int(nums[2]))
                                j.append(int(nums[3]))
                                mj.append(int(nums[4]))
                                tz.append(int(nums[5]))
                                spOrbitals += 1


    """ Read two-nucleon interaction elements (integrals) from file, brute force 4-dim array """
    nninteraction = np.zeros([spOrbitals, spOrbitals, spOrbitals, spOrbitals])
    with open("nucleitwobody.dat", "r") as infile:
        for line in infile:
                number = line.split()
                a = int(number[0]) - 1
                b = int(number[1]) - 1
                c = int(number[2]) - 1
                d = int(number[3]) - 1
                nninteraction[a][b][c][d] = Decimal(number[4])
        """ Set up single-particle integral """
        singleparticleH = np.zeros(spOrbitals)
        for i in range(spOrbitals):
                singleparticleH[i] = Decimal(onebody(i, n, l))
        
        """ Star HF-iterations, preparing variables and density matrix """

        """ Coefficients for setting up density matrix, assuming only one along the diagonals """
        C = np.eye(spOrbitals) # HF coefficients
        DensityMatrix = np.zeros([spOrbitals,spOrbitals])
        for gamma in range(spOrbitals):
            for delta in range(spOrbitals):
                sum = 0.0
                for i in range(Nparticles):
                    sum += C[gamma][i]*C[delta][i]
                DensityMatrix[gamma][delta] = Decimal(sum)
        maxHFiter = 100
        epsilon =  1.0e-5 
        difference = 1.0
        hf_count = 0
        oldenergies = np.zeros(spOrbitals)
        newenergies = np.zeros(spOrbitals)
        while hf_count < maxHFiter and difference > epsilon:
                print("############### Iteration %i ###############" % hf_count)
                HFmatrix = np.zeros([spOrbitals,spOrbitals])            
                for alpha in range(spOrbitals):
                        for beta in range(spOrbitals):
                            """  If tests for three-dimensional systems, including isospin conservation """
                            if l[alpha] != l[beta] and j[alpha] != j[beta] and mj[alpha] != mj[beta] and tz[alpha] != tz[beta]: continue
                            """  Setting up the Fock matrix using the density matrix and antisymmetrized NN interaction in m-scheme """
                            sumFockTerm = 0.0
                            for gamma in range(spOrbitals):
                                for delta in range(spOrbitals):
                                    if (mj[alpha]+mj[gamma]) != (mj[beta]+mj[delta]) and (tz[alpha]+tz[gamma]) != (tz[beta]+tz[delta]): continue
                                    sumFockTerm += DensityMatrix[gamma][delta]*nninteraction[alpha][gamma][beta][delta]
                            HFmatrix[alpha][beta] = Decimal(sumFockTerm)
                            """  Adding the one-body term, here plain harmonic oscillator """
                            if beta == alpha:   HFmatrix[alpha][alpha] += singleparticleH[alpha]
                spenergies, C = np.linalg.eigh(HFmatrix)
                """ Setting up new density matrix in m-scheme """
                DensityMatrix = np.zeros([spOrbitals,spOrbitals])
                for gamma in range(spOrbitals):
                    for delta in range(spOrbitals):
                        sum = 0.0
                        for i in range(Nparticles):
                            sum += C[gamma][i]*C[delta][i]
                        DensityMatrix[gamma][delta] = Decimal(sum)
                newenergies = spenergies
                """ Brute force computation of difference between previous and new sp HF energies """
                sum =0.0
                for i in range(spOrbitals):
                    sum += (abs(newenergies[i]-oldenergies[i]))/spOrbitals
                difference = sum
                oldenergies = newenergies
                print ("Single-particle energies, ordering may have changed ")
                for i in range(spOrbitals):
                    print('{0:4d}  {1:.4f}'.format(i, Decimal(oldenergies[i])))
                hf_count += 1
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
Input In [1], in <cell line: 8>()
     17 tz = []
     18 spOrbitals = 0
---> 19 with open("nucleispnumbers.dat", "r") as qnumfile:
     20             for line in qnumfile:
     21                     nums = line.split()

FileNotFoundError: [Errno 2] No such file or directory: 'nucleispnumbers.dat'

Running the program, one finds that the lowest-lying states for a nucleus like 16O, we see that the nucleon-nucleon force brings a natural spin-orbit splitting for the 0p states (or other states except the s-states). Since we are using the m-scheme for our calculations, we observe that there are several states with the same eigenvalues. The number of eigenvalues corresponds to the degeneracy 2j+1 and is well respected in our calculations, as see from the table here.

The values of the lowest-lying states are (π for protons and ν for neutrons)

Quantum numbers Energy [MeV]
$0s_{1/2}^{\pi}$ -40.4602
$0s_{1/2}^{\pi}$ -40.4602
$0s_{1/2}^{\nu}$ -40.6426
$0s_{1/2}^{\nu}$ -40.6426
$0p_{1/2}^{\pi}$ -6.7133
$0p_{1/2}^{\pi}$ -6.7133
$0p_{1/2}^{\nu}$ -6.8403
$0p_{1/2}^{\nu}$ -6.8403
$0p_{3/2}^{\pi}$ -11.5886
$0p_{3/2}^{\pi}$ -11.5886
$0p_{3/2}^{\pi}$ -11.5886
$0p_{3/2}^{\pi}$ -11.5886
$0p_{3/2}^{\nu}$ -11.7201
$0p_{3/2}^{\nu}$ -11.7201
$0p_{3/2}^{\nu}$ -11.7201
$0p_{3/2}^{\nu}$ -11.7201
$0d_{5/2}^{\pi}$ 18.7589
$0d_{5/2}^{\nu}$ 18.8082
We can use these results to attempt our first link with experimental data, namely to compute the shell gap or the separation energies. The shell gap for neutrons is given by
ΔSn=2BE(N,Z)BE(N1,Z)BE(N+1,Z).

For 16O we have an experimental value for the shell gap of 11.51 MeV for neutrons, while our Hartree-Fock calculations result in 25.65 MeV. This means that correlations beyond a simple Hartree-Fock calculation with a two-body force play an important role in nuclear physics. The splitting between the 0p3/2ν and the 0p1/2ν state is 4.88 MeV, while the experimental value for the gap between the ground state 1/2 and the first excited 3/2 states is 6.08 MeV. The two-nucleon spin-orbit force plays a central role here. In our discussion of nuclear forces we will see how the spin-orbit force comes into play here.

2.11. Hartree-Fock in second quantization and stability of HF solution

We wish now to derive the Hartree-Fock equations using our second-quantized formalism and study the stability of the equations. Our ansatz for the ground state of the system is approximated as (this is our representation of a Slater determinant in second quantization)

|Φ0=|c=aiajal|0.

We wish to determine u^HF so that E0HF=c|H^|c becomes a local minimum.

In our analysis here we will need Thouless’ theorem, which states that an arbitrary Slater determinant |c which is not orthogonal to a determinant |c=i=1naαi|0, can be written as

|c=exp{a>FiFCaiaaai}|c

Let us give a simple proof of Thouless’ theorem. The theorem states that we can make a linear combination av particle-hole excitations with respect to a given reference state |c. With this linear combination, we can make a new Slater determinant |c which is not orthogonal to |c, that is

c|c0.

To show this we need some intermediate steps. The exponential product of two operators expA^×expB^ is equal to exp(A^+B^) only if the two operators commute, that is

[A^,B^]=0.

2.12. Thouless’ theorem

If the operators do not commute, we need to resort to the Baker-Campbell-Hauersdorf. This relation states that

expC^=expA^expB^,

with

C^=A^+B^+12[A^,B^]+112[[A^,B^],B^]112[[A^,B^],A^]+

From these relations, we note that in our expression for |c we have commutators of the type

[aaai,abaj],

and it is easy to convince oneself that these commutators, or higher powers thereof, are all zero. This means that we can write out our new representation of a Slater determinant as

|c=exp{a>FiFCaiaaai}|c=i{1+a>FCaiaaai+(a>FCaiaaai)2+}|c

We note that

ia>FCaiaaaib>FCbiabai|c=0,

and all higher-order powers of these combinations of creation and annihilation operators disappear due to the fact that (ai)n|c=0 when n>1. This allows us to rewrite the expression for |c as

|c=i{1+a>FCaiaaai}|c,

which we can rewrite as

|c=i{1+a>FCaiaaai}|ai1ai2ain|0.

The last equation can be written as

(10)|c=i{1+a>FCaiaaai}|ai1ai2ain|0=(1+a>FCai1aaai1)ai1
(11)×(1+a>FCai2aaai2)ai2|0=i(ai+a>FCaiaa)|0.

2.13. New operators

If we define a new creation operator

(12)bi=ai+a>FCaiaa,

we have

|c=ibi|0=i(ai+a>FCaiaa)|0,

meaning that the new representation of the Slater determinant in second quantization, |c, looks like our previous ones. However, this representation is not general enough since we have a restriction on the sum over single-particle states in Eq. (12). The single-particle states have all to be above the Fermi level. The question then is whether we can construct a general representation of a Slater determinant with a creation operator

b~i=pfipap,

where fip is a matrix element of a unitary matrix which transforms our creation and annihilation operators a and a to b~ and b~. These new operators define a new representation of a Slater determinant as

|c~=ib~i|0.

2.14. Showing that |c~=|c

We need to show that |c~=|c. We need also to assume that the new state is not orthogonal to |c, that is c|c~0. From this it follows that

c|c~=0|ainai1(p=i1infi1pap)(q=i1infi2qaq)(t=i1infintat)|0,

which is nothing but the determinant det(fip) which we can, using the intermediate normalization condition, normalize to one, that is

det(fip)=1,

meaning that f has an inverse defined as (since we are dealing with orthogonal, and in our case unitary as well, transformations)

kfikfkj1=δij,

and

jfij1fjk=δik.

Using these relations we can then define the linear combination of creation (and annihilation as well) operators as

ifki1b~i=ifki1p=i1fipap=ak+ip=in+1fki1fipap.

Defining

ckp=iFfki1fip,

we can redefine

ak+ip=in+1fki1fipap=ak+p=in+1ckpap=bk,

our starting point. We have shown that our general representation of a Slater determinant

|c~=ib~i|0=|c=ibi|0,

with

bk=ak+p=in+1ckpap.

This means that we can actually write an ansatz for the ground state of the system as a linear combination of terms which contain the ansatz itself |c with an admixture from an infinity of one-particle-one-hole states. The latter has important consequences when we wish to interpret the Hartree-Fock equations and their stability. We can rewrite the new representation as

|c=|c+|δc,

where |δc can now be interpreted as a small variation. If we approximate this term with contributions from one-particle-one-hole (1p-1h) states only, we arrive at

|c=(1+aiδCaiaaai)|c.

In our derivation of the Hartree-Fock equations we have shown that

δc|H^|c=0,

which means that we have to satisfy

c|aiδCai{aaai}H^|c=0.

With this as a background, we are now ready to study the stability of the Hartree-Fock equations.

2.15. Hartree-Fock in second quantization and stability of HF solution

The variational condition for deriving the Hartree-Fock equations guarantees only that the expectation value c|H^|c has an extreme value, not necessarily a minimum. To figure out whether the extreme value we have found is a minimum, we can use second quantization to analyze our results and find a criterion for the above expectation value to a local minimum. We will use Thouless’ theorem and show that

c|H^|cc|cc|H^|c=E0,

with

|c=|c+|δc.

Using Thouless’ theorem we can write out |c as

(13)|c=exp{a>FiFδCaiaaai}|c
(14)={1+a>FiFδCaiaaai+12!ab>FijFδCaiδCbjaaaiabaj+}

where the amplitudes δC are small.

The norm of |c is given by (using the intermediate normalization condition c|c=1)

c|c=1+a>FiF|δCai|2+O(δCai3).

The expectation value for the energy is now given by (using the Hartree-Fock condition)

1 4 5

< < < ! ! M A T H _ B L O C K

12!ab>FijFδCaiδCbjc|H^aaaiabaj|c+12!ab>FijFδCaiδCbjc|ajabaiaaH^|c+

We have already calculated the second term on the right-hand side of the previous equation

(15)c|({aiaa}H^{abaj})|c=pqijabδCaiδCbjp|h^0|qc|({aiaa}{apaq}{abaj})|c
(16)+14pqrsijabδCaiδCbjpq|v^|rsc|({aiaa}{apaqasar}{abaj})|c,

resulting in

E0ai|δCai|2+ai|δCai|2(εaεi)ijabaj|v^|biδCaiδCbj.
12!c|({ajab}{aiaa}V^N)|c=12!c|(V^N{aaai}{abaj})|c

which is nothing but

12!c|(V^N{aaai}{abaj})|c=12ijab(ij|v^|ab)δCaiδCbj

or

12ijab(ab|v^|ij)δCaiδCbj

where we have used the relation

a|A^|b=(b|A^|a)

due to the hermiticity of H^ and V^.

We define two matrix elements

Aai,bj=aj|v^bi

and

Bai,bj=ab|v^|ij

both being anti-symmetrized.

With these definitions we write out the energy as

(17)c|H|c=(1+ai|δCai|2)c|H|c+ai|δCai|2(εaHFεiHF)+ijabAai,bjδCaiδCbj+
(18)12ijabBai,bjδCaiδCbj+12ijabBai,bjδCaiδCbj+O(δCai3),

which can be rewritten as

c|H|c=(1+ai|δCai|2)c|H|c+ΔE+O(δCai3),

and skipping higher-order terms we arrived

c|H^|cc|c=E0+ΔE(1+ai|δCai|2).

We have defined

ΔE=12χ|M^|χ

with the vectors

χ=[δCδC]T

and the matrix

M^=(Δ+ABBΔ+A),

with Δai,bj=(εaεi)δabδij.

The condition

ΔE=12χ|M^|χ0

for an arbitrary vector

χ=[δCδC]T

means that all eigenvalues of the matrix have to be larger than or equal zero. A necessary (but no sufficient) condition is that the matrix elements (for all ai )

(εaεi)δabδij+Aai,bj0.

This equation can be used as a first test of the stability of the Hartree-Fock equation.