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


Instructor: Prof. Steven Gottlieb
Office: Swain West 226
Phone Number:       855-0243
E-mail: sg at indiana.edu
URLs: www.physics.indiana.edu/~sg/
www.physics.indiana.edu/~sg/p609.html
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.
Course
Physics 410 and Physics 609 meet TH 9:30 a.m.--10:45 a.m. in Lindley Hall 030, a cluster of Apple computers.

Prerequisites
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

Text
An Introduction to Computer Simulation Methods---Applications to Physical Systems (3rd edition), by Harvey Gould, Jan Tobochnik and Wolfgang Christian 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.

Description
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 modeling 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.

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

Exam/Project
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.

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

Attendance
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 have had problems in the past on the final project with students who do not give proper attribution for work that they use. Make sure to give proper references to all sources of information. If I find that you have copied work without attribution you will be penalized.


COURSE OUTLINE (dates approximate)


I. Introduction to the Unix Environment

Aug 29-Sep 5
Unix, Awk and Axis
Suppl. readings, Chap1, CSM

II. Classical Systems

Sep 5-7
Coffee Cooling
Notes
Sep 12-19
Falling Objects
Chap 3 CSM
Sep 21-Sep 28
Simple Linear and Nonlinear Systems
Chap 4 CSM, Chap 16 NR

III. Symbolic Manipulation

Oct 3-17
Intro. to Mathematica
Mathematica, handouts

IV. Classical Systems (continued)

Oct 19-Nov 7
Chaos
Chap 6 CSM
Nov 9-Nov 21
Numerical Integration, Errors
Chap 11 CSM, Chapter 4 NR

V. Nondeterministic Systems

Nov 28-Nov 30
Random Numbers
Chap 7 CSM, Math. Notes
Dec 5-7
Data Fitting
Chap 15 NR




BIBLIOGRAPHY

Required Text

Harvey Gould, Jan Tobochnik, and Wolfgang Christian, An Introduction to Computer Simulation Methods --- Applications to Physical Systems, Third Edition, Pearson/Addison Wesley (2006).

Recommended Text

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

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).

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 (latest edition).

*On reserve in Swain Hall Library.

UNIX is a trademark of Bell Laboratories.