UW AMath AMath 590, Autumn Quarter, 2013

Approximation Theory and Spectral Methods

Table Of Contents

Previous topic

Homework and project

Next topic

Sample codes

Software for the course

Chebfun, ATAP, and SMM codes

Trefethen’s book “Approximation Theory and Approximation Practice” (ATAP) was written using the Matlab “publish” facility and all of the files can be downloaded from the ATAP website. See Exercise 1.2 in the book for instructions on using these files.

The Matlab scripts embedded in these files make heavy use of Chebfun, which contains tools for working with Chebyshev polynomial approximations and overloads many Matlab functions with versions that work on functions defined in this manner.

The book “Spectral Methods in Matlab” (SMM) has associated Matlab m-files that can be downloaded from the SMM website.

You should download Chebfun and the files for the books and make sure you can run them in Matlab.


Matlab is available on the Applied Mathematics computing system for students in this department. Note that you can log into a departmental machine using ssh in order to use Matlab remotely, e.g. from a Linux or Mac

ssh -X netid@americano.amath.washington.edu
$ matlab

This should open a Matlab window on your own computer. Interacting with this Matlab interface may be slow, so you may prefer:

$ matlab -nojvm

which gives you the Matlab prompt in the terminal window instead.

Matlab is also available in the Arts and Sciences Instructional Computing Lab located in Communications B-022, and also available via their terminal server.

The Student Version of Matlab is available at the bookstore. This may be worth buying if you think you will use Matlab regularly.


Some of the work required for this class can be done in Python rather than Matlab, but many assignments will require using Chebfun and/or the m-files that accompany the books and so will be hard to replicate in Python.

Much of the functionality of Chebfun has been replicated in Python in the package pychebfun. Scroll to the bottom of that page for installation instructions. See also this notebook for more examples.

To use Python effectively you will need numpy (which supports arrays and many mathematical operations), matplotlib (matlab-style plotting). The IPython shell and/or IPython notebook are highly recommended for interactive work. The Anaconda Python Distribution is one easy way to get everything you need.