This preview shows page 1. Sign up to view the full content.
Unformatted text preview: 5 MANYELECTRON QUANTUM MECHANICS
5.1 Introduction:
Up to this stage we have not yet explicitly treated any quantum
mechanical problem involving more than one electron. In this chapter we extend the
rules of quantum mechanics to correctly construct manyelectron wave functions,
respecting the fact that electrons are indistinguishable particles. This turns out to be
fundamentally related to the spin of the electron we would be making very different
wavefunctions if the spin of an electron was not one half. Section 5.2 treats the problem
of electron spin followed in Section 5.3 by the consequences of indistinguishability (that
consequence is already known to you as the Pauli Principle).
In general, the quantum mechanics of manyelectron systems cannot be solved
exactly. Section 5.4 discusses the first fundamental approximation to make things
tractable: the introduction of a basis set, usually of atomiclike orbitals (see the H atom in
Chapter 3). The basis set approximation converts the manyelectron problem from a
partial differential equation into algebraic equations which are more suitable for
computer solution. A vast array of basis sets of different qualities are available and you
will be using many of them later on in practical calculations. An initial introduction is
provided in Sec. , and then in Sec. 4 we discuss the exact solution of the manyelectron
problem in a given basis set. This exact solution, called full configuration interaction
(FCI), is feasible for very small numbers of electrons, where it provides a benchmark
against which other approximations can be tested.
The rest of the book is about making and using those other approximations. Can
one say anything in advance about what properties of FCI should be retained and which
can be discarded? The final section of this chapter discusses this issue. The outcome is a
set of criteria that welldefined approximations should have. 5.2 Electron spin
The postulates or rules of QM discussed to this point (see Chapter 2) have made
no mention of anything like spin. However, as shown in Figure XX below, electrons in
fact behave as if they have spin magnetic moments. Passing a beam of H atoms through
a magnetic field causes it to split into 2 components, as if there is a magnetic moment
which can be either up (which is alpha spin;↑) or down (beta spin;↓). Remember the H
atom is in its 1s level which means there is no magnetic moment due to orbital(l) angular
momentum. Therefore if there is a magnetic moment, it must be due to the electron of
the H atom. Well, actually it could also possibly be the proton, though in fact given the
same angular momentum, any proton magnetic moment is expected by classical
electromagnetism to be smaller by approximately the ratio of their masses since greater
mass means smaller angular velocity and thus smaller magnetic moment. Figure XX.1: A beam of H atoms is split into 2 components upon passing through a
strong magnetic field. This experiment was originally performed by Stern & Gerlach in
the late 1920’s. To properly account for electron spin turns out to require not just quantum
mechanics, but relativistic QM (the Dirac equation if you want to explore this further). In
place of this, instead hypothesize that an electron has intrinsic spin angular momentum.
s =1/ 2
(5.1)
$ ms = + 1 2 (! spin or spinup )
%
& ms = " 1 2 (# spin or spindown )
With spin ½, an electron will have intrinsic total angular momentum of magnitude
3! 2 , with a component in the z direction of magnitude ! 2 .
A classical particle with charge e, mass me and angular momentum ! will
develop a magnetic moment
e!
(5.2)
µ! = "
= 2.274 # 10 "24 J T"1
2 me
In fact the quantum electron develops a spin magnetic moment
µ = m s gs µ !
gs = gyromagnetic ratio = 2.00232
(5.3)
1
ms = ±
2
with a gyromagnetic ratio quite different to the value of 1 that we should expect based on
directly applying our hypothesis (another intriguing consequence of relativistic quantum
mechanics). Apart from this difference, this approach is a satisfactory way of dealing
with the consequences of spin for quantum mechanics in chemistry.
For the hydrogen atom, electron spin requires that we specify the state of the
electron by the 4th quantum number, ms, in addition to the 3 spatial quantum numbers
n, l, m , already discussed in Sec XX. The “spin eigenfunctions” are denoted as ! and
! and satisfy
ˆ
Sz ! = ! 2 !
(5.4)
ˆ
Sz " = # ! 2 "
as well as the total spin angular momentum quantization condition:
ˆ
(5.5)
S 2 ! = 1 2 3 2 !2 !
Spinorbitals: The eigenfunctions of the H atom are therefore not just functions
of space [ x, y, z ] , but are also functions of a spin variable, ! . We shall introduce the
term “spinorbital” for the product of a spatial function such as a hydrogenic atomic () orbital, !n , l , m ( x, y, z ) , with a spin function ! ms (" ) , which will be either ! or ! .
The spinorbital is thus: n, l, m, ms = !n , l , m ( x, y, z ) " # ms ($ ) (5.6) Forming matrix elements between spinorbitals means doing integrations over both space
and spin variables. For instance, an overlap integral will be:
"n ! , l ! , m ! ( x, y, z )# ms! ($ ) "n , l , m ( x, y, z )# ms ($ )
!
!
= & dx dy dz " !%, l ! , m ! ( x, y, z ) "nlm ( x, y, z ) & d $# ms!# ms
!
n! (5.7) = ' n !n ' l !l' m !m' ms! ms The spin coordinate σ is written analogously to the spatial coordinates in the equation
above, but it should not be thought of analogously. After all, since only 2 eigenstates are
possible, it is natural to use 2 component column vectors for the eigenstates and 2x2
matrices for the electron spin operators see exercise XXX). 5.3 Pauli principle for systems of identical particles
Since electrons are indistinguishable particles, any observation or measurement
on a multielectron system must be independent of how the electrons are labeled. If we
ˆ
denote as P the permutation operator that swaps the labels of 2 electrons, we expect that
ˆ
P should not alter the wavefunction. Or as an equation:
ˆ
P! "!
(5.8)
ˆ
#P ! =$ ! ˆ
In other words, we think ! should be an eigenfunction of P . This makes a lot of
sense, because, after all the Hamiltonian doesn’t depend on how the individual particles
are labeled, so we should expect that the permutation operator commutes with it:
ˆˆ
! P, H # = 0
(5.9)
"
$
Indeed this is the case (see exercise XX). Furthermore, since commuting operators have
common eigenfunctions, this leads us logically to the result in Eq. (5.8). We can
ˆ
therefore conclude that an energy eigenfunction (our goal) is also an eigenfunction of P .
Some consequences of this fact are almost immediately apparent. First let’s
ˆ
ˆ
consider the eigenvalues of P that are possible. Certainly acting with P twice will
ˆˆ
recover the original eigenfunction: PP ! = ! . So: !2 = 1
" ! = ±1 (5.10) ˆ
Two fundamentally different symmetries are possible for the eigenfunctions of P , each
implying its own statistics:
! = "1 # antisymetric # Fermi statistics ! = +1 # symmetric # Bose statistics Particles which obey Fermi statistics are called Fermions, while those whose
wavefunctions are symmetric to label swaps are called Bosons. Electrons behave as
Fermions, as do other elementary particles with halfinteger spin. Elementary particles
with integer spin behave as Bosons.
From now on we focus on Fermions, since we’re interested in manyelectron
systems. Valid wavefunctions for Fermions must change sign when acted upon with the
ˆ
permutation operator, P , as one sees by using ! = "1 in Eq. (5.8). In other words,
Fermionic wavefunctions are antisymmetric to pairwise permutations. The question that
immediately arises is how do we make antisymmetric wavefunctions? For concreteness,
consider a system of 2 electrons, labeled as 1 and 2. The simplest idea would be to
describe each of them with a spinorbital as introduced in Sec. 2.1. Thus we might write:
! (1, 2 ) = " A (1) " B ( 2 )
(5.11)
Here ! A (1) means a function, A, that depends on the space (x,y,z) and spin coordinates of
electron 1. We can test the symmetry or antisymmetry by permuting the labels 1 and 2:
ˆ
(5.12)
P12 ! (1, 2 ) = " A ( 2 ) " B (1)
The result is not symmetric (i.e. ! (1, 2 ) ), nor, in particular, is it antisymmetric (i.e.
! " (1, 2 ) ). Hence it is not a valid 2electron wavefunction. Thus simple product
wavefunctions must be generalized to obey either Fermion or Bose statistics.
Maybe you can see what should be done instead. We should consider combining
the original product function with its permuted version, with a minus sign for the latter:
! (1, 2 ) = " A (1) " B ( 2 ) # " A ( 2 ) " B (1)
(5.13)
By construction, this is antisymmetric:
ˆ
(5.14)
P12 ! (1, 2 ) = " A ( 2 )" B (1) # " A (1)" B ( 2 ) = # ! (1, 2 )
If you are familiar with determinants from math classes, you can see that our improved,
antisymmetric 2electron wavefunction is actually a 2x2 determinant:
" A (1) " B (1)
(5.15)
! (1, 2 ) =
"A (2) "B (2)
A 2x2 determinant is thus the appropriate generalization of a simple product of 2 orbitals,
such that it obeys Fermi statistics.
If we are looking at a 3electron system, then, correspondingly, a 3x3 determinant
corresponds to an antisymmetrized product wavefunction:
" A (1) " B (1) "C (1) ! (1, 2, 3) = " A ( 2 ) " B ( 2 ) "C ( 2 ) (5.16) " A ( 3) " B ( 3) "C ( 3)
Determinants are expanded in terms of smaller determinants (cofactors), taking the sign
r+c
as ( !1) where r and c are the row and column positions, going across a row. Thus:
! (1, 2, 3) = " A (1) " B ( 2 ) "C ( 2 ) # " B (1) " A ( 2 ) "C ( 2 ) + "C (1) " A ( 2 )" B ( 2 ) (5.17)
" B ( 3)"C ( 3)
" A ( 3)"C ( 3)
" A ( 3)" B ( 3)
Each 2x2 determinant has 2 terms and so ! (1, 2, 3) has a total of 6 terms, corresponding
to all possible permutations (3!) of the electron labels. One can generalize further, and an nelectron determinant has n! terms, corresponding to all possible permutations of n
labels:
" A (1) " B (1) ! " N (1) != 1 "A (2) "B (2) ! "N (2)
n! " (5.18) "A (n) "B (n) ! "N (n)
1
Note we have inserted a normalization constant (
) in front of the antisymmetrized
n!
product so that if the φ are orthonormal, then the full wavefunction is automatically
normalized (you will verify this in exercise xx).
Let’s conclude this section with a few comments:
(1)
We’ve argued that an n x n determinant is the simplest wavefunction for n
electrons. It is a product that is adapted to be antisymmetric, and is the closest
that quantum mechanics can let us come to separating the coordinates of each
electron from each other.
(2)
A determinant is usually not an exact nelectron wavefunction. We’ll soon
(next section) see what would be exact, but meanwhile think of the variational
principle: if 2 determinants are combined together, the energy will generally
be lowered relative to 1 determinant.
(3)
There is a direct connection to the Pauli principle for manyelectron atoms.
An atomic spinorbital has 4 quantum numbers (n,l,m,ms) and every occupied
orbital must have unique quantum numbers. If it did not, then 2 identical
spinorbitals would be occupied which means the determinant would have 2
identical rows, which causes the wavefunction to vanish (see e.g. Eq. (5.17)).
(4)
The Aufbau Principle, of putting electrons into spin orbitals one at a time, or
spatial orbitals 2 at a time, follows from the combination of the variational
principle and the Pauli principle. 5.4 The finite basis set approximation
Valid manyelectron wave functions are determinants in which different
spinorbitals are occupied. The spinorbitals, depending on position and spin of just 1
electron, define a 1particle basis set. The determinants, depending on the position and
spin of all n electrons in the molecule of interest, define an nparticle basis set. You may
want to remind yourself about the fundamentals of basis set expansion in Sec. ( ) before
reading on here. Such basis sets are usually infinitedimensional, but to make useful
computersolvable approximations, we will truncate both expansions and make them
finite. These 2 approximations will together control how close our approximate
computerbased solution to the electronic Schrödinger equation is to the unattainable real
thing. In practical calculations later on you will learn how to assess the consequences of
those errors for yourself.
There are evidently 2 key questions which must be answered before we have a
workable computerbased simulation of manyelectron molecules: (1) What function will
comprise the finite 1particle basis set? The remaining part of this section start to provide the answers. (2) Given a 1particle basis set of N function, how many manyelectron
basis functions (determinants) will be used to describe the nelectron wavefunction? The
answer must lie between the minimum (1) and the maximum (all possible: NCn). The
latter is discussed in §Sec 4 below, and the former is discussed in the following chapter… Exact solution
Size of
nparticle
basis set Figure XX Size of 1particle basis set §5.3.2 Gaussian atomic orbital basis sets
There are various types of 1particle basis sets in common use. For
molecules, the most widely used basis sets are composed of atomiclike orbitals, centered
on each atom of the molecule. This makes intuitive sense because if our molecule was at
dissociation, then these basis functions, wµ ( r ! RA ) would be ideal: we would only need
those that are occupied by the Aufbau principle. In a bonded molecule the molecular
spinorbitals will be linear combinations of the atomic orbitals:
! i ( r ) = " wµ ( r ) C µ i
µ Therefore it is possible (indeed likely) that atomic orbitals which are unoccupied in the
free atom (like the 3rd 2p orbital of C) will become partly occupied in molecules.
For this reason the number of atomic orbital basis functions must generally
exceed the number of electrons on the free atom. In order to have a welldefined number
of basis functions per atom, it therefore seems that this number should be based only on
the principal and angular momentum quantum numbers (n & l). All members of a shell
(ml and ms) should be included. Thus the smallest possible (minimal) AO basis will
include 1 basis function for each value of n, l that is fully or partly occupied in the free
atom. Larger basis sets (see next subsection) may allow more functions or higher l. In
the minimal basis, H has 2 AO spinorbitals (n=1, l=0, ml=0, ms= + ! 1 2 ) or 1 spatial
orbital (lslike function) while Li ! Ne have 5 spatial AO’s or 10 spinorbitals.
What precisely is the form of these atomic orbitals? It would be reasonable to
take hydrogenic functions:
nl
wµ ( r  A) = ! Ylm ("# ) Rn ( rA ) exp ( $%rA )
where rA = r ! A if A is the atomic center and θ and φ are the angles in local polar
coordinates. However, it turns out to be much more efficient for computer evaluation to
use Gaussianbasis functions
K Stu
! µ ( r " A) = #x A yA zA $ Dk exp & "% k rA2 (
'
)
k =1 Gaussian basis functions are grouped into shells of common l = s + t + u . For instance a
p=shell (see table below) has 3 functions (x,y,z) each of which consists of the same fixed
mixture of 1< different Gaussian functions, each with its own exponent. K is called the
degree of contraction, and the coefficients Dk are called contraction coefficients.
Shell
ncartessian
npure
s
1
1
p
3
3
(sp)
4
4
d
6
5
f
10
7
Table XX: Different types of shells in commin use and the number of basis functions
they contain in their native Cartesian representation and in the pure (spherical harmonic)
representation.
The reason for making contracted Gaussian AO’s is that they can better mimic the
behaviour of hydrogenic exponential AO’s. For example, modeling the Is atomic orbital
as a contraction of 3 Gaussians (i.e. K=3) gives a basis function that is quite faithful to
the original (see Figure below). On the other hand, a single Gaussian function decays too
fast at large ra and does not have the correct cusp at the nucleus as rA ! 0 .
Fig. XX: Comparison of a hydrogen 1s orbital with least squares fits by 1 and 3 Gaussian
functions. rA STO3G basis: A minimal basis in which exponential atomiclike orbitals (also
called Slatertype orbitals (STO) for J.C. Slater, who pioneered their use) are represented
as a contraction of 3 Gaussian functions. The STO3G basis is the smallest and thus least
expensive atomic orbital basis set that is widely used.
321G and 631G split valence basis sets: The fact that each occupied atomic
orbital is represented by only a single basis function in STO3G means that molecular
spinorbitals (Eq. XX) are made of atomic contributions of fixed size. This constraint can
be lifted by allowing 2 basis functions per valence atomic orbital: one inner function
(more compact with respect to the nucleus) and one outer function (more extended).
Variationally, with this type of split valence basis, the atomic contributions to molecular
orbitals can either expand or contract with respect to the free atom (e.g. accompanying
unequal sharing of charge in a bond). With ptype basis functions, expansion or
contraction can also be different along different axial directions (x or y vs z). These qualitative improvements translate into quantitatively better (lower) energies via the
variational principle.
The 321G and 631G basis sets are splitvalence sets where the notation indicates
the number of Gaussians contracted together to represent core, inner and outer calence
functions respectively. Thus in the 321G basis for C, the Islike basis function is a
contraction of 3 Gaussians, the inner 2s and 2p basis functions are single Gaussians. A
total of 9 basis functions are thus assigned to each C atom. There would likewise be 2
per H and 13 per Si.
Polarization functions: If an atom interacts with an ion, its atomic orbitals will
be slightly polarized: in other words they will distort slightly either towards the ion (if it
is positive) or away from it. Similar effects can and do occur in polar covalent bond
formation. In a basis expansion centered on atoms, a slight shift of an atomic orbital off
its center can be achieved by mixing with a small amount of a function of the next higher
angular momentum as illustrated below in Fig XX. To achieve this effect on H atoms
requires addition of a set of p function, while on C, the addition of a set of d functions is
needed.
Fig.XX: Schematic illustration of the way in which polarization effects (slight offcenter
shift of an orbital) can be modeled using atomcentered orbitals of the next higher angular
momentum.  = +
+ =
(Can’t figure out how to get the ε in there…) The split valence 631G basis is frequently augment with d function on nonH
atoms; defining the 631G(d) (or 631G*) basis. By convention 631G(d) uses Cartesian
d functions (see Table XX) so on C there are 15 basis functions. If ptype polarization
functions are also included on H, this defines the 631G(d,p) (or, equivalently, the 631G**) basis set.
There are innumerable alternatives to the small number of basis sets described to
this point. In addition, one can also extend the “splitting” of the valence to 3way as in
the 6311G basis, and extend the polarization to include multiple sets and/or higher
angular momentum. Thus augmentations such as (2d) or (3d) or as large as (3df) or
(3d2f) have been formulated. The number of functions on C and H for a variety of the
basis sets discussed are summarized in Table XX. Still larger basis sets are described late
in Sec Y.Y.Y.
Diffuse Functions:
The changes of atomic orbital size embodied in split
valence basis sets such as 631G or even 6311G are inadequate when an entire electron is added to a small molecule to make an anion. To describe anious, or other problems
like intermolecular interactions which are sensitive to the larger tails of orbitals, it is
necessary to add an extra set of diffuse valence basis functions to atoms. The 631+G
basis adds 4 extra functions per C atom for this purpose, while 631++G also includes 1
extra function per H.
Summary:
The basis sets described here form the first part of a systematic
approach towards the complete basis set limit. They are summarized in Table XX below,
which also includes an estimate of their relative computational cost, which will scale with
at least the 3rd or 4th power of the relative number of functions. While the relative costs
rise steeply with the number of basis functions, good results for many molecular
properties can be obtained even with the smaller basis sets. These issues will be explored
extensively in Chapters XX, XX and XX.
Basis name
STO3G
321G
631G(d)
631G(d,p)
6311G(2df,p)
6311++G(3df,2pd) Nc
5
9
15
15
30
39 NH
1
2
2
5
6
15 relative cost*
1
610
2060
35100
2001000
7006000 Table XX: Numbers of functions on C and H for different basis sets and estimates of
computational effort relative to STO3G. Those estimates assume N3 (lower) and N4
(upper) scaling and a 1:1 hydrogen to nonhydrogen ratio. 5.5 Theoretical model chemistries
In the previous section, different viable finite lparticle basis sets were described.
Once a molecule is chosen and a basis set is selected, the number of basis functions is
determined. For instance the water molecule with the 631G basis has 13 spatial basis
functions. It is then possible to see how many different possible manyelectron basis
functions can be generated. A given nelectron basis function is a determinant in which n
of the N 1electron functions are occupied, as we saw in Sec. XX. If n and N refer to the
number of electrons and spatial basis functions then the number of determinants is
(remembering the number of spinorbital basis functions in 2N):
(2 N )!
L = 2 n Cn =
n!(2 N ! n )!
However, many of these determinants will have zero contribution. Suppose, for instance
that n = n! + n" (number of α and β spin electrons). We can ignore all determinants with
the wrong number of α and β electrons so that:
( N !)2
L = N Cn! • N Cn" =
n! !n" !( N # n! )!( N # n" )! Many of these may still give zero contribution (for instance due to symmetry of the
molecule) but that will differ casebycase.
Given the complete set of configurations { !i i = 1… L } the exact solution to the
Schrödinger equation in the finite basis follows from the linear variational principle (Sec.
XX). The exact wavefunction, called the Full Configuration Interaction (FCI)
wavefunction is:
L ! = # "i ci
i =1 where the expansion coefficients {ci , i = 1… L } are the result of diagonalizing the manyelectron Hamiltonian matrix, in the basis
H c = Ec
!! { ! } , for the lowest eigenvalue, E.
i ! ˆ
H ij = "i H " j We have assumed (without loss of generality) that the AO basis was orthonormalized so
that !i ! j = " ij .
So, once a 1particle basis is specified, FCI gives the exact energy of the ground
state, as long as we allow all L determinants to mix together. By the variational principle,
any truncated configuration interaction which leaves out a nonzero contribution must
give a higher energy. The problem is that L rises very fast with the size of the molecule,
as shown in Table XX below for alkanes in the smallest possible AO basis (the minimal
STO3G basis). Since the effort to find the vector {ci , i = 1… L } and the ground state
energy, E, must be at least proportional to L (there are L different ci, after all), it will
generally be unfeasible.
molecule
CH4
C2H6
C3H8
C4H10 nα=nβ
5
9
13
17 Nsto3G
9
16
23
30 L
1•6x104
1•3x108
1•3x1012
1•4x1016 In the example of the alkanes in the STO3G basis, lengthening the chain by 1
CH2 unit increases the length of the expansion by 10,000 times or so. Thus computer
time also increases by at least this factor when lengthening the chain by 1 CH2 unit. This
type of dependence on system size is essentially exponential because t α L≈ (10,000)m for
CmH2m+2. To make a practical computerbased model that approximates the Schrödinger
equation and can be applied to a wide range of molecular sizes, we will require that the
computational effort scales only algebraically with size of the molecule, m, rather than
exponentially. The number of basis functions, N, for instance Nsto3g=7m+2 for the
alkanes in Table XX above, so a method that scales N1 or N2 or N3 would be fine. The
models developed in Chapters XX & XX below meet this criterion. 5.4.1 Criteria for a good theoretical model chemistry The presentation of FCI above shows that even with small AO basis sets, it will
only be feasible for the tiniest molecules. Hence to ensure feasibility, an approximation
to the Schrödinger equation involves
(i)
A 1particle basis truncation: the finite AO basis
(ii)
An nparticle basis truncation: this will define how accurately we model
the interactions (or correlations) between electrons.
With specification of the molecule (the atoms and their positions, numbers of α and β
electrons), the AO basis, and the correlation treatment, a computer program can then
produce the approximate energy, E.
A wide variety of criteria can be used to assess the performance of the
computational model that results. We collect a list of such criteria below. We first note
that while some of the conditions do not have simple yes/no answers to them (for instance
accuracy must be assessed across a wide range of chemical problems as is addressed in
Chs. XX, XX…) other are yes/no conditions and can be used to exclude wide classes of
possible models (for instance the size consistency condition will rule out truncated
configuration interaction models).
(1)
Accuracy a theoretical model must be capable of sufficient accuracy to be
of predictive use.
(2)
Efficiency the computational cost must not scale so steeply with
molecular size as to prevent practical application to systems of interest.
(3)
Definition the model should be welldefined in the sense of requiring no
molecularspecific input apart from atomic positions, numbers of α and β electrons and
spin state. Some models may violate this criterion by, for instance, specifying a Lewis
structure which is only valid around one isomer.
(4)
Potential surface continuity the model should yield an energy E ({ R! }) which is continuous as the nuclear positions { Ra } are varied. Failure to respect this
criterion makes geometry optimization and the search for reaction paths unfeasible.
Furthermore, Newtonian molecular dynamics only conserves energy on continuous
potential energy surfaces.
(5)
Sizeconsistency in order to allow meaningful calculations of reaction
energies, it is essential that the quality of the model should not degrade as the molecule
gets larger, so long as the nature of the bonding does not get more complex. For instance,
if one H2 molecule is correct, then 2 H2 molecules far apart should also be correct. This
property is termed sizeconsistency and means that
E ( A! B ) = E ( A ) + E ( B )
where the energies are due to separate calculations on A alone, B alone and A and B
together but far enough separated that they do not interact.
(6)
Variationality To judge the quality of absolute energies it is helpful if
they obey the variational principle (see Sec. X.XX). In practice this property is quite
often sacrificed in order to achieve better accuracy and/or efficiency as we shall see later
(e.g. density functional theory, Ch. XX) ...
View
Full
Document
This note was uploaded on 02/22/2010 for the course CHEM N/A taught by Professor Headgordon during the Spring '09 term at University of California, Berkeley.
 Spring '09
 HEADGORDON

Click to edit the document details