Physics 7412 - Computational Physics

Instructor: Jorge Pullin, 578-0464, 241C Nicholson. 
pullin@lsu.edu 
http://www.phys.lsu.edu/faculty/pullin 
Class will meet MWF 9:30-10:20 in 435 Nicholson.
This course will be an introduction to the theory and application of basic computational techniques that are currently in broad use in physics. The course will be introductory, assuming little previous knowledge of computational methods. The course is really a course in "numerical analysis" more than on "computational physics". My belief is that you as grad students already know enough physics and what you are lacking are the numerical analysis tools to attempt computational physics projects. That is what I will emphasize in this course. We are physicists, the emphasis of the course will be on applications rather on the mathematical theory behind the numerical analysis. I think this is what still makes it legitimate to call this course "computational physics".

The course will not follow a single textbook. If you wish, a book you should consider getting is ``Numerical Recipes" by Press, Flannery, Teukolsky and Vetterling. Perfectly fine older versions of the book are available online for free. The book by Burden and Faires is a nice introduction to most topics we'll cover, but it is quite expensive.

Typically I will hand out one homework every two weeks, usually from which will be due two weeks after. These homeworks will count towards 30% of the grade of the course. Normally I will assign full credit to homeworks that are turned in in time and that show evidence that you have made a genuine effort towards solving the problem requested. I will allow one late set of homework "no questions asked". Other late homeworks will get zero grade unless you have requested special permission first. The rest of the grade of the course will come from a final project. This project should consist of a numerical simulation/code on a topic of current research in physical sciences. It does not need to be an original project, it is perfectly adequate to reproduce results of a reasonably recent paper. You are welcome to seek assistance from LSU faculty in selecting and implementing a project. If you are unsure about the appropriateness of the project you found, please consult the instructor. You should present a proposal for the project by September 25th. The proposal need only be a one page writeup of what is being proposed to do. After completion of the project you should write a report. Typical length should be 5 pages, though this is not very strict. On the last week of November (date to be announced) you should also make an oral presentation of the project in front of the class and turn in the report. The presentation should be 15 minutes long (very strict) and should be geared towards informing your fellow classmates about what you did and hopefully leaving something useful for them to know. During the presentation and at the end of it you should field questions from your classmates. The total grade assign to the project will be some combination of written/oral presentations.

We will have no official computer language or set of tools in this course, the computer will be largely a tool and the choice of languages and routines will be left to the individual student. However I will discuss examples and other materials using Fortran. Most people who know other languages adapt easily to Fortran whereas the opposite is not necessarily the case. You can turn in homeworks, projects, etc, in any other major language (c, c++, Pascal, Basic) or even higher level languages as Mathematica, Maple or Matlab.

The syllabus of the course will roughly be:

1. Basics of numerics and numerical operations 
(differentiation, integration, sorting, random numbers).

2. Ordinary differential equations. 
Finite differences, multistep, implicit, Runge-Kutta,
Richardson extrapolation.

3. Monte Carlo methods, algorithm of Metropolis.

4. Matrix operations, linear systems, eigenvalues and eigenvectors.

5. Partial differential equations. Elliptic, parabolic and
hyperbolic. Finite element analysis.

6. Spectral methods. Fast Fourier Transforms.

7. Elements of signal processing. Analog to digital conversion. Anti aliasing.
Random data. Spectral density function. 


I am planning about two weeks per topic, but all this is very flexible, and I would definitely appreciate student input. Numerical recipes for free.

Lectures

  • Lecture 1, August 26th.
  • Lecture 2, August 28th.
  • Lecture 3, August 30th.
  • Lecture 4, September 4th.
  • Lecture 5, September 6th.
  • Lecture 6, September 9th.
  • Lecture 7, September 11th.
  • Lecture 8, September 16th.
  • Lecture 9, September 17th.
  • Lecture 10, September 18th.
  • Lecture 11, September 20th.
  • Lecture 12, September 23rd.
  • Lecture 13, September 25th.
  • Lecture 14, September 27th.
  • Lecture 15, September 30th.
  • Lecture 16, October 1st.
  • Lecture 17, October 7th.
  • Lecture 18, October 9th.
  • Lecture 19, October 11th.
  • Lecture 20, October 15th.
  • Lecture 21, October 16th.
  • Lecture 22, October 18th.
  • Lecture 23, October 21st.
  • Lecture 24, October 22nd.
  • Lecture 25, October 25th.
  • Lecture 26, October 28th.
  • Lecture 27, October 30th.
  • Lecture 28, November 1st.
  • Lecture 29, November 4th.
  • Lecture 30, November 5th.
  • Lecture 31, November 11th.
  • Lecture 32, November 13th.
  • Lecture 33, November 15th.
  • Lecture 34, November 18th.
  • Lecture 35, November 20th.
  • Lecture 36, November 22nd.

    Problem sets

  • Set 1, due Sept 11th.
  • Set 2, due Sept 25th.
  • Set 3, due Oct 9th.
  • Set 4, due Oct 23rd.
  • Set 5, due Nov 13th.