Class and methods for cubic splines.

## Functions

dvar_vector d3_np_fs (int n, const dvar_vector &_a, const dvar_vector &_b)
factors and solves a D3 system.
dvar_vector spline (const dvector &_x, const dvar_vector &_y, double yp1, double ypn)
Cubic spline interpolation.
dvar_vector spline (const dvector &_x, const dvar_vector &_y, dvariable yp1, dvariable ypn)
Cubic spline interpolation.
dvar_vector spline (const dvector &_x, const dvar_vector &_y, dvariable yp1, double ypn)
Cubic spline interpolation.
dvar_vector spline_cubic_set (int n, const dvector &t, const dvar_vector &y, int ibcbeg, dvariable ybcbeg, int ibcend, dvariable ybcend)
Computes the second derivatives of a piecewise cubic spline.
dvariable spline_cubic_val (int n, const dvector &_t, double tval, const dvar_vector &_y, const dvar_vector &_ypp)
Evaluates a piecewise cubic spline at a point.
dvariable spline_cubic_val2 (int n, const dvector &_t, const prevariable tval, const dvar_vector &_y, const dvar_vector &_ypp)
Evaluates a piecewise cubic spline at a point.
dvariable splint (const dvector &_xa, const dvar_vector &_ya, const dvar_vector &_y2a, double x)
Cubic spline interpolation.
dvariable splint (const dvector &_xa, const dvar_vector &_ya, const dvar_vector &_y2a, const prevariable &_x)
Cubic spline interpolation.

## Function Documentation

 dvar_vector d3_np_fs ( int n, const dvar_vector & _a, const dvar_vector & _b )

factors and solves a D3 system.

Parameters:
 n the order of the linear system _a On input, the nonzero diagonals of the linear system _b the right hand side
Returns:
the solution of the linear system

Definition at line 525 of file vspline.cpp.

Referenced by spline_cubic_set().

 dvar_vector spline ( const dvector & _x, const dvar_vector & _y, double yp1, double ypn )

Cubic spline interpolation.

Parameters:
 _x array of abscissa _y array of corresponding values yp1 value of the first derivative of at the left end point ypn value of the first derivative of at the right end point
Returns:
an array containing the second derivatives

Definition at line 184 of file vspline.cpp.

 dvar_vector spline ( const dvector & _x, const dvar_vector & _y, dvariable yp1, dvariable ypn )

Cubic spline interpolation.

Parameters:
 _x array of abscissa _y array of corresponding values yp1 value of the first derivative of at the left end point ypn value of the first derivative of at the right end point
Returns:
an array containing the second derivatives

Definition at line 137 of file vspline.cpp.

 dvar_vector spline ( const dvector & _x, const dvar_vector & _y, dvariable yp1, double ypn )

Cubic spline interpolation.

Parameters:
 _x array of abscissa _y array of corresponding values yp1 value of the first derivative of at the left end point ypn value of the first derivative of at the right end point
Returns:
an array containing the second derivatives

Definition at line 231 of file vspline.cpp.

 dvar_vector spline_cubic_set ( int n, const dvector & t, const dvar_vector & y, int ibcbeg, dvariable ybcbeg, int ibcend, dvariable ybcend )

Computes the second derivatives of a piecewise cubic spline.

Parameters:
 n The number of data points. must be at least 2. In the special case where and ibcend = ibcend = 0, the spline will actually be linear. t The knot values. The knot values should be distinct, and increasing. y The data values to be interpolated ibcbeg The left boundary flag, 0: the cubic spline should be a quadratic over the first interval; 1: the first derivative at the left endpoint should be ybcbeg; 2: the second derivative at the left endpoint should be ybcbeg. ybcbeg The values to be used in the boundary conditions ibcend The right boundary flag, 0: the cubic spline should be a quadratic over the last interval; 1: the first derivative at the right endpoint should be YBCEND; 2: the second derivative at the right endpoint should be YBCEND. ybcend the values to be used in the boundary conditions
Returns:
the second derivatives of the cubic spline

Definition at line 638 of file vspline.cpp.

Referenced by spline().

 dvariable spline_cubic_val ( int n, const dvector & _t, double tval, const dvar_vector & _y, const dvar_vector & _ypp )

Evaluates a piecewise cubic spline at a point.

Parameters:
 n the number of knots t the knot values tval a point, typically between t[0] and t[N-1], at which the spline is to be evalulated. If tval lies outside this range, extrapolation is used. y the data values at the knots ypp the second derivatives of the spline at the knots
Returns:
the value of the spline at tval

Definition at line 279 of file vspline.cpp.

Referenced by splint().

 dvariable spline_cubic_val2 ( int n, const dvector & _t, const prevariable tval, const dvar_vector & _y, const dvar_vector & _ypp )

Evaluates a piecewise cubic spline at a point.

Parameters:
 n the number of knots t the knot values tval a point, typically between t[0] and t[n-1], at which the spline is to be evalulated. If tval lies outside this range, extrapolation is used. y the data values at the knots ypp the second derivatives of the spline at the knots
Returns:
the value of the spline at tval

Definition at line 404 of file vspline.cpp.

Referenced by splint().

 dvariable splint ( const dvector & _xa, const dvar_vector & _ya, const dvar_vector & _y2a, double x )

Cubic spline interpolation.

Parameters:
 _xa array of abscissa _ya array of corresponding values _y2a array of 2nd derivatives computed from dvar_vector spline() x the input coordinate to be used in the interpolation
Returns:
a cubic-spline interpolation to

Definition at line 35 of file vspline.cpp.

 dvariable splint ( const dvector & _xa, const dvar_vector & _ya, const dvar_vector & _y2a, const prevariable & _x )

Cubic spline interpolation.

Parameters:
 _xa array of abscissa _ya array of corresponding values _y2a array of 2nd derivatives computed from dvar_vector spline() x the input coordinate to be used in the interpolation
Returns:
a cubic-spline interpolation to

Definition at line 53 of file vspline.cpp.