Next: 1D Index Look-up and Acceleration, Previous: 1D Interpolation Functions, Up: Interpolation [Index]

The interpolation library provides the following 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. The resulting curve is piecewise cubic on each interval, with matching first and second derivatives at the supplied data-points. The second derivative is chosen to be zero at the first point and last point.

- Interpolation Type:
**gsl_interp_cspline_periodic** Cubic spline with periodic boundary conditions. The resulting curve is piecewise cubic on each interval, with matching first and second derivatives at the supplied data-points. The derivatives at the first and last points are also matched. Note that the last point in the data must have the same y-value as the first point, otherwise the resulting periodic interpolation will have a discontinuity at the boundary.

- Interpolation Type:
**gsl_interp_akima** -
Non-rounded Akima spline with natural boundary conditions. This method uses the non-rounded corner algorithm of Wodicka.

- Interpolation Type:
**gsl_interp_akima_periodic** Non-rounded Akima spline with periodic boundary conditions. This method uses the non-rounded corner algorithm of Wodicka.

- Interpolation Type:
**gsl_interp_steffen** Steffen’s method guarantees the monotonicity of the interpolating function between the given data points. Therefore, minima and maxima can only occur exactly at the data points, and there can never be spurious oscillations between data points. The interpolated function is piecewise cubic in each interval. The resulting curve and its first derivative are guaranteed to be continuous, but the second derivative may be discontinuous.

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`) - Function:
*unsigned int***gsl_interp_type_min_size***(const gsl_interp_type **`T`) These functions return the minimum number of points required by the interpolation object

`interp`or interpolation type`T`. For example, Akima spline interpolation requires a minimum of 5 points.