IMSL C# Numerical Library

CsAkima Class

Extension of the Spline class to handle the Akima cubic spline.

For a list of all members of this type, see CsAkima Members.

System.Object
   Imsl.Math.Spline
      Imsl.Math.CsAkima

public class CsAkima : Spline

Thread Safety

Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.

Remarks

Class CsAkima computes a C^1 cubic spline interpolant to a set of data points (x_i, f_i) for i = 0, \ldots, n-1. The breakpoints of the spline are the abscissas. Endpoint conditions are automatically determined by the program; see Akima (1970) or de Boor (1978).

If the data points arise from the values of a smooth, say C^4, function f, i.e. f_i = f(x_i), then the error will behave in a predictable fashion. Let \xi be the breakpoint vector for the above spline interpolant. Then, the maximum absolute error satisfies

\left\| {f - s} \right\|_{\left[ {\xi_0 ,
            \xi_{n-1} } \right]} \le C\left\| f^{(2)}\right\|_{[\xi_0,\xi_{n-1}}
            \left| \xi \right|^2

where

|\xi| \;: = \max\limits_{i = 1,\ldots,n-1} |\xi_i -\xi_{i-1}|

CsAkima is based on a method by Akima (1970) to combat wiggles in the interpolant. The method is nonlinear; and although the interpolant is a piecewise cubic, cubic polynomials are not reproduced. (However, linear polynomials are reproduced.)

Requirements

Namespace: Imsl.Math

Assembly: ImslCS (in ImslCS.dll)

See Also

CsAkima Members | Imsl.Math Namespace | Example