resources

PHYS 3437 - Computational Methods in Physics


Index to lecture notes

PHYS 3437 notes will appear here as the course is being taught.

Lecture 1 (ppt): Course outline, supplemental information. Computer architecture 101

Lecture 2 (ppt): Storing information digitally. Integer representations, floating point arithmetic.

Lecture 3 (ppt): Short discussion about projects. More on floating point arithmetic and problems you may encounter.

Lecture 4 (ppt): Introduction to Unix shells and useful commands. 10,000 ft view of programming.

Lecture 5 (ppt): Functions and roots. Roots for polynomials. Bracketing & Bisection, Newton-Raphson, hybrid NR-bisection, Secant Method.

Lecture 6 (ppt): A global bracket finding strategy. Muller-Brent. Example of root finding from quantum mechanics.

Lecture 7 (ppt): Introduction to interpolation. Difference between interpolation and fitting to data. Interpolation polynomials in Lagrange form. Hermite interpolation. Introduction to cubic splines.

Lecture 8 (ppt): Finish cubic splines. Numerical approximations to derivatives. Richardson Extrapolation.

Lecture 9 (ppt): LU decomposition for solving general matrices. General polynomial least squares fitting. Least squares function fitting and Hilbert matrices. Orthogonal polynomials and uses in fitting.

Lecture 10 (ppt): Numerical integration. Simple Newton-Cotes formulas (trapezoid & Simpson's Rule). Romberg Integration. Gaussian quadrature.

Lecture 11 (ppt): Problems that can be encountered in numerical integration. Change of variables, removal of singularities. Dealing with improper integrals. Multidimensional int egration.

Lecture 12 (ppt): Introduction to ODE solvers. Euler method, including Modified and Improved variants. Classical Runge-Kutta with adaptive step size from Richardson Extrapolation.

Lecture 13 (ppt): Issues with the adaptive step size procedure. Separating 2nd order ODEs into coupled first order system. Separating nth order ODEs into n coupled first order systems. Algorithm to integrate nth order systems.

Lecture 14 (ppt): Introduction to Monte Carlo methods. Numerical integration techniques, rejection method, importance sampling.

Lecture 15 (ppt): MC methods applied to molecular motion in gases - the random walk. Simulation method & how to choose points randomly on a sphere. Short overview of random number generators, advice for quick and dirty generators and what to use if you want really "good" random numbers.

Lecture 16 (ppt): Introduction to parallel programming. Different types of parallel computers. When is parallel computing useful? Brief introduction to OpenMP.

Lecture 17 (ppt): More details on parallel programming. Dealing with data dependencies and race conditions. Useful OpenMP commands reviewed.

Lecture 18 (ppt): Introduction to visualization. Preattentive processing of information. How now to present information. Effectiveness of different colour maps. Getting started with Opendx.

Lecture 19 (ppt): More on Opendx. Loading in data and using the default viewer. Visualization of 3d volumes, surface rendering versus volume rendering. How transfer functions highlight different parts of a data volume. Making movies.

back