BSCPP

Converts a spline in B-spline representation to piecewise polynomial representation.

Required Arguments

KORDER — Order of the spline.   (Input)

XKNOT — Array of length KORDER + NCOEF containing the knot sequence.   (Input)
XKNOT must be nondecreasing.

NCOEF — Number of B-spline coefficients.   (Input)

BSCOEF — Array of length NCOEF containing the B-spline coefficients.   (Input)

NPPCF —  Number of piecewise polynomial pieces.   (Output)
NPPCF is always less than or equal to NCOEF KORDER + 1.

BREAK — Array of length (NPPCF + 1) containing the breakpoints of the piecewise polynomial representation.   (Output)
BREAK must be dimensioned at least NCOEF KORDER + 2.

PPCOEF — Array of length KORDER * NPPCF containing the local coefficients of the polynomial pieces.   (Output)
PPCOEF is treated internally as a matrix of size KORDER by NPPCF.

FORTRAN 90 Interface

Generic:          CALL BSCPP (KORDER, XKNOT, NCOEF, BSCOEF, NPPCF, BREAK, PPCOEF)

Specific:         The specific interface names are S_BSCPP and D_BSCPP.

FORTRAN 77 Interface

Single:            CALL BSCPP (KORDER, XKNOT, NCOEF, BSCOEF, NPPCF, BREAK, PPCOEF)

Double:          The double precision name is DBSCPP.

Description

The routine BSCPP is based on the routine BSPLPP by de Boor (1978, page 140). This routine is used to convert a spline in B-spline representation to a piecewise polynomial (pp) representation which can then be evaluated more efficiently. There is some overhead in converting from the
B-spline representation to the pp representation, but the conversion to pp form is recommended when 3 or more function values are needed per polynomial piece.

Comments

1.         Workspace may be explicitly provided, if desired, by use of B2CPP/DB2CPP. The reference is:

CALL B2CPP (KORDER, XKNOT, NCOEF, BSCOEFF, NPPCF, BREAK, PPCOEF, WK)

The additional argument is

WK — Work array of length (KORDER + 3) * KORDER.

2.         Informational errors

Type   Code

4           4                  Multiplicity of the knots cannot exceed the order of the spline.

4           5                  The knots must be nondecreasing.

Example

For an example of the use of BSCPP, see PPDER.


Visual Numerics, Inc.
Visual Numerics - Developers of IMSL and PV-WAVE
http://www.vni.com/
PHONE: 713.784.3131
FAX:713.781.9260