Suggested Project Topics

Here are a few ideas for project topics for final year, higher diploma, and Masters students. The only common thread is that they combine some mathematics with computation.

1. The constructive approximation of functions (with Chebfun)

Symbolic computing packages, such as Maple, are wonderful tools for exploration and experiment, but are typically too slow for large-scale applications. Numerical computing tools, such as Matlab, can be highly efficient (if used properly) but lack the facility for symbolic manipulation. However, a new Matlab/Octave system called Chebfun is trying to change that.

A student who undertakes this project would investigate the mathematics that underpins the system, while developing new programmes and examples to solve problems with chebfuns.

An excellent reference for this project is Approximation Theory and Approximation Practice by Nick Trefethen, available from the library at 511.4 TRE.

2. Compressed Sensing

Compressed sensing is a hot topic which, as explained by Wikipedia "is a signal processing technique for efficiently acquiring and reconstructing a signal, by finding solutions to underdetermined linear systems". A recent article by Kurt Bryan and Tanya Leise, Making do with less: an introduction to compressed sensing provides a very readable introduction, combining linear algebra, probability and approximation theory.

The starting point for this project will be the above article. Once we understand the fundamental ideas, we'll investigate potential applications.

3. Automatic Differentiation

Given a function, it is not hard to construct a numerical scheme to estimate its derivatives at certain points. However, it is easy to show that such schemes are highly susceptible to numerical error.

Automatic differentiation is an approach based on repeated use of the chain rule and which can be applied to arbitrary functions and should be accurate to machine precision. It can be particularly useful in problems where one needs to find derivatives of vector-valued functions (Jacobians...).

This project will begin with reading a recent article: Introduction to Automatic Differentiation and MATLAB Object-Oriented Programming, Richard D. Neidinger. SIAM Rev. 52, pp. 545-563. The ideas and tools will be developed and applied to (I hope!) some interesting but non-trivial problems.

4. Topics in Numerical Analysis

Numerical Analysis is the area of mathematics that is concerned with the design and analysis of methods and algorithms for obtaining useful solutions to mathematical problems. Two of the main sources of problems are differential equations and linear algebra. The applications are far too numerous to mention.

The interested student should browse a few books in the library. For example Afternotes on Numerical Analysis and Afternotes goes to Graduate School (G.W. Stewart), Introduction of Numerical Analysis (Stoer and Bulirish),

Depending on the students' interests, projects may have little or no computing aspects, or may be strongly focused on computational problems, or something in between.

5. Some topic of mutual interest

Why not come up with your own idea? A good place to start would be the Education articles in SIAM Review.

Or read some mathematical blogs, such as

  • Terry Tao's What's New.
  • "Cleve's Corner", a regular blog by Cleve Moler on topics related to numerical analysis and Matlab.
  • Tim Gowers's Weblog deals with many topics, including recent research advances, teaching (such as these posts on logic, and publishing.
  • Peter Cameron's Blog, where you find postings on many topics including algebra, probability, and graphs (and how they all relate to each other).
  • Walking randomly by Mike Croucher. Covers computation and issues related to mathematical use of software and hardware.
  • The occasionally updated "David Gleich's: a notebook" features some neat ideas and demos.

Or you could go to the library and have a look at such titles as

to name but a few.