Click or drag to resize
BSpline Class
Spline represents and evaluates univariate B-splines.
Inheritance Hierarchy

Namespace: Imsl.Math
Assembly: ImslCS (in ImslCS.dll) Version: 6.5.2.0
Syntax
[SerializableAttribute]
public abstract class BSpline

The BSpline type exposes the following members.

Constructors
  NameDescription
Protected methodBSpline
Initializes a new instance of the BSpline class
Top
Methods
  NameDescription
Public methodDerivative(Double)
Returns the value of the first derivative of the B-spline at a point.
Public methodDerivative(Double, Int32)
Returns the value of the derivative of the B-spline at a point.
Public methodDerivative(Double, Int32)
Returns the value of the derivative of the B-spline at each point of an array.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodEval(Double)
Returns the value of the B-spline at a point.
Public methodEval(Double)
Returns the value of the B-spline at each point of an array.
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetKnots
Returns a copy of the knot sequence.
Public methodGetSpline
Returns a Spline representation of the B-spline.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIntegral
Returns the value of an integral of the B-spline.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks

B-splines provide a particularly convenient and suitable basis for a given class of smooth ppoly functions. Such a class is specified by giving its breakpoint sequence, its order k, and the required smoothness across each of the interior breakpoints. The corresponding B-spline basis is specified by giving its knot sequence {\bf t} \in {\bf R}^M. The specification rule is as follows: If the class is to have all derivatives up to and including the j-th derivative continuous across the interior breakpoint \xi_i, then the number \xi_i should occur k - j - 1 times in the knot sequence. Assuming that \xi_1 and \xi_n are the endpoints of the interval of interest, choose the first k knots equal to \xi_1 and the last k knots equal to \xi_n. This can be done because the B-splines are defined to be right continuous near \xi_1 and left continuous near \xi_n.

When the above construction is completed, a knot sequence {\bf t} of length M is generated, and there are m: = M-k B-splines of order k, for example B_0, ..., B_{m-1}, spanning the ppoly functions on the interval with the indicated smoothness. That is, each ppoly function in this class has a unique representation  p = a_0B_0 + a_1B_1 + ... + a_{m-1}B_{m-1} as a linear combination of B-splines. A B-spline is a particularly compact ppoly function. B_i is a nonnegative function that is nonzero only on the interval [{\bf t}_i,{\bf t}_{i+k}]. More precisely, the support of the i-th B-spline is \left[ t_i,t_{i+k}\right]. No ppoly function in the same class (other than the zero function) has smaller support (i.e., vanishes on more intervals) than a B-spline. This makes B-splines particularly attractive basis functions since the influence of any particular B-spline coefficient extends only over a few intervals.

See Also