## 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.