Hartree-Fock (HF) theory is an algorithm for finding an approximative expression for the ground state of a given Hamiltonian. The basic ingredients are
ˆhHFψα=εαψα
with the Hartree-Fock Hamiltonian defined as
ˆhHF=ˆt+ˆuext+ˆuHF
⟨ˆH⟩=EHF=⟨Φ0|ˆH|Φ0⟩
that is to find a local minimum with a Slater determinant Φ0 being the ansatz for the ground state.
We will show that the Hartree-Fock Hamiltonian ˆhHF 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|ˆhHF|q⟩=⟨p|ˆf|q⟩=⟨p|ˆt+ˆuext|q⟩+∑i≤F⟨pi|ˆV|qi⟩AS,
meaning that
⟨p|ˆuHF|q⟩=∑i≤F⟨pi|ˆV|qi⟩AS.
The so-called Hartree-Fock potential ˆuHF 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 ˆuext 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.
Before we proceed we need some definitions. We will assume that the interacting part of the Hamiltonian can be approximated by a two-body interaction. This means that our Hamiltonian is written as the sum of some onebody part and a twobody part
ˆH=ˆH0+ˆHI=A∑i=1ˆh0(xi)+A∑i<jˆv(rij),
with
H0=A∑i=1ˆh0(xi).
The onebody part uext(xi) is normally approximated by a harmonic oscillator or Woods-Saxon potential or for electronic systems the Coulomb interaction an electron feels from the nucleus. However, other potentials are fully possible, such as
one derived from the self-consistent solution of the Hartree-Fock equations to be discussed here.
Our Hamiltonian is invariant under the permutation (interchange) of two particles. Since we deal with fermions however, the total wave function is antisymmetric. Let ˆP be an operator which interchanges two particles. Due to the symmetries we have ascribed to our Hamiltonian, this operator commutes with the total Hamiltonian,
[ˆH,ˆP]=0,
meaning that Ψλ(x1,x2,…,xA) is an eigenfunction of
ˆP as well, that is
ˆPijΨλ(x1,x2,…,xi,…,xj,…,xA)=βΨλ(x1,x2,…,xi,…,xj,…,xA),
where β is the eigenvalue of ˆP. We have introduced the suffix ij in order to indicate that we permute particles i and j.
The Pauli principle tells us that the total wave function for a system of fermions
has to be antisymmetric, resulting in the eigenvalue β=−1.
In our case we assume that we can approximate the exact eigenfunction with a Slater determinant
Φ(x1,x2,…,xA,α,β,…,σ)=1√A!|ψα(x1)ψα(x2)……ψα(xA)ψβ(x1)ψβ(x2)……ψβ(xA)…………………………ψσ(x1)ψσ(x2)……ψσ(xA)|,
where xi stand for the coordinates and spin values of a particle i and α,β,…,γ
are quantum numbers needed to describe remaining quantum numbers.
The single-particle function ψα(xi) are eigenfunctions of the onebody Hamiltonian hi, that is
ˆh0(xi)=ˆt(xi)+ˆuext(xi),
with eigenvalues
ˆh0(xi)ψα(xi)=(ˆt(xi)+ˆuext(xi))ψα(xi)=εαψα(xi).
The energies εα are the so-called non-interacting single-particle energies, or unperturbed energies.
The total energy is in this case the sum over all single-particle energies, if no two-body or more complicated
many-body interactions are present.
Let us denote the ground state energy by E0. According to the variational principle we have
E0≤E[Φ]=∫Φ∗ˆHΦdτ
where Φ is a trial function which we assume to be normalized
∫Φ∗Φdτ=1,
where we have used the shorthand dτ=dx1dr2…drA.
Before we proceed with a more compact representation of a Slater determinant, we would like to repeat some linear algebra properties which will be useful for our derivations of the energy as function of a Slater determinant, Hartree-Fock theory and later variational Monte Carlo.
The inverse of a matrix is defined by
A−1⋅A=I
A unitary matrix A is one whose inverse is its adjoint
A−1=A†
A real unitary matrix is called orthogonal and its inverse is equal to its transpose.
A hermitian matrix is its own self-adjoint, that is
A=A†.
Relations | Name | matrix elements |
---|---|---|
A=AT | symmetric | aij=aji |
A=(AT)−1 | real orthogonal | ∑kaikajk=∑kakiakj=δij |
A=A∗ | real matrix | aij=a∗ij |
A=A† | hermitian | aij=a∗ji |
A=(A†)−1 | unitary | ∑kaika∗jk=∑ka∗kiakj=δij |
Since we will deal with Fermions (identical and indistinguishable particles) we will form an ansatz for a given state in terms of so-called Slater determinants determined by a chosen basis of single-particle functions.
For a given n×n matrix A we can write its determinant
det(A)=|A|=|a11a12……a1na21a22……a2n…………………………an1an2……ann|,
in a more compact form as
|A|=n!∑i=1(−1)piˆPia11a22…ann,
where ˆPi is a permutation operator which permutes the column indices 1,2,3,…,n
and the sum runs over all n! permutations. The quantity pi represents the number of transpositions of column indices that are needed in order to bring a given permutation back to its initial ordering, in our case given by a11a22…ann here.
A simple 2×2 determinant illustrates this. We have
det(A)=|a11a12a21a22|=(−1)0a11a22+(−1)1a12a21,
where in the last term we have interchanged the column indices 1 and 2. The natural ordering we have chosen is a11a22.
With the above we can rewrite our Slater determinant in a more compact form. In the Hartree-Fock method the trial function is the Slater determinant of Eq. (3) which can be rewritten as
Φ(x1,x2,…,xA,α,β,…,ν)=1√A!∑P(−)PˆPψα(x1)ψβ(x2)…ψν(xA)=√A!ˆAΦH,
where we have introduced the antisymmetrization operator ˆA defined by the
summation over all possible permutations of two particles.
It is defined as
ˆA=1A!∑p(−)pˆP,
with p standing for the number of permutations. We have introduced for later use the so-called
Hartree-function, defined by the simple product of all possible single-particle functions
ΦH(x1,x2,…,xA,α,β,…,ν)=ψα(x1)ψβ(x2)…ψν(xA).
Both ˆH0 and ˆHI are invariant under all possible permutations of any two particles and hence commute with ˆA
[H0,ˆA]=[HI,ˆA]=0.
Furthermore, ˆA satisfies
ˆA2=ˆA,
since every permutation of the Slater
determinant reproduces it.
The expectation value of ˆH0
∫Φ∗ˆH0Φdτ=A!∫Φ∗HˆAˆH0ˆAΦHdτ
is readily reduced to
∫Φ∗ˆH0Φdτ=A!∫Φ∗HˆH0ˆAΦHdτ,
where we have used Eqs. (5) and
(6). The next step is to replace the antisymmetrization
operator by its definition and to
replace ˆH0 with the sum of one-body operators
∫Φ∗ˆH0Φdτ=A∑i=1∑p(−)p∫Φ∗Hˆh0ˆPΦHdτ.
The integral vanishes if two or more particles are permuted in only one of the Hartree-functions ΦH because the individual single-particle wave functions are orthogonal. We obtain then
∫Φ∗ˆH0Φdτ=A∑i=1∫Φ∗Hˆh0ΦHdτ.
Orthogonality of the single-particle functions allows us to further simplify the integral, and we
arrive at the following expression for the expectation values of the
sum of one-body Hamiltonians
∫Φ∗ˆH0Φdτ=A∑μ=1∫ψ∗μ(x)ˆh0ψμ(x)dx.
We introduce the following shorthand for the above integral
⟨μ|ˆh0|μ⟩=∫ψ∗μ(x)ˆh0ψμ(x)dx,
and rewrite Eq. (7) as
∫Φ∗ˆH0Φdτ=A∑μ=1⟨μ|ˆh0|μ⟩.
The expectation value of the two-body part of the Hamiltonian is obtained in a similar manner. We have
∫Φ∗ˆHIΦdτ=A!∫Φ∗HˆAˆHIˆAΦHdτ,
which reduces to
∫Φ∗ˆHIΦdτ=A∑i≤j=1∑p(−)p∫Φ∗Hˆv(rij)ˆPΦHdτ,
by following the same arguments as for the one-body
Hamiltonian.
Because of the dependence on the inter-particle distance rij, permutations of any two particles no longer vanish, and we get
∫Φ∗ˆHIΦdτ=A∑i<j=1∫Φ∗Hˆv(rij)(1−Pij)ΦHdτ.
where Pij is the permutation operator that interchanges
particle i and particle j. Again we use the assumption that the single-particle wave functions
are orthogonal.
We obtain
∫Φ∗ˆHIΦdτ=12A∑μ=1A∑ν=1[∫ψ∗μ(xi)ψ∗ν(xj)ˆv(rij)ψμ(xi)ψν(xj)dxidxj−∫ψ∗μ(xi)ψ∗ν(xj)ˆv(rij)ψν(xi)ψμ(xj)dxidxj].
The first term is the so-called direct term. It gives rise to the Hartree term in Hartree-Fock theory,
while the second is due to the Pauli principle and is called
the exchange term and gives rise to the Fock term in the Hartree-Fock equations.
The factor 1/2 is introduced because we now run over
all pairs twice.
The last equation allows us to introduce some further definitions. The single-particle wave functions ψμ(x), defined by the quantum numbers μ and x are defined as the overlap
ψμ(x)=⟨x|μ⟩.
We introduce the following shorthands for the above two integrals
⟨μν|ˆv|μν⟩=∫ψ∗μ(xi)ψ∗ν(xj)ˆv(rij)ψμ(xi)ψν(xj)dxidxj,
and
⟨μν|ˆv|νμ⟩=∫ψ∗μ(xi)ψ∗ν(xj)ˆv(rij)ψν(xi)ψμ(xj)dxidxj.
Our functional can then be written in a compact version as
E[Φ]=A∑μ⟨μ|ˆh0|μ⟩+12A∑μν[⟨μν|ˆ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 energy functional as
∫Φ∗^HIΦdτ=12A∑μ=1A∑ν=1⟨μν|ˆv|μν⟩AS.
Adding the contribution from the one-body operator ˆH0 to (11) we obtain the energy functional
E[Φ]=A∑μ=1⟨μ|h|μ⟩+12A∑μ=1A∑ν=1⟨μν|ˆv|μν⟩AS.
In our coordinate space derivations below we will spell out the Hartree-Fock equations in terms of their integrals.
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[Φ]=∫baf(Φ(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=−12∇2+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),
∫badxdydzψ∗(−12∇2)ψdxdydz=ψ∗∇ψ|ba+∫badxdydz12∇ψ∗∇ψ.
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∂ψ∗−∂∂x∂f∂ψ∗x−∂∂y∂f∂ψ∗y−∂∂z∂f∂ψ∗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.
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 define our new Hartree-Fock single-particle basis by performing a unitary transformation on our previous basis (labelled with greek indices) as
ψHFp=∑λ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. A unitary transformation keeps the orthogonality, as discussed in exercise 1 below.
In the previous slide we stated that a unitary transformation keeps the orthogonality, as discussed in exercise 1 below. To see this consider first a basis of vectors vi,
vi=[vi1……vin]
We assume that the basis is orthogonal, that is
vTjvi=δij.
An orthogonal or unitary transformation
wi=Uvi,
preserves the dot product and orthogonality since
wTjwi=(Uvj)TUvi=vTjUTUvi=vTjvi=δ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
|a11a12…∑nk=1ckb1k…a1na21a22…∑nk=1ckb2k…a2n………………………………an1an2…∑nk=1ckbnk…ann|=n∑k=1ck|a11a12…b1k…a1na21a22…b2k…a2n………………………………an1an2…bnk…ann|.
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,
|∑nk=1b1kck1∑nk=1b1kck2…∑nk=1b1kckj…∑nk=1b1kckn∑nk=1b2kck1∑nk=1b2kck2…∑nk=1b2kckj…∑nk=1b2kckn………………………………∑nk=1bnkck1∑nk=1bnkck2…∑nk=1bnkckj…∑nk=1bnkckn|=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
1√A!|ψp(x1)ψp(x2)……ψp(xA)ψq(x1)ψq(x2)……ψq(xA)…………………………ψt(x1)ψt(x2)……ψt(xA)|=1√A!|∑λ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).
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
ˆh0ϕλ=ϵλϕλ.
The single-particle wave functions ϕλ(r), defined by the quantum numbers λ and r
are defined as the overlap
ϕλ(r)=⟨r|λ⟩.
In our discussions hereafter we will use our definitions of single-particle states above and below the Fermi (F) level given by the labels ijkl⋯≤F 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. (12), restated here
E[Φ]=A∑μ=1⟨μ|h|μ⟩+12A∑μ=1A∑ν=1⟨μν|ˆ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. (13). We can then rewrite the energy functional as
E[ΦHF]=A∑i=1⟨i|h|i⟩+12A∑ij=1⟨ij|ˆv|ij⟩AS,
where ΦHF is the new Slater determinant defined by the new basis of Eq. (13).
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=∑αβC∗iαCiβ⟨α|β⟩=∑αC∗iαCiα,
which allows us to define a functional to be minimized that reads
F[ΦHF]=E[ΦHF]−A∑i=1ϵi∑αC∗iαCiα.
Minimizing with respect to C∗iα, remembering that the equations for C∗iα and Ciα can be written as two independent equations, we obtain
ddC∗iα[E[ΦHF]−∑jϵj∑αC∗jα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|β⟩+A∑j=1∑βγδC∗jβCjδCiγ⟨αβ|ˆv|γδ⟩AS=ϵHFiCiα.
We can rewrite this equation as (changing dummy variables)
∑β{⟨α|h|β⟩+A∑j∑γδC∗jγCjδ⟨αγ|ˆv|βδ⟩AS}Ciβ=ϵHFiCiα.
Note that the sums over greek indices run over the number of basis set functions (in principle an infinite number).
Defining
hHFαβ=⟨α|h|β⟩+A∑j=1∑γδC∗jγCjδ⟨αγ|ˆv|βδ⟩AS,
we can rewrite the new equations as
∑γhHFαβCiβ=ϵHFiCiα.
The latter is nothing but a standard eigenvalue problem.
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 numerically.
Our Hartree-Fock matrix is thus
ˆhHFαβ=⟨α|ˆh0|β⟩+A∑j=1∑γδC∗jγ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
ϵHFi do not change anymore by a prefixed quantity.
Normally we assume that the single-particle basis |β⟩ forms an eigenbasis for the operator ˆh0, meaning that the Hartree-Fock matrix becomes
ˆhHFαβ=ϵαδα,β+A∑j=1∑γδC∗jγCjδ⟨αγ|ˆv|βδ⟩AS.
The Hartree-Fock eigenvalue problem
∑βˆhHFαβCiβ=ϵHFiCiα,
can be written out in a more compact form as
ˆhHFˆC=ϵHFˆC.
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 C(n)iα, where the subscript n stands for iteration n. To set up the algorithm we can proceed as follows:
ˆhHFαβ=ϵαδα,β+A∑j=1∑γδC(0)jγC(0)jδ⟨αγ|ˆv|βδ⟩AS.
Solving the Hartree-Fock eigenvalue problem yields then new eigenvectors C(1)iα and eigenvalues ϵHF(1)i.
A∑j=1∑γδC(1)jγC(1)jδ⟨αγ|ˆv|βδ⟩AS.
The diagonalization with the new Hartree-Fock potential yields new eigenvectors and eigenvalues.
This process is continued till for example
∑p|ϵ(n)i−ϵ(n−1)i|m≤λ,
where λ is a user prefixed quantity (λ∼10−8 or smaller) and p runs over all calculated single-particle
energies and m is the number of single-particle states.
We can rewrite the ground state energy by adding and subtracting ˆuHF(xi)
EHF0=⟨Φ0|ˆH|Φ0⟩=A∑i≤F⟨i|ˆh0+ˆuHF|j⟩+12A∑i≤FA∑j≤F[⟨ij|ˆv|ij⟩−⟨ij|ˆv|ji⟩]−A∑i≤F⟨i|ˆuHF|i⟩,
which results in
EHF0=A∑i≤FεHFi+12A∑i≤FA∑j≤F[⟨ij|ˆv|ij⟩−⟨ij|ˆv|ji⟩]−A∑i≤F⟨i|ˆuHF|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
EHF0=A∑i≤Fεi−12A∑i≤FA∑j≤F[⟨ij|ˆv|ij⟩−⟨ij|ˆv|ji⟩].
This form will be used in our discussion of Koopman's theorem.
We have
E[ΦHF(N)]=H∑i=1⟨i|ˆh0|i⟩+12N∑ij=1⟨ij|ˆv|ij⟩AS,
where ΦHF(N) is the new Slater determinant defined by the new basis of Eq. (13)
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 N−1 systems as
E[ΦHF(N−1)]=N∑i=1;i≠k⟨i|ˆh0|i⟩+12N∑ij=1;i,j≠k⟨ij|ˆv|ij⟩AS,
where we have removed a single-particle state k≤F, that is a state below the Fermi level.
Calculating the difference
E[ΦHF(N)]−E[ΦHF(N−1)]=⟨k|ˆh0|k⟩+12N∑i=1;i≠k⟨ik|ˆv|ik⟩AS12N∑j=1;j≠k⟨kj|ˆv|kj⟩AS,
we obtain
E[ΦHF(N)]−E[ΦHF(N−1)]=⟨k|ˆh0|k⟩+12N∑j=1⟨kj|ˆv|kj⟩AS
which is just our definition of the Hartree-Fock single-particle energy
E[ΦHF(N)]−E[ΦHF(N−1)]=ϵHFk
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)]=ϵHFa.
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 ϵHF3s.
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)]=A∑i=1⟨i|ˆh0|i⟩+12A∑ij=1⟨ij|ˆv|ij⟩AS,
where ΦHF(A) is the new Slater determinant defined by the new basis of Eq. (13)
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 A−1 nucleons, we can then define the corresponding energy for the A−1 systems as
E[ΦHF(A−1)]=A∑i=1;i≠k⟨i|ˆh0|i⟩+12A∑ij=1;i,j≠k⟨ij|ˆv|ij⟩AS,
where we have removed a single-particle state k≤F, that is a state below the Fermi level.
Calculating the difference
E[ΦHF(A)]−E[ΦHF(A−1)]=⟨k|ˆh0|k⟩+12A∑i=1;i≠k⟨ik|ˆv|ik⟩AS12A∑j=1;j≠k⟨kj|ˆv|kj⟩AS,
which becomes
E[ΦHF(A)]−E[ΦHF(A−1)]=⟨k|ˆh0|k⟩+12A∑j=1⟨kj|ˆv|kj⟩AS
which is just our definition of the Hartree-Fock single-particle energy
E[ΦHF(A)]−E[ΦHF(A−1)]=ϵHFk
Similarly, we can now compute the difference (recall that the single-particle states abcd>F)
E[ΦHF(A+1)]−E[ΦHF(A)]=ϵHFa.
If we then recall that the binding energy differences
BE(A)−BE(A−1)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 field do not change)
BE(A)−BE(A−1)≈E[ΦHF(A)]−E[ΦHF(A−1)]=ϵHFk,
and
BE(A+1)−BE(A)≈E[ΦHF(A+1)]−E[ΦHF(A)]=ϵHFa.
If we use 16O as our closed-shell nucleus, we could then interpret the separation energy
BE(16O)−BE(15O)≈ϵHF0pν1/2,
and
BE(16O)−BE(15N)≈ϵHF0pπ1/2.
Similalry, we could interpret
BE(17O)−BE(16O)≈ϵHF0dν5/2,
and
BE(17F)−BE(16O)≈ϵHF0dπ5/2.
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(N−1,Z)−BE(N+1,Z),
for neutrons and the corresponding gap for protons
ΔSp=2BE(N,Z)−BE(N,Z−1)−BE(N,Z+1),
we can define the neutron and proton energy gaps for 16O as
ΔSν=ϵHF0dν5/2−ϵHF0pν1/2,
and
ΔSπ=ϵHF0dπ5/2−ϵHF0pπ1/2.
The Hamiltonian for a system of N electrons confined in a harmonic potential reads
ˆH=N∑i=1ˆp2i2m+N∑i=112mωr2i+∑i<jˆVij,
where ˆVij is the two-body interaction.
ˆhHFαβ=⟨α|ˆh0|β⟩+N∑j=1∑γδC∗jγCjδ⟨αγ|V|βδ⟩AS.
Normally we assume that the single-particle basis |β⟩
forms an eigenbasis for the operator ˆh0 (this is our case), meaning that the
Hartree-Fock matrix becomes
ˆhHFαβ=ϵαδα,β+N∑j=1∑γδC∗jγCjδ⟨αγ|V|βδ⟩AS.
∑βˆhHFαβCiβ=ϵHFiCiα,
can be written out in a more compact form as
ˆhHFˆC=ϵHFˆC.
ργδ=N∑i=1⟨γ|i⟩⟨i|δ⟩=N∑i=1CiγC∗iδ.
It means that we can rewrite the Hartree-Fock Hamiltonian as
ˆhHFαβ=ϵαδα,β+∑γδργδ⟨αγ|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 ⟨α|ˆh0|β⟩ denotes the matrix elements of the one-body part of the starting hamiltonian. The electrons are confined in a harmonic trap. If we are working in a harmonic oscillator basis with the same ω as the trapping potential, then ⟨α|ˆh0|β⟩ is diagonal.
An example of a function written in python which performs the Hartree-Fock calculation is discussed here. In setting up your code you will need to write a function which sets up the single-particle basis, the matrix elements tαγ of the one-body operator (called h0 in the function below) and the antisymmetrized two-body-matrix elements and the density matrix elements ρβδ (called densityMatrix below).
The input file qdnumbers.dat can contain the information of all single-particle quantum numbers needed to define this space.
import numpy as np
from decimal import Decimal
# expectation value for the one body part, Harmonic oscillator in two dimensions
def onebody(i, n, m):
homega = 1.0
return homega*(2*n[i] + m[i] + 1)
if __name__ == '__main__':
Nparticles = 2
""" Read quantum numbers from file """
index = []
n = []
mj = []
spOrbitals = 0
with open("qdnumbers.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]))
mj.append(int(nums[4]))
spOrbitals += 1
""" Read two-electron interaction elements (integrals) from file, brute force 4-dim array """
interaction = np.zeros([spOrbitals, spOrbitals, spOrbitals, spOrbitals])
with open("twobody.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
#print a, b, c, d, float(l[4])
interaction[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, m))
""" 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 two-dimensional system """
if mj[alpha] != mj[beta]: continue
""" Setting up the Fock matrix using the density matrix and antisymmetrized 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]): continue
sumFockTerm += DensityMatrix[gamma][delta]*interaction[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
In order to perform the above quantum dots calculations you need either to pre-compute the two-body Coulomb integrals or add a function to the above program that computes the integrals on the fly. The expression for the Coulomb matrix elements are taken from the article of E. Anisimovas and A. Matulis, J. Phys.: Condens. Matter 10, 601 (1998).
At the webpage of the course we provide a file called coulomb.cpp which computes the Coulomb matrix element ⟨12|V|34⟩ where the 1,2,3 and 4 are four single-particle state indices. Each state |p(=1,2,3,4)⟩ can be rewritten in terms of its quantum numbers. In two dimensions, it reads |p⟩=|npmpsp⟩. For simplicity the angular momentum projection quantum number ml will just be written as m in the following equations.
The function coulomb(n1,m1,n2,m2,n3,m3,n4,m4) computes thus the integral. Calling this function and paying attention to the spin values, the computation of the direct term is given by direct=δ(ms1,ms3)δ(ms2,ms4)×coulomb(n1,m1,n2,m2,n4,m4,n3,m3). Pay attention to the explanation text in the file coulomb.cpp. The expression for the Coulomb integral can be written as
V1234=δm1+m2,m3+m4√[4∏i=1ni!(ni+|mi|!)]×n1,…,n4∑j1=0,…,j4=0[(−1)j1+j2+j3+j4j1!j2!j3!j4![4∏k=1 (nk+|mk|nk−jk)]12G+12×γ1=0,…,γ4=0∑l1=0,…,l4=0(δl1,l2δl3,l4(−1)γ2+γ3−l2−l3[4∏t=1(γtlt)]Γ(1+Λ2)Γ(G−Λ+12))]
where
γ1=j1+j4+|m1|+m12+|m4|−m42γ2=j2+j3+|m2|+m22+|m3|−m32γ3=j3+j2+|m3|+m32+|m2|−m22γ4=j4+j1+|m4|+m42+|m1|−m12G=γ1+γ2+γ3+γ4Λ=l1+l2+l3+l4,
when the basis set is built upon the single harmonic oscillator orbitals.
Note that the integrals do not include spin.
The implementation of the program to calculate these matrix elements includes the following subfunctions:
Consider a Slater determinant built up of orthogonal single-particle orbitals ψλ, with λ=1,2,…,A.
The unitary transformation
ψa=∑λCaλϕλ,
brings us into the new basis.
The new basis has quantum numbers a=1,2,…,A.
a) Show that the new basis is orthogonal.
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. Hint: C is a unitary matrix.