**COMPUTATIONAL PHYSICS**

Tuesdays and Thursdays 2:00-3:15 (Meyer 433)

Instructor: Roman Scoccimarro

This is a *physics* course, in which we will use computational techniques to solve problems in physics.

Analytic approximation techniques will also be an important part of the course.

There will be no exams, grades will be based on homework.

You will need to (or learn how to) program (e.g. C, Fortran, Mathematica, MATLAB), use LaTeX and plotting software.

**Homework**

Please return a brief summary of your work (including figures) as a printout generated by
LaTeX (see below for a template).

Hwk1[Feb10],
Hwk2[Mar22],
Hwk3[May03],

**Lecture Notes**

Lec01,
Lec02,
Lec03,
Lec04,
Lec05,
Lec06,
Lec07,
Lec08,
Lec09,
Lec10,
Lec11,
Lec12,
Lec13,

Lec14,
Lec15,
Lec16,
Lec17,
Lec18,
Lec19,
Lec20,
Lec21,
Lec22,
Lec23,
Lec24,
Lec25,
Lec26,

Lec27

Preparing these notes I found (apart from the textbooks mentioned below) the
material here useful.

**Textbooks**

There is no formal textbook that I will follow, although Numerical Recipes
can be very useful.

The following book, more on the mathematical side, is highly recommended,

A. Iserles, **A First Course in the Numerical Analysis of Differential Equations**,
1996, Cambridge University Press

Other general books that you may want to check are,

A.L. Garcia, **Numerical Methods for Physics**, 2000, Prentice Hall

R.H. Landau & M.J.Paez, **Computational Physics**, 1997, Wiley

T. Pang, **An Introduction to Computational Physics**, 1997, Cambridge
University Press

For analytic methods, see e.g.

B. Kusse & E. Westwig, ** Mathematical Physics**, 1998, John Wiley & Sons

G. Arfken, ** Mathematical Methods for Physicists**, 1985, Academic Press

C.M. Bender & S.A. Orzag, ** Advanced Mathematical Methods for
Scientists and Engineers**, 1978, McGraw Hill

**LaTeX Help**

You can find a sample latex file to present your homework here.

There are many tutorials on LaTeX on the web, see e.g.

NASA help

LaTeX Primer

**C, Fortran, Mathematica, MATLAB Help**

There is a lot of useful material on the web, see e.g.

C help

Fortran Help

Mathematica Help

MATLAB Help

**Plotting Software**

You can use Mathematica or MATLAB (see above) or the freely available GNUPLOT, see

gnuplot website

Or if you want a graphics subroutine callable from C or Fortran, see e.g.

PGPLOT

**Course Outline**

**Basics of Numerics** (2 weeks)

- Numerical Math: Roundoff error, representation of numbers, etc

- Interpolations and Approximations

- Computing Derivatives and Integrals

- Random Number Generators

**Ordinary Differential Equations** (2 weeks)

- Basic Methods: Euler, Runge-Kutta

- Implicit Methods

- Stiff ODE's. Stability

- Applications: Resonances in the Solar System, Planetary Motion in GR

**Spectral Methods** (3 weeks)

- Random Gaussian Fields, Power Spectrum, Correlation Functions, Cumulants

- Fast Fourier Transform

- Windowed Fourier Transforms, Wavelets

- Applications: Spatial (or Temporal) Distributions

** Partial Differential Equations** (3 weeks)

- Finite Differences.

- Grid Methods: FFT, Relaxation, Multigrid

- Lax, Lax-Wendroff, Staggered Leapfrog Methods

- Method of Characteristics

- Applications: Water Waves, KdV Solitons, Traffic Problems

**Some Type of Monte Carlo TBD** (3 weeks)

**High-Performance Computing and Parallelism**

- How Computers Work

- Memory, Cache, Compilers, Profiling, Parallelism