Computational physics learning modules as IPython Notebooks.

Plotting a function in Python.

Brief introduction to Discrete Fourier Transform and the Fast Fourier Transform.

Introduction to vectors in NumPy, ans line plots, scatter plots and figure parameters in matplotlib.

Numerical integration using the trapezoidal and Simpson's rules.

Numerical integration in one dimension using the Monte Carlo method.

Numerical integration in D dimensions using the Monte Carlo method.

Determining a root using the bisection method.

Determining a root with the Newton-Raphson algorithm.

Solving fixed-point problems using the Fix-Point Iteration method.

Solving a first-order ordinary differential equation with Euler's method.

Solving a second-order ordinary differential equation (Newton's second law) using Verlet integration.

Solving a first-order ordinary differential equation using the implicit Euler method (backward Euler method).

Solving a first-order ordinary differential equation using the Runge-Kutta method.

Solving a first-order ordinary differential equation using Runge-Kutta methods with adaptive step sizes.

Basic linear algebra in Python.

Solves a linear of system of equations using the iterative Gauss-Seidel method.

This module shows two examples of how to discretize partial differential equations: the 2D Laplace equation and 1D heat equation.

poisson's equation, iterative, laplace's equation, uniqueness theorem

The Jacobi, Gauss-Seidel and Successive overrelaxation (SOR) methods are introduced and discussed with the Poisson equation as an example.

Using polynomial interpolation to interpolate a set of points and to approximate a function or a curve.

chebychev nodes, interpolation, curve fitting, system of equations, runge's phenomenon, sparse matrix

Introduction to cubic splines.

Using trigonometric interpolation and the discrete Fourier transform to fit a curve to equally spaced data points.

Making use of the Fortran to Python package F2PY which enables creating and compiling a Fortran routine before converting it to a Python Module, which can be imported to any Python script.