Physics 115/242, Computational Physics
Instructor: Peter Young, ISB, 212
Time and Place: TTh 10:00-11:45 am, ISB 231
Office Hour: Mondays 1:00-2:00 pm, and at other times by
appointment.
This course assumes that you can write a
simple program in one of the following languages: C/C++, Java, or Fortran 90.
Homework solutions will be given in C.
If you are not sure whether you have sufficient fluency in programming,
please see me.
The second half of the course will use Mathematica. No
previous experience of this is required, since the basics will be discussed in
the lectures and a 50 page introduction
has been written for the class (which is available
below).
You will also need
a knowledge of classical and quantum mechanics, and statistical mechanics
at the undergraduate level.
Please email me at
petery "at" ucsc.edu
if you have any
questions about necessary prior experience.
I have prepared a considerable amount of material for this class, which will
be available on this web site.
Students' performance will be evaluated from homework assignments and projects,
and a take
home final examination.
Note:
To access homework solutions you need a user name a password. The username is 115.
The password will be announced in class.
Table of contents:
-
Course Description
-
Homework:
-
Exams:
-
Handouts:
-
Representation of numbers on the computer
[pdf]
-
Mathematical equivalence does not mean
computational equivalence
[pdf]
-
Numerical Differentiation: Approximation and Roundoff Errors
[pdf]
-
Romberg Integration
[pdf]
-
Slowing down of the rate of convergence in numerical
integration due to
a singularity at the boundary of the region of
integration (and how to avoid this)
[pdf]
-
Numerical results for some root finding algorithms
[pdf]
-
Comparison of methods for integrating the simple harmonic
oscillator
[pdf]
-
Runge-Kutta code for integrating the simple harmonic oscillator
[rk2_SHO]
-
Leapfrog (Verlet) and other "symplectic" methods for
integrating Newton's equations of motion
[pdf]
-
The FPU problem
(a talk by David Campbell)
-
The Kepler problem
[pdf]
-
Sorting routines
[pdf]
-
Least squares fitting
[pdf]
-
Approach to the central limit theorem
[pdf]
-
Randu: a bad random number generator
[pdf]
-
Estimating the error bar from the data
[pdf]
-
How to use the C built-in random number generator rand():
randomnos.c
-
A simple random number generator in C:
testrandpy.c
-
Monte Carlo simulations in Statistical Physics
[pdf]
-
Introduction to Mathematica
[pdf]
Peter Young's Home Page
Last modified:
Thu May 17 08:19:10 PDT 2012