# chebyshev_interp_1d

chebyshev_interp_1d, a FORTRAN90 code which determines the combination of Chebyshev polynomials which interpolates a set of data, so that p(x(i)) = y(i).

The code needs the QR_SOLVE and R8LIB libraries. The test program needs the TEST_INTERP code.

### Languages:

chebyshev_interp_1d is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

### Related Data and Programs:

BARYCENTRIC_INTERP_1D, a FORTRAN90 code which defines and evaluates the barycentric Lagrange polynomial p(x) which interpolates a set of data, so that p(x(i)) = y(i). The barycentric approach means that very high degree polynomials can safely be used.

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.

CLAUSEN, a FORTRAN90 code which evaluates a Chebyshev interpolant to the Clausen function Cl2(x).

DIVDIF, a FORTRAN90 code which uses divided differences to compute the polynomial interpolant to a given set of data.

HERMITE, a FORTRAN90 code which computes the Hermite interpolant, a polynomial that matches function values and derivatives.

LAGRANGE_INTERP_1D, a FORTRAN90 code which defines and evaluates the Lagrange polynomial p(x) which interpolates a set of data, so that p(x(i)) = y(i).

NEAREST_INTERP_1D, a FORTRAN90 code which interpolates a set of data using a piecewise constant interpolant defined by the nearest neighbor criterion.

NEWTON_INTERP_1D, a FORTRAN90 code which finds a polynomial interpolant to data using Newton divided differences.

PWL_INTERP_1D, a FORTRAN90 code which interpolates a set of data using a piecewise linear interpolant.

QR_SOLVE, a FORTRAN90 code which computes the least squares solution of a linear system A*x=b.

R8LIB, a FORTRAN90 code which contains many utility routines using double precision real (R8) arithmetic.

RBF_INTERP_1D, a FORTRAN90 code which defines and evaluates radial basis function (RBF) interpolants to 1D data.

SHEPARD_INTERP_1D, a FORTRAN90 code which defines and evaluates Shepard interpolants to 1D data, based on inverse distance weighting.

SPLINE, a FORTRAN90 code which constructs and evaluates spline interpolants and approximants.

TEST_INTERP, a FORTRAN90 code which defines a number of test problems for interpolation, provided as a set of (x,y) data.

TEST_INTERP_1D, a FORTRAN90 code which defines test problems for interpolation of data y(x), depending on a 2D argument.

VANDERMONDE_INTERP_1D, a FORTRAN90 code which finds a polynomial interpolant to a function of 1D data by setting up and solving a linear system for the polynomial coefficients, involving the Vandermonde matrix.

### Reference:

1. Kendall Atkinson,
An Introduction to Numerical Analysis,
Prentice Hall, 1989,
ISBN: 0471624896,
LC: QA297.A94.1989.
2. Philip Davis,
Interpolation and Approximation,
Dover, 1975,
ISBN: 0-486-62495-1,
LC: QA221.D33
3. David Kahaner, Cleve Moler, Steven Nash,
Numerical Methods and Software,
Prentice Hall, 1989,
ISBN: 0-13-627258-4,
LC: TA345.K34.

### Source Code:

Last revised on 08 June 2020.