Csagrid uses cubic splines to calculate its approximations. These cubics are joined together at specified points and, at these join points, satisfy various continuity conditions. The points where the cubics join are called

All entries in the Csagrid package have a parameter that designates the number of knots to use in each of the coordinate directions. The package automatically spaces the knots evenly from the minimum value to the maximum value in each coordinate direction. In each coordinate direction, the number of knots must be at least 4 and at most equal to the number of input data values. The more knots that are specified, the closer the approximation will fit the original data, at the expense of compute time. See the plot for Example 1 for an illustration of how the number of knots affects an approximated curve. See the timing table for how the number of knots affects compute time.

It can happen that, in certain regions, the input data will be unequally spaced to the point where insufficient data can create an approximating curve or surface with an unexpected oscillation in it. The top curve in the plot for Example 3 illustrates this. If the data insufficiency is too great, the algorithm will actually issue an error and terminate.

The entries in the expanded interface of Csagrid contain a parameter to control extrapolation to data sparse regions. If this parameter is set to a positive value, certain derivative constraints are used to extrapolate into data sparse regions before the approximation function values are calculated. This tends to smooth out the unexpected oscillations (larger values for the extrapolation parameter yield greater smoothing, but frequently the differences are subtle). The bottom curve in the plot for Example 3 illustrates setting the extrapolation parameter to "1." and offers a comparison with a curve produced using the same input data, but without the extrapolation parameter set (the top curve in the plot for Example 3).

The practical implication of this is that if you see an unexpected oscillation in your output curve or surface, analyze whether that is occurring in a data sparse region and, if so, set the extrapolation parameter to a positive value (experience has indicated that choosing "1." is a good start) and see if the result is more reasonable.

** Note**: Extrapolating into data sparse regions
greatly alters the computation of first and second derivatives to
the point where they are effectively meaningless.

The expanded Csagrid entries allow for the computation of partial derivatives in any of the dimensions. Only first and second order derivatives in any dimension will have meaning, since the approximating function is a cubic spline and all derivatives of third degree or higher will be zero. Assumed boundary conditions may degrade the accuracy of first and second derivative calculations near the boundaries.