Learning objectives
The course will introduce the basic concepts and algorithms of computational physics. The classes will be a mixture of lectures and work at the computer. The lectures will introduce the basic algorithms for the solution of linear systems, root finding, representation of functions, calculation of derivatives and integrals, interpolation methods, solution of ODEs and PDEs. These algorithm will be implemented during the hands-on sessions for the solution of simple physics problems. Weekly, homeworks will be assigned and discussed in the class to stimulate interactions.
Prerequisites
Linear algebra, ODEs, PDEs, Mathematical methods for Physics, basic computational skills
Course unit content
* Introduction to basic tools
- Linux and bash
- Version control, software repositories, git
- LaTeX, BibTeX and a simple Makefile
* Introduction to Python and start
- Basics: language, variables, functions, import, scripts, notebooks ...
- Modules: matplotlib, scipy, numpy
* Numbers on a computer
- floating point (FP) representation, machine precision
- FP arithmetics
* Root finding
- Bisection, Secant, Newthon-Raphson
* Linear systems
- Direct methods: Gauss and Gauss-Jordan elimination, LU, tridag
- Iterative methods: Jacobi, Gauss-Seidel, SOR algorithms
- Ideas about SVD and sparse system
* Functions representation, interpolation, integrals
- Polynomial approximations, interpolant and spectral representation
- Integrals: Simple formulas, Gauss quadrature
- Interpolation: Lagrangian polynomial and spline
* Derivatives
- Finite differencing: Taylor, interpolating polynomial, Fornmberg formula
- Spectral differentiation
- Comparison: Spectral, Finite Element, Finite Differencing (FD) methods
* ODE Initial Value Problems (IVPs)
- Euler and error analysis, Euler backwards
- Explicit/implicit, stiff equations
- Stability analysis
- Runge-Kutta methods
- Ideas about symplectic methods
* Fast Fourier transform
- The FFT algorithm
- Applications: time series analysis and spectral methods
* PDEs
- General ideas, example equations, Bounday Value Problem (BVP), IVP, IVBP
- Truncation error and convergence
* Elliptic PDEs
- FD and Spectral methods
- linear and nonlinear system
* Hyperbolic PDEs
- FD methods, stability analysis and CFL limit.
- Method of lines
- Ideas about Finite Volume (FV) and spectral methods
* Parabolic PDEs
- CLF stability, implicit/semi-implicit algorithms.
Full programme
- - -
Bibliography
* Numerical Recipes, the Art of Scientific Computing
* Spectral Methods in Matlab, Lloyd N. Trefethen
* Chebyshev and Fourier Spectral Methods, John, P. Boyd
* Evans, Lawrence C., Partial differential equations Graduate Studies in Mathematics 19 (2nd ed.), Providence,
* Numerical Approximation of Partial Differential Equations,
A .Quarteroni, A. Valli
* Lectures for VII Mexican school for Gravitation and Mathematical Physics, 2006, Matthew W.Choptuik
* Spectral Methods for Numerical Relativity http://relativity.livingreviews.org/Articles/lrr-2009-1/
* NIST Digital Library of Mathematical Functions
http://dlmf.nist.gov/
Teaching methods
Lectures and work at computer
Assessment methods and criteria
Exercises every week and final project
Other information
Interested students are invited to contact me to discuss eventual changes to the plan due to their background and interests