toms446, a Fortran90 code which implements ACM TOMS algorithm 446, for the manipulation of Chebyshev series, by Roger Broucke.
The text of many ACM TOMS algorithms is available online through ACM: https://calgo.acm.org/ or NETLIB: https://www.netlib.org/toms/index.html.
The information on this web page is distributed under the MIT license.
toms446 is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version.
bernstein_polynomial, a Fortran90 code which evaluates the Bernstein polynomials, useful for uniform approximation of functions;
chebyshev, a Fortran90 code which computes the Chebyshev interpolant/approximant to a given function over an interval.
chebyshev_series, a Fortran90 code which can evaluate a Chebyshev series approximating a function f(x), while efficiently computing one, two or three derivatives of the series, which approximate f'(x), f''(x), and f'''(x), by Manfred Zimmer.
divdif, a Fortran90 code which computes interpolants by divided differences.
hermite_interpolant, a Fortran90 code which computes the Hermite interpolant, a polynomial that matches function values and derivatives.
pppack, a Fortran90 code which computes piecewise polynomial functions, including cubic splines.
spline, a Fortran90 code which can construct and evaluate spline interpolants and approximants.
test_approx, a Fortran90 code which defines test functions for approximation and interpolation.
Original Fortran77 version by Roger Broucke; This version by John Burkardt.