Electronic Structure Methods

Lecture notes for 2020

These are on QM+ at the SPA7008 course listing (search for 'SPA7008'). The homework sets are also located there

Here are copies of the lecture notes:

Hand-written notes that accompany the above and the screen-casts on my Youtube channel:

Additional notes from colleagues and friends:

Past examination papers:

And here are papers we will use:

And here is a very useful book:

Overleaf for writing your Thesis

Use this link to register for your Overleaf account to write collaborative Latex documents on the web. Overleaf removes a lot of the trouble you may encounter when trying to install Latex on your own.


The homework set is on QM+ (valid for 2018-19). Make sure that this is the QM+ page for the current year!

Practicals for ESM

Practicals for CCMP


Linux, VIM & Python

Most electronic structure and modelling codes are run from the Linux command line. There is nothing very complicated about this; instead of using the mouse to access programs and commands, we will type out commands in what is known as the shell. Some of you will already be fairly familiar with the Linux environment, the command line, using non graphical editors and perhaps even programming. If so, the links provided here will lead you to pages/documents that could be a useful refresher. If this is all new to you, then you will learn enough about Linux, the VIM editor and programming in Python to get you going.


The best way to come to grips with an operating system like Linux is to get your hands dirty and interact with it. You should make sure you have access to the Linux shell either through a native Linux workstation, or by logging onto one, or, if you prefer Windows, by using a shell like Cygwin. If you are unsure how to get this going, ask one of our Administrators.


  1. Linux1

  2. Linux2

  3. Linux3

  4. Linux4

    • The University of Surrey has a nice and comprehensive Linux tutorial.


The World is divided into those who use Emacs and those who use VIM. The others don't count. I will not force either of these on you, but if you use the Linux command line, you will need to learn to use one of these and I recommend VIM.


Old stuff: 2013-14

Lecture notes and homework for 2013

The lecture notes for the Electronic Structure Methods course are here.



  • Attempt the questions posed in the lecture notes.
  • Mathematical Review, Ch 1 of //Modern Quantum Chemistry// by Szabo & Ostlund. This chapter covers a number of results we need to have at our funger-tips for the rest of this course. Please go through this chapter and solve as many problems as you can. We will cover this in Lecture 2.



  • Please go over the proof of the Hellmann-Feynmann theorem and try the proof of the extension of this theorem to variational wavefunctions.
  • Please complete all Szabo & Ostlund problems I set the last time. This is important!



  • Virial Theorem: Prove that $\psi_{\alpha}$ is normalized.

  • Virial Theorem: We proved the identity for $\langle \psi_{\alpha} | T | \psi_{\alpha} \rangle$. Use the techniques used here to prove the analogous identity for $\langle \psi_{\alpha} | V(R) | \psi_{\alpha} \rangle$.

  • Szabo & Ostlund: Exercises 2.3, 2.4, 2.5.

  • S & O: Please read 2.2.3 carefully, in particular the last bit on page 52 & 53 about the //exchange hole//.

  • S & O: In preparation for next week's lecture, please read 2.2.5 on minimal basis H2, 2.2.6 on Excited Determinants, and 2.3.1 on Matrix Elements.

Warning Remember that while the homework isn't marked, I will expect you to present your solutions in class!


The lecture notes contain a *lot* of questions and one very long problem at the end. These must be completed before next week and turned in to me at the next lecture. This is very important as these questions, particular the last on on UHF theory, cover pretty much everything we have done so far. If you can do them satisfactorially, you will have really understood the lecture material.


Also, please attempt the laboratory homework. This exercise very nicely complements what we covered in the lecture. It will also give you good experience using NWChem. I've modified the setup instructions based on what we learnt today.

I've been told that the network probems we experienced today are because we have a pathetic network here (don't ask why). You may find that your connection from another machine will be better. If the problems persist please let me know and please describe the problem in detail.


There are questions included in the lecture notes. Please solve these and turn in the solutions next week. Please READ the lecture notes as well as sections 3.1, 3.2 and 3.3 in Szabo & Ostlund. If you want to learn more about basis sets, S&O discuss this topic in section 3.5.

You should also complete the laboratory homework - in particular the effect of method (SCF and MP2) and basis set on the equilibrium geometry of H$_2$O. I'd like you to include your findings in the submitted homework.

If you are still struggling with vim and the Linux Bash shell please go back and review the material. You should be fairly confident with using the Linux shell when we start on the practicals for the report next week.


Homework: As usual there are problems included in the lecture notes. Please do these and submit them to me. I want to see clearer answers with a sensible discussion of the results or problems encountered. This is more for your benefit, but also for mine!

Please work through the treatment of time-independent perturbation theory in Szabo & Ostund Sec. 6.1. This is very important, particularly if you are not too comfortable with the theory.

Reading assignments from Szabo & Ostlund:

  • CI: (NOT OPTIONAL!!!) Ch. 4: Secs. 4.1, 4.1.1. Sec 4.6 deals with size-consistency.

  • CC: (optional) Sec. 5.2.1
  • MP2: (NOT OPTIONAL) Ch 6: secs 6.1 and 6.5

Problem: CI size-consistency: It is possible to analytically see how CID is not a size-consistent theory by solving for the correlation energy of the H2...H2 system at infinite separation. This is done on pages 262 to 266 of Szabo & Ostlund. Please solve this problem in detail (following S&O) and submit it to me. Make sure you understand all steps and if you do not, make it clear in your solution.

Please read this tutorial on functional derivatives by Svetitsky. We will need work through the basics of functional differentiation in the class, but this will help you recap what you have already covered in Mathematical Method.

Grad Modelling Course

These are old lecture notes. Please don't use these.


You should complete the following exercises:

  1. James' Linux tutorial and associated exercises
  2. VIM tutorial (unless you use Emacs)

Think you've got the hang of things, then try this...

Get into your Linux shell. You should have a window with a prompt like $. Commands will be typed at the prompt. After every command you hit <enter>. We will take that for granted.

Go to your home directory by typing cd without any arguments. Don't forget the <enter>:

  $ cd

Now make a directory in which we will work on the exercises for this course. Let's call it //Electronic_Structure//. If that is too long a name, choose something shorter, like, say, //AbInitio//. We do this using the mkdir command:

  $ mkdir AbInitio

To see what's in your directory use the ls command:

  $ ls

In addition to the director //AbInitio// , other files/directories will be displayed.

Now go into this directory:

  $ cd AbInitio

and create a file called //h-sto3g.nw// that contains the following

Memory 500 mb

charge 0
Geometry units bohr
  H     0.0  0.0  0.0

Basis "ao basis" spherical
  H  library  STO-3G

Title "H STO-3G "


task scf energy

If you have done this correctly then the ls command should result in:

  $ ls

and if you use cat or less you should see:

$ less 
Memory 500 mb

charge 0
Geometry units bohr
  H     0.0  0.0  0.0 
...etc etc etc...

Now do the following:

We will use this example in a later lab session. It is the //NWChem// command file for an Hartree-Fock calculation on the hydrogen atom.

Previous Year's work

6th March 2015: Work due on 11th March

Solve questions included in lecture notes on HF theory. You will find these on pages 12, 24, 32, 34, 41, 44, 51, 80. These page numbers refer to the updated lecture notes. Complete the calculations for the Ar2 system. You will need to calculate and plot (nicely!) the interaction energy for this system using HF and MP2 with the cc-pVxZ and aug-cc-pVxZ (x = D,T,Q) basis sets. Do this with the CP correction. How would you calculate the corresponding energies without the CP? Can you see how this can be done without any additional calculations, using the above results and some energies you had calculated last week? Work out how this is possible and calculate and plot the no-CP interaction energies. 18th Feb 2015 : Homework due on 25th Feb

Finish the UHF problem! From lecture notes on Exact Results: Show that the Hellmann-Feynman theorem is valid for linear variational wavefunctions. From lecture notes on HF theory: Solve questions on page 12.

12th Feb 2015 : Homework due on 18th of Feb

Derive for yourself the one electron and two electron densities shown on page 31 of the lecture notes. You may do this for the g2 state only. Questions in lecture notes on pages 35, 36, 37, 43 (optional), 48. CI: Fill in the gaps in the derivation of the CI solution for H2. Present the full derivation and show in detail how CI wavefunction for H2 dissociates to two H atoms. UHF: at the very end of the lecture notes is an outline of the UHF problem for H2. The full derivation is in Szabo & Ostlund in sec. 3.8.7. This problem is long and may be submitted the week after. Parts 1, 2 and 3 are due next week. Part 4 may be submitted the week after. I'd rather you solved this properly rather than in a hurry.

Reading assignment for this week and the next: Chapter 5 in Molecular Electronic Structure Theory. We have derived most, but not all of this chapter. Read secs. 5.2 (you may skip 5.2.6 and 5.2.7), 5.3. In sec. 5.4 the discuss Hartree-Fock - see what you can make of it. Pay particular attention to sec. 5.6 where CI is discussed. Here they discuss truncated CI methods. It's not something we have covered in the lectures, but you will find it useful as it involves the idea of size extensivity.

5th Feb 2015: Homework due on Wed 11th Feb

Watch the lecture I sent you last time! Complete the RHF H2 dissociation problem using NWChem. Make a plot of your results and submit your plot and data table to me. Calculate the energy of H- (as described on the Wiki) and verify that using RHF, E(H2) -> E(H) + 1/2 E(H-) Solve problems 2.8 and 2.9 from Szabo & Ostlund. One more problem to come up soon.

30 Jan 2015 : Homework due on 4th Feb

Read sec. 2.1 and sec. 2.2 from Szabo & Ostlund Solve exercises 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, and 2.7 from S&O. Run NWChem and obtain outputs for all examples in Practical 1 (on the Wiki) Watch the lecture on HF theory. Pay particular attention to first half of the lecture. HF Theory

26 Jan 2015 : Homework due on the 28th of Jan

Complete last week's homework!!! In addition, solve exercises 1.21 and 1.22 from Szabo & Ostlund. Make sure you can login to your accounts on Poset & Comanche. Also, you should get familiar with the basics of Linux and editing using VIM.

14 Jan 2015 : Homework due on the 21st of Jan.

Solve question and problems included in the lecture notes up to and including the section on the electron-nuclear cusp Lecture: Youtube lecture

Watch this lecture on the Born-Oppenheimer approximation, antisymmetry, and the variational principle. Here you will be introduced to Slater determinants. We will be looking into this next week. Answer the following questions based on this lecture and today's lecture: Why use the Born-Oppenheimer approximation? When do we expect it to fail? Discuss: Would an N-particle fermionic system have a higher or lower energy than an N-particle bosonic system? Why use Slater determinants as model wavefunctions for electronic systems? Szabo & Ostlund: Chapter 1: reading assignment. Read the entire chapter and solve the following problems: 1.3, 1.4, 1.6, 1.8, 1.12, 1.14, 1.17 Pay particular attention to your notation. We will use the Dirac notation a lot, and if you are not already familiar it with, use the exercises to understand it.

AJMPublic/teaching/electronic-structure (last edited 2021-04-14 12:54:41 by apw109)