Course outline, supplemental information. Computer architecture | ||

Storing information digitally. Integer representations, floating point arithmetic | ||

Short discussion about projects. More on floating point arithmetic and problems you may encounter. | ||

Introduction to Unix shells and useful commands. 10,000 ft view of programming. | ||

Functions and roots. Roots for polynomials. Bracketing & Bisection, Newton-Raphson, hybrid NR-bisection, Secant Method. | ||

A global bracket finding strategy. Muller-Brent. Example of root finding from quantum mechanics. | ||

Introduction to interpolation. Difference between interpolation and fitting to data. Interpolation polynomials in Lagrange form. Hermite interpolation. Introduction to cubic splines. | ||

Finish cubic splines. Numerical approximations to derivatives. Richardson Extrapolation. | ||

LU decomposition for solving general matrices. General polynomial least squares fitting. Least squares function fitting and Hilbert matrices. Orthogonal polynomials and uses in fitting. | ||

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

Problems that can be encountered in numerical integration. Change of variables, removal of singularities. Dealing with improper integrals. Multidimensional int egration. | ||

Introduction to ODE solvers. Euler method, including Modified and Improved variants. Classical Runge-Kutta with adaptive step size from Richardson Extrapolation. | ||

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

Introduction to Monte Carlo methods. Numerical integration techniques, rejection method, importance sampling. | ||

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

Introduction to parallel programming. Different types of parallel computers. When is parallel computing useful? Brief introduction to OpenMP. | ||

More details on parallel programming. Dealing with data dependencies and race conditions. Useful OpenMP commands reviewed. | ||

Introduction to visualization. Preattentive processing of information. How now to present information. Effectiveness of different colour maps. Getting started with Opendx. | ||

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

© 2014 Design by w3layouts