In addition to the office hours given above, I am generally available
when I am in my office. You can just drop by, or you may contact me after class, telephone or send email to arrange a definite time.
Class meetings
The class will meet on M from 1:30 - 4:30 pm in 130 DAna
and on W from 1:15 - 2:45 pm in 325 CHurchill (one of the ILS rooms).
The Wednesday class will be a lecture dealing mainly with the theoretical aspects of computation and the physics relevant to current projects, while the Monday class in the physics computer lab will also involve working at the computers under the oversight of the lecturer and a graduate assistant.
If you do not already have an access code for 130 Dana, you should ask the Graduate Secretary (Chantal Cardona), how to get one.
Books
The only required textbook for the course is
Getting Started with MATLAB 7, by Rudra Pratap, Oxford
University Press (2005).
This is an excellent tutorial and survey of MATLAB. You should read it and work through some the exercises noted below before the first lab on Monday, 14 September.
An excellent reference book on numerical analysis is
Numerical Recipes: The Art of Scientific Computing, (3rd edition) by W. H. Press, S. A. Teukolsky, W. T. Vetterling and B. P. Flannery,
Cambridge University Press (2007)
This book is available in the NU Bookstore as a recommended textbook -- it is NOT required, and there is a copy on reserve in the library, but if you are interested in the details of numerical analysis, you should look closely at this book.
A general book on computational physics that is also in the bookstore as a
recommended book is
An Introduction to Computational Physics, (2nd edition) by Tao Pang,
Cambridge University Press (2006)
For some reason unknown to me, the author chose to use Java as his choice
of computer language in the second edition, rather than FORTRAN as in the
first edition. But with a little experience, you should be able to translate
from Java (or FORTRAN) to MATLAB without undue effort. You can also find the first edition on reserve in the library.
Also on reserve in the library are two other books:
Numerical Methods for Physics, by Alejandro L. Garcia,
Prentice Hall (1994)
Introduction to Numerical Analysis, by J. Stoer and R. Bulirsch,
(3rd edition) Springer (2002)
that I have found useful at times. There are of course many other books in the library on numerical analysis, MATLAB, and computational physics in general.
About the course
The programming language used in this course will be MATLAB. If you are familiar with another programming language such as C, C++, FORTRAN or even Java, then it will be easy enough to learn MATLAB. If you do not know any programming language, MATLAB is a reasonable place to begin. One special advantage of MATLAB is the ease of displaying graphical results on your monitor (and printing them if wanted), so that you can visualize the results of your calculations immediately.
The first class will be on Wednesday, 9 September in 325 CHurchill. It
will be an introduction to the course, and a discussion of some aspects of
numerical analysis. I will hand out a short problem set that involves some
simple issues in computation.
We will spend time on Monday, 14 September in 130 Dana helping people get up to speed with MATLAB. You should start reading the book by Pratap from the beginning. Skim through chapter 1, and start the tutorial exercises in chapter 2 before the Monday class. Note that MATLAB is available not only in 130 Dana, but also on any of the student computer labs on campus. If you have a Nunet login, you might also be able to access the version of MATLAB on the campus server from your laptop.
After the introduction to MATLAB, there will be seven or eight
projects using MATLAB to do various computations in physics, ranging from simulations of random processes to solving differential equations of motion, perhaps also partial differential equations, and finding approximate eigenvalues of linear operators. Some formal aspects of numerical analysis will also be discussed.
For each project, you will be asked to turn in a printout of your
programs, in addition to your analytical work and numerical results on the project. You may be also be asked to submit an electronic version of your programs, if I want to verify the operation of the program. See the
instructions for project reports
for further details.
There may (almost certainly will) be a final project during final exam week, at a time to be determined after consulting with the instructors of the other
second-year courses. This project will
be a test for each individual to see how well you can analyze a problem and
code the computations required for its solution. I will be present to be
sure that people do not get hopelessly bogged down on minor details, but
you will need to grasp the essentials of the problem to do well on the project.
I will have more to say on this before the Thanksgiving break.
Working together
One of the best ways to learn is by working together in small groups
of two or three. Both leaders and followers will gain from discussing the roadblocks they come across in using the computer, and you should be prepared
to come in groups to the computer lab (either 130 Dana, or other computer facilities on campus) to work.
On the other hand, when it comes to writing code and executing your programs,
you must work on your own. Using code from external sources (class notes, books,
MATLAB help files, etc) is acceptable, even encouraged, but if you use such code, you must document your source. It is not acceptable to submit a program with undocumented code from other sources. See the
instructions for project reports
for more details. Note that I may ask you to explain and demonstrate how any program you submit is supposed to run and produce the results you submit with it.
If you have difficulty with the programming for a project, you should come to see me. I am always willing to discuss general ideas on any project, although
the detailed programming, and especially debugging, can only be learned by actual experience.
Go to Physics Home PageThe URL for this page is
http://nuweb.neu.edu/mvaughn/PHYS_7321_F09.html
latest update 4 September 2009