Mondays 11:00-12:15 (Meyer 433)
Wednesdays 10:50-12:05 (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.


Please return a brief summary of your work (including figures) as a printout generated by LaTeX (see below for a template).
You should also hand in analytic calculations in standard (handwritten) form, and send me the code you use to generate results by email.

Hwk1[Sep29], Hwk2[Oct15], Hwk3[Nov5], Hwk4[Nov24], Hwk5[Dec15]

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,

Preparing these notes I found (apart from the textbooks mentioned below) the following material useful,

  • A. Iserles, A First Course in the Numerical Analysis of Differential Equations, 1996, Cambridge University Press
  • P.J. Davis and P. Rabinowitz, Methods of Numerical Integration, 1984, Academic Press
  • D.E. Knuth, The Art of Computer Programming Vol.2, 1981, Addison Wesley
  • J.E. Gentle, Random Number Generation and Monte Carlo Methods, 2003, Springer
  • M.E.J. Newman and G.T. Barkema, Monte Carlo Methods in Statistical Physics, 1999, Oxford University Press
  • C.D. Murray and S.F. Dermott, Solar System Dynamics, 1999, Cambridge University Press
  • N. Murray and M. Holman, The Role of Chaotic Resonances in the Solar System, Nature, 410, 773-779 (2001).
  • M. Lecar, F.A. Franklin, M.J. Holman and N.W. Murray, Chaos in the Solar System, Annu. Rev. Astron. Astrophys., 39, 581-631 (2001).
  • B.F. Schutz, A First Course in General Relativity, 1985, Cambridge University Press
  • S. Weinberg, Gravitation and Cosmology, 1972, Wiley
  • R.W. Hockney and J.W. Eastwood, Computer Simulation Using Particles, 1988, IOP Publishing
  • J.G. Proakis and D.G. Manolakis, Digital Signal Processing, 1996, Prentice Hall
  • S. Mallat, A Wavelet Tour of Signal Processing, 1999, Academic Press
  • G.B. Whitham, Linear and Nonlinear Waves, 1999, Wiley
  • E. Infeld and G. Rowlands, Nonlinear Waves, Solitons and Chaos, 2000, Cambridge University Press
  • M. Le Bellac, Quantum and Statistical Field Theory, 1991, Oxford
  • L. Kadanoff, Statistical Physics: Statics, Dynamics and Renormalization, 2000, World Scientific
  • J.J. Binney, N.J. Dowrick, A.J. Fisher and M.E.J. Newman, The Theory of Critical Phenomena, 1993, Oxford
  • N. Goldenfeld, Lectures on Phase Transitions and the Renormalization Group, 1992, Addison Wesley
  • P.M. Chaikin and T.C. Lubensky, Principles of Condensed Matter Physics, 1995, Cambridge University Press
  • K.G. Wilson and J. Kogut, The Renormalization Group and the Epsilon Expansion, Phys. Rep. 12, 75-199 (1974)
  • Ising Model Software. Check out also SSS
  • K. Dowd, High Performance Computing, 1993, O'Reilly & Associates, Inc


    There is no formal textbook that I will follow, although Numerical Recipes can be very useful.
    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.


    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
    - Perturbation Theory: Regular, Singular
    - Applications: Perihelion of Mercury, Resonances and Planetary Rings, Trajectory of Spinning Balls, Internal Structure of Stars

  • Spectral Methods (3 weeks)
    - Random Gaussian Fields, Power Spectrum, Correlation Functions, Cumulants
    - Fast Fourier Transform
    - Windowed Fourier Transforms, Wavelets
    - Applications: Filters, Eigenmodes, Non-Linear Oscillators

  • Partial Differential Equations (3 weeks)
    - Separation of Variables, Sturm-Liouville, WKB
    - Method of Characteristics
    - Galerkin Method
    - Grid Methods: Relaxation, FFT
    - Applications: Water Waves, KdV and Sine-Gordon Solitons, Ocean Modes, Earth Cooling

  • Renormalization Group and Monte Carlo (3 weeks)
    - Basic Ideas of RG: Real Space and Momentum Shell
    - RG and Differential Equations
    - Random Walks, Monte Carlo, Markov Chains
    - Applications: Ising Model, Phase Transitions

  • High-Performance Computing and Parallelism (if time allows)
    - How Computers Work
    - Memory, Cache, Compilers, Profiling, Parallelism