| 
 | JMSLTM Numerical Library 4.0 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.imsl.math.Spline
com.imsl.math.CsInterpolate
Extension of the Spline class to interpolate data points.
CsInterpolate computes a  cubic spline 
  interpolant to a set of data points
 cubic spline 
  interpolant to a set of data points  for
 for 
   . The breakpoints of the spline are the 
  abscissas. Endpoint conditions can be automatically determined by the program,
  or explicitly specified by using the appropriate constructor.  Constructors are
  provided that allow setting specific values for first or second derivative values 
  at the endpoints, or for specifying conditions that correspond to the "not-a-knot" 
  condition (see de Boor 1978).
. The breakpoints of the spline are the 
  abscissas. Endpoint conditions can be automatically determined by the program,
  or explicitly specified by using the appropriate constructor.  Constructors are
  provided that allow setting specific values for first or second derivative values 
  at the endpoints, or for specifying conditions that correspond to the "not-a-knot" 
  condition (see de Boor 1978).
  
The "not-a-knot" conditions require that the third derivative of the spline be continuous at the second and next-to-last breakpoint. If n is 2 or 3, then the linear or quadratic interpolating polynomial is computed, respectively.
If the data points arise from the values of a smooth, say, 
   function f, i.e.
 function f, i.e. 
   , then the error will behave in a 
  predictable fashion. Let
, then the error will behave in a 
  predictable fashion. Let  be the breakpoint 
  vector for the above spline interpolant. Then, the maximum absolute error 
  satisfies
 be the breakpoint 
  vector for the above spline interpolant. Then, the maximum absolute error 
  satisfies
![|f-s|_{[xi_0,xi_n]} le C left|f^{(4)}right|_{[{xi_0 ,xi_n }]} |xi|^4](eqn_0723.png)
where

For more details, see de Boor (1978, pages 55-56).
| Field Summary | |
| static int | FIRST_DERIVATIVE | 
| static int | NOT_A_KNOT | 
| static int | SECOND_DERIVATIVE | 
| Fields inherited from class com.imsl.math.Spline | 
| breakPoint, coef, EPSILON_LARGE | 
| Constructor Summary | |
| CsInterpolate(double[] xData,
              double[] yData)Constructs a cubic spline that interpolates the given data points. | |
| CsInterpolate(double[] xData,
              double[] yData,
              int typeLeft,
              double valueLeft,
              int typeRight,
              double valueRight)Constructs a cubic spline that interpolates the given data points with specified derivative endpoint conditions. | |
| Methods inherited from class com.imsl.math.Spline | 
| copyAndSortData, copyAndSortData, derivative, derivative, derivative, getBreakpoints, integral, value, value | 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
public static final int FIRST_DERIVATIVE
public static final int NOT_A_KNOT
public static final int SECOND_DERIVATIVE
| Constructor Detail | 
public CsInterpolate(double[] xData,
                     double[] yData)
xData - A double array containing the x-coordinates of the data.  
                                  Values must be distinct.yData - A double array containing the y-coordinates of the data.
					The arrays xData and yData must have the same length.
public CsInterpolate(double[] xData,
                     double[] yData,
                     int typeLeft,
                     double valueLeft,
                     int typeRight,
                     double valueRight)
xData - A double array containing the x-coordinates of the
						data.  Values must be distinct.yData - A double array containing the y-coordinates of the
						data.
						The arrays xData and yData must have
						the same length.typeLeft - An int denoting the type of condition at the left endpoint.
						This can be NOT_A_KNOT, FIRST_DERIVATIVE
						or SECOND_DERIVATIVE.valueLeft - A double value at the left endpoint.
						If typeLeft is NOT_A_KNOT this is ignored,
						Otherwise, it is the value of the specified
						derivative.typeRight - An int denoting the type of condition at the right
						endpoint.
						This can be NOT_A_KNOT, FIRST_DERIVATIVE
						or SECOND_DERIVATIVE.valueRight - A double value at the right endpoint.| 
 | JMSLTM Numerical Library 4.0 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||