BS2VL
This function evaluates a two-dimensional tensor-product spline, given its tensor-product B-spline representation.
Function Return Value
BS2VL — Value of the spline at (X, Y). (Output)
Required Arguments
XX-coordinate of the point at which the spline is to be evaluated. (Input)
YY-coordinate of the point at which the spline is to be evaluated. (Input)
KXORD — Order of the spline in the X-direction. (Input)
KYORD — Order of the spline in the Y-direction. (Input)
XKNOT — Array of length NXCOEF + KXORD containing the knot sequence in the X-direction. (Input)
XKNOT must be nondecreasing.
YKNOT — Array of length NYCOEF + KYORD containing the knot sequence in the Y-direction. (Input)
YKNOT must be nondecreasing.
NXCOEF — Number of B-spline coefficients in the X-direction. (Input)
NYCOEF — Number of B-spline coefficients in the Y-direction. (Input)
BSCOEF — Array of length NXCOEF * NYCOEF containing the tensor-product B-spline coefficients. (Input)
BSCOEF is treated internally as a matrix of size NXCOEF by NYCOEF.
FORTRAN 90 Interface
Generic: BS2VL (X, Y, KXORD, KYORD, XKNOT, YKNOT, NXCOEF, NYCOEF, BSCOEF)
Specific: The specific interface names are S_BS2VL and D_BS2VL.
FORTRAN 77 Interface
Single: BS2VL (X, Y, KXORD, KYORD, XKNOT, YKNOT, NXCOEF, NYCOEF, BSCOEF)
Double: The double precision function name is DBS2VL.
Description
The function BS2VL evaluates a bivariate tensor product spline (represented as a linear combination of tensor product B-splines) at a given point. This routine is a special case of the routine BS2DR, which evaluates partial derivatives of such a spline. (The value of a spline is its zero-th derivative.) For more information see de Boor (1978, pages 351 353).
This routine returns the value of the function s at a point (x, y) given the coefficients c by computing
where kx and ky are the orders of the splines. (These numbers are passed to the subroutine in KXORD and KYORD, respectively.) Likewise, tx and ty are the corresponding knot sequences (XKNOT and YKNOT).
Comments
Workspace may be explicitly provided, if desired, by use of B22VL/DB22VL. The reference is:
CALL B22VL(X, Y, KXORD, KYORD, XKNOT, YKNOT, NXCOEF, NYCOEF, BSCOEF, WK)
The additional argument is
WK — Work array of length 3 * MAX(KXORD, KYORD) + KYORD.
Example
For an example of the use of BS2VL, see IMSL routine BS2IN.
Published date: 03/19/2020
Last modified date: 03/19/2020