Physics 410/609---Computational Physics
Course Syllabus---Fall 2006
||Prof. Steven Gottlieb
||Swain West 226
||sg at indiana.edu
||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.
- Physics 410 and Physics 609 meet TH 9:30
a.m.--10:45 a.m. in Lindley Hall 030, a cluster of Apple
- 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 (3rd edition), by Harvey Gould, Jan Tobochnik and
Wolfgang Christian is required.
- Numerical Recipes --- The Art of Scientific Computing,
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
- 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.
- 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.
- 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
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%.
- 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
|Aug 29-Sep 5
|Unix, Awk and Axis
|Suppl. readings, Chap1, CSM
|II. Classical Systems
|Chap 3 CSM
|Sep 21-Sep 28
|Simple Linear and Nonlinear
|Chap 4 CSM, Chap 16 NR
|III. Symbolic Manipulation
|Intro. to Mathematica
|IV. Classical Systems (continued)
|Oct 19-Nov 7
|Chap 6 CSM
|Nov 9-Nov 21
|Numerical Integration, Errors
|Chap 11 CSM, Chapter 4 NR
|V. Nondeterministic Systems
|Nov 28-Nov 30
|Chap 7 CSM, Math. Notes
|Chap 15 NR
Harvey Gould, Jan Tobochnik, and Wolfgang Christian,
An Introduction to Computer Simulation
Methods --- Applications to Physical Systems, Third Edition, Pearson/Addison
*William H. Press, Brian P. Flannery, Saul A. Teukolsky, and William
T. Vetterling, Numerical Recipes --- The Art of Scientific Computing,
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,
D.M. Etter, Problem Solving with Structured FORTRAN 77, Benjamin/Cummins
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
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,
Dieter W. Heermann, Computer Simulations Methods in Theoretical Physics,
Malvin H. Kalos and Paula A. Whitlock, Monte Carlo Methods, Wiley-Interscience
*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
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
*S. Wolfram, Mathematica Book, Cambridge (latest edition).
*On reserve in Swain Hall Library.
UNIX is a trademark of Bell Laboratories.