BSpline Class |
Namespace: Imsl.Math
The BSpline type exposes the following members.
Name | Description | |
---|---|---|
![]() | Derivative(Double) |
Returns the value of the first derivative of the B-spline at a point.
|
![]() | Derivative(Double, Int32) |
Returns the value of the derivative of the B-spline at a point.
|
![]() | Derivative(Double[], Int32) |
Returns the value of the derivative of the B-spline at each point of
an array.
|
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | Eval(Double) |
Returns the value of the B-spline at a point.
|
![]() | Eval(Double[]) |
Returns the value of the B-spline at each point of an array.
|
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetKnots |
Returns a copy of the knot sequence.
|
![]() | GetSpline |
Returns a Spline representation of the B-spline.
|
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | Integral |
Returns the value of an integral of the B-spline.
|
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
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
. 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
, then the number
should occur k - j - 1 times in the knot sequence.
Assuming that
and
are the endpoints of the interval of interest, choose the first k
knots equal to
and the last k knots
equal to
. This can be done because the
B-splines are defined to be right continuous near
and left continuous near
.
When the above construction is completed, a knot sequence
of length M is generated, and there
are m: = M-k B-splines of order k, for example
, spanning the ppoly functions on
the interval with the indicated smoothness. That is, each ppoly function
in this class has a unique representation
as a
linear combination of B-splines. A B-spline is a particularly compact
ppoly function.
is a nonnegative function that
is nonzero only on the interval
. More precisely, the
support of the i-th B-spline is
.
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.