Welcome to the chebfun project!

The chebfun project is a collection of algorithms, and a software system in object-oriented Matlab, which extends familiar powerful methods of numerical computation involving numbers to continuous or piecewise-continuous functions. It also implements continuous analogues of linear algebra notions like the QR decomposition and the SVD. The mathematical basis of the system combines tools of Chebyshev expansions, fast Fourier transform, barycentric interpolation, Clenshaw-Curtis quadrature, and recursive zerofinding.

The project was initiated by Nick Trefethen and Zachary Battles in 2002.


Here are three quick examples:

What's the integral of exp(-sqrt(x)) from 0 to 10?
>> x = chebfun('x',[0 10]); sum(exp(-sqrt(x)))
ans = 1.647628069579947

What's the maximum of sin(x)+sin(x2) over the same interval?
>> max(sin(x)+sin(x.^2))
ans = 1.985446580874099

How many roots does the Bessel function J0(x) have between 0 and 1000?
>> length(roots(chebfun(@(x) besselj(0,x),[0 1000])))
ans = 318

For more, see Chebfun Guide and Examples.