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 self-contained 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:

  1. Image deblurring.
  2. The lowest value of a function.
  3. More methods for the lowest value of a function.
  4. Random walks, permutations, and simulation.
  5. Simulated annealing, traveling salesman, derangements (this assignment was not actually given out).
  6. Initial value problems.
  7. Solving a boundary value problem.
  8. Studying the error in approximate solutions to a boundary value problem.
  9. The SIR model of disease transmission.
  10. Including the effect of vaccination.
  11. A continuous time version of the SIR model of disease transmission.

Reference:

  1. Dianne O'Leary,
    Scientific Computing with Case Studies,
    SIAM, 2008,
    ISBN13: 978-0-898716-66-5,
    LC: QA401.O44.
  2. Computing in Science and Engineering,
    http://cise.aip.org/
  3. Dianne O'Leary's Mathematics Genealogy Page.


The Project Directories:

  1. Image Deblurring: I Can See Clearly Now
    solving an ill-conditioned linear system to recover a blurred image;
  2. Robot Control: Swinging Like a Pendulum
    the stability, behavior, and control of a robot arm, modeled as a damped driven pendulum;
  3. Classified Information: The Data Clustering Problem
    demonstrating the clustering of data by clustering the pixels in an image, to produce a reduced color map;
  4. The Direction of Arrival Problem: Coming at You
    determining the direction from which a signal is coming, using the eigenvalues of an unknown matrix;
  5. Models of Infection: Person to Person
    a disease infection model for individuals, with a random component, simulated with the Monte Carlo method;
  6. More Models of Infection: It's Epidemic
    a disease infection model for an entire population, modeled with three differential equations;
  7. Fitting Exponentials: An Interest in Rates
    trying to determine the parameters associated with data that exhibits exponential growth or decay;
  8. 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.
  9. 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;
  10. 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.
  11. 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.
  12. 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.
  13. 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;
  14. Eigenvalues: Valuable Principles
    how to approximate the eigenvalues and eigenvectors arising during the solution of Poisson's partial differential equation;
  15. 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;
  16. 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;
  17. 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;
  18. 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;
  19. 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;
  20. 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;
  21. Multigrid Methods: Managing Massive Meshes
    how to solve a discretized partial differential equation by keeping a nested family of meshes and approximate solutions;
  22. 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?;
  23. 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;
  24. 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:

  1. James Nagy, Dianne O'Leary,
    Image Deblurring: I Can See Clearly Now,
    Computing in Science and Engineering,
    Volume 5, Number 3, May/June 2003.
  2. Dianne O'Leary, Yalin Sagduyu,
    Robot Control: Swinging Like a Pendulum,
    Computing in Science and Engineering,
    Volume 5, Number 4, July/August 2003.
  3. Nargess Memarsadeghi, Dianne O'Leary,
    Classified Information: The Data Clustering Problem,
    Computing in Science and Engineering,
    Volume 5, Number 5, September/October 2003.
  4. Dianne O'Leary,
    The Direction of Arrival Problem: Coming at You,
    Computing in Science and Engineering,
    Volume 5, Number 6, November/December 2003.
  5. Dianne O'Leary,
    Models of Infection: Person to Person,
    Computing in Science and Engineering,
    Volume 6, Number 1, January/February 2004.
  6. Dianne O'Leary,
    More Models of Infection: It's Epidemic,
    Computing in Science and Engineering,
    Volume 6, Number 2, March/April 2004.
  7. Dianne O'Leary,
    Fitting Exponentials: An Interest in Rates,
    Computing in Science and Engineering,
    Volume 6, Number 3, May/June 2004.
  8. Dianne O'Leary,
    Elastoplastic Torsion: Twist and Stress,
    Computing in Science and Engineering,
    Volume 6, Number 4, July/August 2004, pages 74-76,
    the files on the Homework page for this project seem to be (inadvertently) password-protected. Try this one for problem1.m, and variations for the other 5 files.)
  9. 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.)
  10. Dianne O'Leary,
    Multidimensional Integration: Partition and Conquer,
    Computing in Science and Engineering,
    Volume 6, Number 6, November/December 2004.
  11. Dianne O'Leary,
    Blind Deconvolution: Errors, Errors Everywhere,
    Computing in Science and Engineering,
    Volume 7, Number 1, January/February 2005.
  12. Dianne O'Leary,
    Blind Deconvolution: A Matter of Norm,
    Computing in Science and Engineering,
    Volume 7, Number 2, March/April 2005.
  13. Dianne O'Leary,
    Finite Differences and Finite Elements: Getting to Know You,
    Computing in Science and Engineering,
    Volume 7, Number 3, May/June 2005.
  14. Dianne O'Leary,
    Eigenvalues: Valuable Principles,
    Computing in Science and Engineering,
    Volume 7, Number 4, July/August 2005.
  15. Dianne O'Leary,
    Solving Sparse Linear Systems: Taking the Direct Approach,
    Computing in Science and Engineering,
    Volume 7, Number 5, September/October 2005.
  16. Dianne O'Leary,
    Fast Solvers and Sylvester Equations: Both Sides Now,
    Computing in Science and Engineering,
    Volume 7, Number 6, November/December 2005.
  17. Dianne O'Leary,
    Computational Software: Writing Your Legacy,
    Computing in Science and Engineering,
    Volume 8, Number 1, January/February 2006.
  18. 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.)
  19. Dianne O'Leary,
    Computer Memory and Arithmetic: A Look under the Hood,
    Computing in Science and Engineering,
    Volume 8, Number 3, May/June 2006.
  20. Dianne O'Leary,
    Iterative Methods for Linear Systems: Following the Meandering Way,
    Computing in Science and Engineering,
    Volume 8, Number 4, July/August 2006.
  21. Dianne O'Leary,
    Multigrid Methods: Managing Massive Meshes,
    Computing in Science and Engineering,
    Volume 8, Number 5, September/October 2006.
  22. Dianne O'Leary,
    Sensitivity Analysis: When a Little Means a Lot,
    Computing in Science and Engineering,
    Volume 8, Number 6, November/December 2006.
  23. 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.
  24. 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.