Physics 410/609---Computational Physics
Course Syllabus---Fall 2005

Instructor: Prof. Steven Gottlieb
Office: Swain West 226
Phone Number:       855-0243
E-mail: sg at
Office Hours: any mutually convenient time when I am in or by appointment This policy is designed to make it easier for you to see me. Please take advantage of it.
Secretary: Kathy Hirons
Office: Swain West 132
Phone: 855-3599
Physics 410 and Physics 609 meet TH 9:30 a.m.--10:45 a.m. in Student Building 230, a cluster of Sun workstations.

Electricity and Magnetism (P332) or consent of instructor
Introduction to Computer Programming (C201 or C301) or consent of instructor
Mathematics---Elementary ordinary differential equations; matrix algebra; complex variables; Fourier analysis will be freely used

An Introduction to Computer Simulation Methods---Applications to Physical Systems (2nd edition), by Harvey Gould and Jan Tobochnik is required.
Numerical Recipes --- The Art of Scientific Computing, by William H. Press, Brian P. Flannery, Saul A. Teukolsky, and William T. Vetterling is recommended as an optional reference work. It contains a wider variety of more advanced numerical methods than covered in the text. It you decide to purchase this book, note that it comes in C, Fortran and Pascal versions. Choose according to the language you prefer. You may also want to familiarize yourself with the GNU Scientific Library and its documentation.

We will apply computing methods and numerical techniques to a broad spectrum of physics problems. In the beginning of the course we will concentrate on deterministic systems such as mechanics. In the latter part of the course we will discuss nondeterministic systems as encountered in statistical mechanics. Monte Carlo methods will be discussed. We will also introduce symbolic and numerical computing using Mathematica.

Course Goals
1. To be able to use a computer to solve a variety of problems that arise in solving or modelling problems in the physical sciences.
2. To understand how simulations of physical systems can result in new insights and a better physical understanding.
3. To be able to judge the effort involved in differing approaches to problems and to be able to select the most appropriate one.
4. To gain familiarity with error analysis in numerical approaches to physical problems.
5. To be able to quickly produce publication quality graphs.
6. To be able to write structured, readable computer code.
7. To develop computer skills that will be useful for class work and research.
8. To have fun.

There will be assignments about every two weeks. There will be from 3 to 5 problems depending on the difficulty.

There will be no final examination, as such an exercise seems inappropriate for this course. However, there will be a final project due Tuesday, December 14 at 5:00 p.m. The final project will be selected by each student in consultation with the instructor. For P410, the project should take 12--15 hours to complete. For P609, the project should take about 20 hours for completion. You will be given more information about how you should organize the report on your final project several weeks before it is due.

Homework will count for three-quarters of the final grade and the final project will count for one-quarter.

Attendance is optional, but highly recommended. Anyone who can learn the material by reading the text, the notes on the web or through discussion with others is welcome to do so. However, you should be forewarned that most of the students who have tried this approach in the past have not fared very well. Regular attendance will help you to learn the skills that will make carrying out the homework managable.

Late Assignments
It is unwise to expect to be able to do your assignment the night before it is due. Start work early on the assignment. Homework handed in within 48 hours of time due will have 10% of the value of the assignment subtracted. Homework handed in between 48 and 72 hours late will have 20% of its value subtracted. Homework handed in later will be accepted at the discretion of the instructor and will be reduced in value by 40%.

Academic Honesty
One of the best ways to learn and to enjoy physics is by discussing it with colleagues. It is expected that you may wish to discuss the problems with others in the class. However, when you write programs and run them, the work should be your own, not copied from someone else. In most homework assignments you are expected to write your own code to carry out the assignment. If I expect you to write your own code, but you use my code or executable, you will not receive full credit. If in doubt about what is expected please ask me (in person, on the phone or via email).


I. Introduction to the Unix Environment

Aug 30-Sep 6
Unix, Awk and Axis
Suppl. readings, Chap1, CSM

II. Classical Systems

Sep 6-8
Coffee Cooling
Chap 2 CSM
Sep 13-20
Falling Objects
Chap 3 CSM
Sep 27-Oct 4
Simple Linear and Nonlinear Systems
Chap 5 CSM, Chap 15 NR

III. Symboic Manipulation

Oct 6-20
Intro. to Mathematica
Mathematica, handouts

IV. Classical Systems (continued)

Oct 25-Nov 3
Chap 6 CSM
Nov 8-Nov 22
Numerical Integration, Errors
Chap 11 CSM, Chapter 4 NR

V. Nondeterministic Systems

Nov 29-Dec 1
Random Numbers
Chap 7 CSM, Math. Notes
Dec 6-8
Data Fitting
Chap 14 NR


Required Text

Harvey Gould, and Jan Tobochnik, An Introduction to Computer Simulation Methods --- Applications to Physical Systems, Second Edition, Addison Wesley, Reading (1996).

Recommended Text

*William H. Press, Brian P. Flannery, Saul A. Teukolsky, and William T. Vetterling, Numerical Recipes --- The Art of Scientific Computing, Cambridge, (1989).

Other References

Forman S. Acton, Numerical Methods That Work, Harper Row (1970).

A.V. Aho, B. W. Kernighan and P. J. Weinberger, The AWK Programming Language, Addison-Wesley (1988).

*R.L. Burden and J. D. Faires, Numerical Analysis, Seventh Edition, Brooks-Cole (2001).

P. M. Dew and K. R. James, Introduction to Numerical Computation in Pascal , Springer (1983).

D.M. Etter, Problem Solving with Structured FORTRAN 77, Benjamin/Cummins (1984).

F.L. Friedman and E.B. Koffman, Problem Solving and Structured Progamming in FORTRAN, Addison Wesley (1990).

R. Gass, Mathematica for Scientists and Engineers, Prentice Hall (1998).

N.J. Giordano and H. Nakanishi, Computational Physics, Second Edition, Prentice Hall (2006).

*R. Glassey, Numerical Computation Using C, Academic (1993).

R.W. Hamming, Numerical Methods for Scientists and Engineers, McGraw-Hill (1987).

Dieter W. Heermann, Computer Simulations Methods in Theoretical Physics, Springer (1990).

Malvin H. Kalos and Paula A. Whitlock, Monte Carlo Methods, Wiley-Interscience (1986).

*Steven E. Koonin and Dawn Meredith, Computational Physics (FORTRAN Version), Addison-Wesley (1990).

Donald E. Knuth, The Art of Computer Programming, Vols. 1--3, Addison Wesley (1973).

*Brian W. Kernighan and P. J. Plauger, The Elements of Programming Style, McGraw-Hill (1978).

*Daniel D. McCracken and William I. Salmon, Computing for Engineers and Scientists with FORTRAN 77, Wiley (1988).

*Henry McGilton and Rachel Morgan, Introducing the UNIX System, Mc-Graw Hill (1983); Introducing the UNIX System V, McGraw Hill (1987).

A. Oram and S. Talbott, Managing Projects with make, O'Reilly & Associates (1991).

*J. Denbigh Starkey and Rockford J. Ross, Fundamental Programming with FORTRAN 77, West Publishing (1987).

L. Wall and R.L. Schwartz, Programming perl, O'Reilly & Associates (1991).

*S. Wolfram, Mathematica Book, Cambridge (1996).

*On reserve in Swain Hall Library.

UNIX is a trademark of Bell Laboratories.