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.