PHYS 5870: Modern
Computational Methods in Solids

Spring 2011 

Lectures:         When:  TR 9:35 am - 10:50 am  Where:  Physics 227

Prof. Adrian Feiguin
Office:  Physics 224
Phone: (307) 766-6534

Required Materials


The fundamental advantage of using computers in physics is the ability to treat systems that cannot be solved analytically. In the usual situation we can gain insight on the physics of a problem studying soluble models, or limits of a problem that can be treated exactly. However, most of the real world cases do not fall in this category, and we need a computer to solve them. In principle we expect the solutions to qualitatively agree with the intuition gained by solving the simple cases (or "toy models"), but this is not always the case. Sometimes, the numerical results defy out intuition, and make us reshape our understanding of the problem. This is the case of "chaos", for instance, where the dynamics of simple classical systems gives rise to some surprising behavior.

The purpose of this course is to introduce students to a series of paradigmatic physical problems in condensed matter, using the computer to solve them. The course will feel like a natural extension of introductory condensed matter, with extra degrees of complexity that make the problems analytically intractable to some extent. Therefore, it will also serve as a complementary condensed matter course.

The course will be mostly based on this book:
Not all topics will be included in the book. I will take some license in the description of some methods, and follow my own notes.
Hopefully class notes will be a good guidance, and the intructor will make an effort to make them available on the course webpage.

This course is not:
- a replacement for a conventional condensed matter course. Instead, it is best taught in parallel or after such a course.
- a course on numerical analysis or mathematics. Algorithms will be discussed only to the extent necessary to solve the problem. Usually a simple method is used, and sometimes libraries will be used (Numerical Recipes, Lapack)
- a programming course: programming experience is expected, and assumed. Although generally C/C++ will be used in class, students are free to use their favorite programming language.


This is a graduate level course, and the students should have graduate standing, or consent of the instructor. All the following courses are a fundamental requirement:
We assume some elementary programming skills in Fortran 77/90 or C/C++

Class format:
Each class will be focused towards solving a physical problem, and will have the following presentation:
I am assuming knowledge of Numerical Analysis, and some programming language, including how to use compilers. I am going to use C++ for the course. This is not a programming or C++ course, though, so students are welcome to use another language of choice. However, I am going to teach how to implement numerical algorithms to solve physical problems, and how to optimize them to make them more efficient. Implicitly, students are going to learn C++ and some tricks.
Most of the exercises and assignments will involve plotting functions and data. A simple and useful plotting program, GnuPlot, is freely available in the web, and with versions for Windows and Linux.

As said before, in this course we will look at extensions of problems previously seen in the condensed matter course. Therefore I will dedicate a great deal of time and attention to theory. Some classes may end up being condensed matter theory only.

The grade for the course will be based on:  
  1. Homeworks (50%)
  2. Final assignment (30%) [take-home]
  3. Oral presentation of the project (20%)
Take-home exam:
There will be a take-home exam in which students will tackle a problem, typically a modification or extension of one seen in class. The student should write a program, analyze teh results and write a report on the results. This work must be done by each student independently on his/her own, but all resources (class notes, books, on-line material) may be consulted.

Oral presentation:
Students should report on the results of their final project assignment using powerpoint, in front of the class. The oral exam will consists of a 10 slide /20 min. presentation where the student is expected to: introduce the problem to the audience, explain the method employed to solve it, show the results graphically, analyze the results, and offer conclusions.  After that, the student will have to answer questions from the audience and/or instructor. The student is expected to be knowledgeable about both the physics and the computational method employed.

Absence policy:
Academic integrity:

University Regulation 802, Revision 2, defines academic dishonesty as "an act attempted or performed which misrepresents one's involvement in an academic task in any way, or permits another student to misrepresent the latter's involvement in an academic task by assisting the misrepresentation." There is a well-defined procedure to judge such cases, and serious penalties may be assessed.

Classroom decorum:

Unireg 29, Change 1, states that the student has obligations as well as rights in the classroom. 

Cell phone policy:

Cell phone use is not allowed in class. They should be turned off, or into vibration mode. Calls will only be allowed in case of an emergency situation.

Students with Dissabilities:

If you have a physical, learning, or psychological disability and require accommodations, please let me know as soon as possible.  You will need to register with, and provide documentation of your disability to, University Disability Support Services (UDSS) in SEO, room 330 Knight Hall, 766-6189, TTY: 766-3073.

Topics to be covered

Disclaimer: This program is tentative and not definitive. Changes may be applied, and students will be properly notified in a timely way. We will not cover ALL the topics necessarily.
Preliminar Schedule:
The semeter has 16 weeks. Some topics may take longer than expected. Any changes to the schedule will be properly notified in class.

week 1: Jan. 9-Aug. 17
Review of Quantum Mechanics
First week of class
week 2: Jan. 16- Jan. 20
Variational diagonalization

week 3: Jan. 23 - Jan. 27
Hartree Fock
week 4: Jan. 30 - Feb. 3
Density Functional Theory (DFT)

week 5: Feb. 6 - Feb. 10
Band structure

week 6: Feb. 13 - Feb. 17
Band structure

week 7: Feb. 20 - Feb. 27
Band Structure

week 8: Mar. 5 - Mar. 9
Second quantization - BCS
week 9: Mar. 12 - Mar. 16
Spring Break No class
week 10: Mar. 19 - Mar. 23
Second quantization - BCS
week 11: Mar. 26 - Mar. 30
Exact Diagonalization

week 12: Apr. 2 - Apr. 6

week 13: Apr. 9 - Apr. 13
Quantum Monte Carlo (QMC)

week 14: Apr. 16 - Apr. 20

week 15: Apr. 23 - Apr. 27
ALPS libraries

week 16: Apr. 30 - May. 4
Finals week
Final assignment due -presentation

Recommended Books

These books are all recommended. We will closely follow this book:
Hopefully class notes will be a good guidance, and the intructor will make an effort to make them available on the course webpage.

See also:
Other books that could be useful:
More introductory:

Internet Resources

Programs and libraries

On-line Java Aplets

Class notes

Supplementary material

Program files