UW AMath AMath 590, Autumn Quarter, 2013

Approximation Theory and Spectral Methods

Table Of Contents

Previous topic

Homework and project

Next topic

Software for the course

Course Projects

Students should work in groups of 2 (possibly 3) to tackle a project related to approximation theory, interpolation, spectral methods, approximation theory aspects of finite element methods, or something else closely related to the themes explored in this course. See Possible topics.

The discussion board has a section for discussion projects that might be helpful in finding others to work with and a project of common interest.

I suggest working with someone who has a different background than your own in order to maximize the amount you can learn from one another. And try to pick a project on a topic you don’t already know a lot about!

Each project will consist of a brief writeup of what you investigated (perhaps 10 pages maximum, plus relevant computer code). See The course project paper.

Each group will also give a short presentation (20 minutes) to the class so that you can hear about what others did. See Presentations.

A project should involve reading and understanding at least one journal article. Some of the topics below are suggested by chapters of the ATAP or SMM (Spectral Methods for Matlab) books that we will not cover. The idea would be to use the chapter as a starting point for exploring something in more detail, finding other good sources in the references or elsewhere.

I encourage the use of version control software such as git in general for your work, and in particular for collaboarting on this project. A brief introduction will be given in class. A more complete set of slides including many other references can be found here: am590-git.pdf.

Feedback and peer review

Each group will be paired with another group for the purpose of giving feedback on both a draft of the paper and slides for the presentation.

See The course project paper for some hints on how to structure your paper and give other groups feedback on theirs.

The goal is to help each other out, not to grade or pass judgement, so focus on constructive feedback. Another objective is to help you learn more about at least one topic another group is working on, and perhaps to improve your own paper or presentation by getting ideas from looking at what other groups are doing.

There are 8 groups which are named 1A, 1B, ..., 4A, 4B to indicate who you are paired with. A discussion area has been added to the discussion board for each group. Please use your discussion area for posting the project proposal and a draft for others to look at. Comments can be added to the discussion board and you are welcome to comment on groups other than the one you are paired with also if you wish.

See the discussion board to find out what group you are in.


By Monday, November 18, each group should post a 1-page proposal of the planned project, including references to paper(s) you plan to explore and a summary of what computing you will do. Please post these on the discussion board. (You can attach a pdf file to a comment.)

I will give some feedback on each within a few days but you are also welcome to look at other groups’ proposals and make comments if you wish.

By Wednesday, November 27, post a draft of your paper so that your partner group can “peer review” the draft.

By Monday, December 2, post comments on the draft and be prepared to spend the last 15 minutes of class discussing with your partner team.

By Wednesday, December 4, be prepared to spend part of class going through your presentation slides with your partner team.

By Friday, December 6, post your final paper submission on the discussion board.

Saturday, December 7, 1-5pm: presentations in Loew 105.

The course project paper

The paper for your project should be 10 pages max, plus computer code, which can be included as text in an appendix. Please also provide the code files eventually by attaching them as files to the discussion board (or a tar file of all codes).

If you want to share your presentation and codes more broadly than to the class, you are welcome to do so by making a github or bitbucket repository, for example.

In writing the paper and when giving feedback to your partner group on their paper, it would be good to keep the following guidelines in mind:

  • Write the paper so it is structured like a journal article, e.g. start with a brief abstract and include introduction and conclusions sections.
  • The paper should be reasonably focused. Some groups plan to investigate several aspects of a problem, which is great, but 10 pages won’t be enough to explore them all in detail. It’s ok to concentrate on one or two aspects in the paper and then include a list that briefly summarizes other things you explored.
  • The paper should be understandable by others in the class even if they haven’t read all the papers you have on your topic. You can assume the reader will have this class as background (so you don’t need to take up space repeating things covered in class) but if you discuss new concepts or terms not covered in class, make sure you define things so the paper makes sense (to your partner group in particular) without having to track down the references.
  • Take some care in selecting figures for the paper that best illustrate the topic and the results of any computer experiments you do. As in a journal article, you don’t have space to include every figure you might produce, so make sure every figure you do include is there for a reason.

There are many resources available online to help in writing a paper and in formulating feedback.

Some examples:


Presentations will be Saturday December 7 from 1 to 5pm.

Presentations should be 15-20 minutes long. Prepare a draft of your slides by Wednesday Dec. 4 in order to discuss them during class with your partner group.

Try to structure the presentation so that it can be given jointly by the group, e.g. each person talking about some aspect of the project.

As with the paper, don’t feel like you have to cover everything you did in the presentation. It might be best to cover the most interesting aspect or two in enough detail that everyone can follow and learn something new and interesting from the talk, and then summarize other things you looked at.

Possible topics

  • Stability theory for barycentric interpolation, as briefly mentioned on page 39 of ATAP and reading Higham[2008] and Webb, Trefethen and Gonnet [2011].
  • The Remez algorithm for finding the best (minimax) approximation.
  • Chebfun2 for multi-dimensional polynomial interpolation.
  • Interpolation in a region of the complex plane, e.g. choice of interpolation points as discussed at the end of Chapter 12 of ATAP.
  • Roots of polynomials, starting with Chapter 18 of ATAP.
  • Gauss quadrature and related methods, starting with Chapter 19 of ATAP.
  • Carathédory-Fejér approximation (Chapter 20 of ATAP).
  • Rational best approximation (Chapter 24 of ATAP).
  • Padé approximation (Chapter 27 of ATAP).
  • Analytic continuation and convergence acceleration (Chapter 28 of ATAP).
  • WENO interpolation (Weighted Essentially Non-Oscillatory): piecewise rational approximations that are used in methods for PDEs.
  • Bézier curves and surfaces: splines often used in modeling geometry.
  • Radial basis functions.
  • Spherical harmonics: basis functions used for spectral methods on the sphere.
  • Sinc function interpolation, perhaps starting with the Richardson and Trefethen (2011) reference from ATAP.
  • Spectral methods for 4th order problems, starting from Chapter 14 of SMM.
  • Spectral methods applied to some other interesting application.
  • Eigenvalues and pseudospectra, starting from Chapter 9 of SMM.