Computational physics learning modules as IPython Notebooks.

Plotting a function in Python.

Very basic introduction to using and generating NumPy arrays

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

Basic linear algebra in Python.

implementation, basic, ode, explicit euler method

Basic notebook covering how to implement Euler's method, without much focus on theory

An extension of the Introduction to NumPy-notebook, going through some of the more common features in NumPy.

Basic and intermediate plotting with Python using the Matplotlib library. Topics include, figure formatting, subplots, mesh grids and 3D plots.

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.

differential equation, euler, basic, euler explicit method, set of odes

A thorough walkthrough of the theoretical aspects of Euler's method. Also covers how to solve higher order ODEs.

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).

4th order runge-kutta, ode, explicit euler method

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

4th order runge-kutta, embedded runge-kutta pair, trapezoidal method, ode, explicit euler method

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

differential equation, stability, implicit euler method, animation, laplace's equation, finite-differences, pde

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.

differential equation, gauss, system of equations, iterative, laplace's equation, sparse matrix, pde

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

chebychev nodes, newton, interpolation, lagrange, runges phenomenon

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

Uses cubic splines to interpolate a given set of data points

interpolation, fft, discrete fourier transform, least squares

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

electricity, fortran, trapezoidal method

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.