This project –
http://www.chebfun.org – is perhaps the most impressive and important new scientific computing tool in the last 30 years. It’s super fun to play with for anyone trying to compute things with functions.
Typically, when you have a complicated function that you want to integrate, or stick in a differential equations problem, or find the roots for, or compose with another function, computations are done at single points, or sometimes the function is chopped up into tiny pieces (discretized) and those problems are solved numerically using matrices. Sometimes functions are approximated with a piecewise polynomial or rational spline, basically a bunch of tiny pieces each one of which is a cubic or quintic polynomial.
Chebfun is a new paradigm. The idea is to approximate functions by high-degree polynomials, as high a degree as required to fit the function to within machine precision (about 15 digits). This team at Oxford have dug out of the literature or invented, and then implemented, a whole variety of algorithms which operate on those polynomial approximations very efficiently. Even when the degree of the polynomial gets into the thousands or higher, it’s very quick to compose functions, take integrals or derivatives, find roots, and so on.
Previously many people had the impression that polynomial approximations were either inefficient or not numerically stable. This is true when dealing with polynomials in the monomial basis (like the {a, b, c, d} in a + bx + cx^2 + dx^3), or with polynomial interpolation at equally spaced data points. Instead, Chebfun is based on interpolation at the Chebyshev points, which are crowded near the ends of an interval. Chebyshev polynomial approximations are numerically stable and very nice to work with.
For those from a signal processing, audio, or electronics background, Chebyshev approximations are the interval equivalent of Fourier series approximations to functions on the complex unit circle. As such, you can use a fast Fourier transform (FFT) to translate between values of a function at Chebyshev points and coefficients of Chebyshev polynomials, in the same way you’d use the FFT to translate between values at equispaced points and trigonometric function coefficients for approximations of periodic functions.
Anyway, I highly urge anyone in science or engineering type fields to check it out. It’s fabulous work, and I’m convinced that this will be a standard set of tools that every engineering undergraduate is required to learn in 20–30 years. The Chebfun team has a nice user guide up, and a number of nice papers, and Trefethen, the leader of the group working on the project, published a readable book about the subject in 2013, “Approximation in Theory and Practice” of which the first 6 chapters are available online:
http://www.chebfun.org/ATAP/In general most of their work should be pretty accessible to upper division undergraduates in science/engineering fields, even those without an approximation theory background.
Here are a couple of lecture videos: