CSP_2009
Computational Science Projects
CSP_2009 is an independent study course focused on computational science.
The course is based on a book, and a collection of projects, both developed by
Dianne O'Leary.
The projects were written up and published in the journal
Computing in Science and Engineering (CISE).
This is an independent study course, intended to challenge students who
have received training, but not practice, in numerical analysis. The
students are presented with a sequence of selfcontained projects. Each
project involves a certain set of data, and a desired result. The result
can be achieved by using the appropriate methods from numerical analysis.
There may be several approaches to a given problem, although in some cases
issues of stability, efficiency, or extendability may arise. For each
project, the instructor will advise the students on the choice of a project,
will be available for consultation during the project work, and will
appraise the final results, which will comprise computer programs and
a short report.
Assignments:

Image deblurring.

The lowest value of a function.

More methods for the lowest value of a function.

Random walks, permutations, and simulation.

Simulated annealing, traveling salesman,
derangements (this assignment was not actually given out).

Initial value problems.

Solving a boundary value problem.

Studying the error in approximate
solutions to a boundary value problem.

The SIR model of disease transmission.

Including the effect of vaccination.

A continuous time version of the SIR
model of disease transmission.
Reference:

Dianne O'Leary,
Scientific Computing with Case Studies,
SIAM, 2008,
ISBN13: 9780898716665,
LC: QA401.O44.

Computing in Science and Engineering,
http://cise.aip.org/

Dianne O'Leary's Mathematics Genealogy Page.
The Project Directories:

Image Deblurring: I Can See Clearly Now
solving an illconditioned linear system to recover a blurred image;

Robot Control: Swinging Like a Pendulum
the stability, behavior, and control of a robot arm,
modeled as a damped driven pendulum;

Classified Information: The Data Clustering Problem
demonstrating the clustering of data by clustering the pixels
in an image, to produce a reduced color map;

The Direction of Arrival Problem: Coming at You
determining the direction from which a signal is coming,
using the eigenvalues of an unknown matrix;

Models of Infection: Person to Person
a disease infection model for individuals, with a random component,
simulated with the Monte Carlo method;

More Models of Infection: It's Epidemic
a disease infection model for an entire population,
modeled with three differential equations;

Fitting Exponentials: An Interest in Rates
trying to determine the parameters associated with data
that exhibits exponential growth or decay;

Elastoplastic Torsion: Twist and Stress
solving the equations that model the twisting of
a rod that can be temporarily bent or permanently distorted;
this case study includes a problem in computational geometry,
finding the distance from a point to an ellipse, which can only
be solved using an approximate iterative method for nonlinear equations.

Achieving a Common Viewpoint: Yaw, Pitch and Roll
how to describe the attitude and motion of an airplane, a molecule,
and other structures that can turn in 3D;

Multidimensional Integration: Partition and Conquer
two ways of looking at the Monte Carlo method, in order to
approximate the integral of a scalar function of a multidimensional
argument. In this case, the integral being computed is known
as the partition function, and represents the expected value
of a thermodynamic property.

Blind Deconvolution: Errors, Errors Everywhere
dealing with uncertainty in a mathematical model as well
as in the data; this case involves spectroscopic data;
computational methods include least squares and the total
least squares approaches.

Blind Deconvolution: A Matter of Norm
a continuation of the previous project, with additional constraints
on the error matrix; the result is that we now have to minimize
the error subject to a constraint.

Finite Differences and Finite Elements: Getting to Know You
solving a two point boundary value problem using both the
finite difference and finite element methods;

Eigenvalues: Valuable Principles
how to approximate the eigenvalues and eigenvectors arising
during the solution of Poisson's partial differential equation;

Solving Sparse Linear Systems: Taking the Direct Approach
using direct methods to solve the huge linear systems that are
associated with the solution of discretized elliptic partial
differential equations, such as the steady state heat equation;

Fast Solvers and Sylvester Equations: Both Sides Now
how to reduce storage and time requirements in solving a huge
linear system which has structure. In this case, the matrix
comes from the discretized Poisson equation, and the structure
results in a matrix that is block tridiagonal, with constant blocks;

Computational Software: Writing Your Legacy
try to figure out what a badly documented program is meant to do.
Add documentation, rename variables, and restructure the program,
so that the next person to use it will understand what it does;

Updating and Downdating Matrix Factorizations: A Change in Plans
how to avoid a complete refactorization of a matrix which has only
change in a few entries. The case study involves a truss model, which
is analyzed, and then adjusted;

Computer Memory and Arithmetic: A Look under the Hood
how computer memory is stored in a hierarchy of locations, including
cache memory; how this effects the speed of results, and how a programmer
can try to discover and take advantage of this storage;

Iterative Methods for Linear Systems: Following the Meandering Way
solving the huge linear system associated with the heat equation for
a square plate, or for a square plate with a hole in it, using
stationary iterative methods, and Krylov subspace methods;

Multigrid Methods: Managing Massive Meshes
how to solve a discretized partial differential equation by keeping
a nested family of meshes and approximate solutions;

Sensitivity Analysis: When a Little Means a Lot
forward and backward error analysis for linear equations;
how far is correct answer from our answer? How far is the correct
problem from the problem we actually solved?;

Monte Carlo Minimization and Counting: One, Two, Too Many
using the Monte Carlo method, and simulated annealing, to minimize
a function f(x), to find optimal solutions to discrete problems,
and to estimate probabilities;

Beetles, Cannibalism, and Chaos: Analyzing a Dynamical System Model
a dynamical system of the life cycle of flour beetles; the search
for equilibrium solutions, stability, and bifurcation. For certain
cases, the system exhibits the classic features of chaos.
The Project References:

James Nagy, Dianne O'Leary,
Image Deblurring: I Can See Clearly Now,
Computing in Science and Engineering,
Volume 5, Number 3, May/June 2003.

Dianne O'Leary, Yalin Sagduyu,
Robot Control: Swinging Like a Pendulum,
Computing in Science and Engineering,
Volume 5, Number 4, July/August 2003.

Nargess Memarsadeghi, Dianne O'Leary,
Classified Information: The Data Clustering Problem,
Computing in Science and Engineering,
Volume 5, Number 5, September/October 2003.

Dianne O'Leary,
The Direction of Arrival Problem: Coming at You,
Computing in Science and Engineering,
Volume 5, Number 6, November/December 2003.

Dianne O'Leary,
Models of Infection: Person to Person,
Computing in Science and Engineering,
Volume 6, Number 1, January/February 2004.

Dianne O'Leary,
More Models of Infection: It's Epidemic,
Computing in Science and Engineering,
Volume 6, Number 2, March/April 2004.

Dianne O'Leary,
Fitting Exponentials: An Interest in Rates,
Computing in Science and Engineering,
Volume 6, Number 3, May/June 2004.

Dianne O'Leary,
Elastoplastic Torsion: Twist and Stress,
Computing in Science and Engineering,
Volume 6, Number 4, July/August 2004, pages 7476,
the files on the Homework page for this project seem to be (inadvertently)
passwordprotected. Try
this one for problem1.m, and
variations for the other 5 files.)

Dianne O'Leary, David Schug,
Achieving a Common Viewpoint: Yaw, Pitch and Roll,
Computing in Science and Engineering,
Volume 6, Number 5, September/October 2004.
the files on the Homework page for this project seem to be (inadvertently)
missing. Try
this one for solution.m, and
variations for the other 5 files.)

Dianne O'Leary,
Multidimensional Integration: Partition and Conquer,
Computing in Science and Engineering,
Volume 6, Number 6, November/December 2004.

Dianne O'Leary,
Blind Deconvolution: Errors, Errors Everywhere,
Computing in Science and Engineering,
Volume 7, Number 1, January/February 2005.

Dianne O'Leary,
Blind Deconvolution: A Matter of Norm,
Computing in Science and Engineering,
Volume 7, Number 2, March/April 2005.

Dianne O'Leary,
Finite Differences and Finite Elements: Getting to Know You,
Computing in Science and Engineering,
Volume 7, Number 3, May/June 2005.

Dianne O'Leary,
Eigenvalues: Valuable Principles,
Computing in Science and Engineering,
Volume 7, Number 4, July/August 2005.

Dianne O'Leary,
Solving Sparse Linear Systems: Taking the Direct Approach,
Computing in Science and Engineering,
Volume 7, Number 5, September/October 2005.

Dianne O'Leary,
Fast Solvers and Sylvester Equations: Both Sides Now,
Computing in Science and Engineering,
Volume 7, Number 6, November/December 2005.

Dianne O'Leary,
Computational Software: Writing Your Legacy,
Computing in Science and Engineering,
Volume 8, Number 1, January/February 2006.

Dianne O'Leary,
Updating and Downdating Matrix Factorizations: A Change in Plans,
Computing in Science and Engineering,
Volume 8, Number 2, March/April 2006.
(defective "Homework" webpage! try
this one.)

Dianne O'Leary,
Computer Memory and Arithmetic: A Look under the Hood,
Computing in Science and Engineering,
Volume 8, Number 3, May/June 2006.

Dianne O'Leary,
Iterative Methods for Linear Systems: Following the Meandering Way,
Computing in Science and Engineering,
Volume 8, Number 4, July/August 2006.

Dianne O'Leary,
Multigrid Methods: Managing Massive Meshes,
Computing in Science and Engineering,
Volume 8, Number 5, September/October 2006.

Dianne O'Leary,
Sensitivity Analysis: When a Little Means a Lot,
Computing in Science and Engineering,
Volume 8, Number 6, November/December 2006.

Isabel Beichl, Dianne O'Leary, Francis Sullivan,
Monte Carlo Minimization and Counting: One, Two, Too Many,
Computing in Science and Engineering,
Volume 9, Number 1, January/February 2007.

Dianne O'Leary,
Beetles, Cannibalism, and Chaos: Analyzing a Dynamical System Model,
Computing in Science and Engineering,
Volume 9, Number 2, March/April 2007.
(defective "Homework" webpage! try
this one.)
Last revised on 12 March 2009.