Interpolation Types

The interpolation library provides five interpolation types:

Interpolation Type: gsl_interp_linear
Linear interpolation. This interpolation method does not require any additional memory.

Interpolation Type: gsl_interp_polynomial
Polynomial interpolation. This method should only be used for interpolating small numbers of points because polynomial interpolation introduces large oscillations, even for well-behaved datasets. The number of terms in the interpolating polynomial is equal to the number of points.

Interpolation Type: gsl_interp_cspline
Cubic spline with natural boundary conditions.

Interpolation Type: gsl_interp_cspline_periodic
Cubic spline with periodic boundary conditions

Interpolation Type: gsl_interp_akima
Akima spline with natural boundary conditions.

Interpolation Type: gsl_interp_akima_periodic
Akima spline with periodic boundary conditions.

The following related functions are available:

Function: const char * gsl_interp_name (const gsl_interp * interp)
This function returns the name of the interpolation type used by interp. For example,

printf("interp uses '%s' interpolation.\n", 
       gsl_interp_name (interp));

would print something like,

interp uses 'cspline' interpolation.

Function: unsigned int gsl_interp_min_size (const gsl_interp * interp)
This function returns the minimum number of points required by the interpolation type of interp. For example, Akima spline interpolation requires a minimum of 5 points.