Class Documentation
This section is the reference manual for the spline classes and constraint objects. Use it when you want the exact constructor, property, method, or equation used by a class.
If you are still choosing an approach, start with Which Class Should I Use? or the Tutorials before dropping into the reference.
Choose a starting point
| Class | Use it when | Typical job |
|---|---|---|
InterpolatingSpline | your values are trusted exactly and lie on a 1-D grid or rectilinear tensor grid | exact interpolation |
ConstrainedSpline | your data are noisy, weighted, or subject to point or global constraints | smoothing and constrained fitting |
TrajectorySpline | you want a planar x(t), y(t) model with shared parameterization and persisted restart | fit and persist a two-dimensional trajectory |
BSpline | you want direct access to one-dimensional basis matrices, derivatives, knot utilities, or PP coefficients | low-level 1-D spline work |
TensorSpline | you want the multidimensional tensor-product analogue of BSpline | low-level tensor-product spline work |
Most users should start with InterpolatingSpline, ConstrainedSpline, or TrajectorySpline. The lower-level BSpline and TensorSpline pages are mainly for building custom workflows, understanding the mathematics, or working directly with spline bases and coefficients.
How the classes relate
BSplineis the core one-dimensional spline object.TensorSplineextends the same construction to multiple dimensions by taking tensor products of one-dimensional bases.InterpolatingSplineis the exact-fit constructor built on top ofTensorSpline.ConstrainedSplineis the noisy-data fitting constructor built on top ofTensorSpline, with weights, robust distributions, and constraints.TrajectorySplinestores a shared-parameter planar trajectory as paired one-dimensional component splines and exposes directu(t)andv(t)helpers.
Constraint objects
These helper classes support ConstrainedSpline:
Shared notation
The reference pages use the same notation throughout so the equations, examples, and property names line up.
| Symbol | Meaning | API name |
|---|---|---|
| \(S\) | spline degree | S |
| \(K = S + 1\) | spline order | K |
| \(\tau\) | knot vector in 1-D, or knot vectors per dimension in tensor splines | knotPoints |
| \(\xi\) | spline coefficients | xi |
| \(B\) | one-dimensional basis matrix | returned by BSpline.matrixForDataPoints |
| \(\mathbf{B}\) | tensor-product basis matrix or fitting system matrix | returned by TensorSpline.matrixForPointMatrix or built inside fitting classes |
| \(xMean\), \(xStd\) | affine output normalization | xMean, xStd |
When a class stores affine normalization, zero-order evaluation is written as an additive offset plus a scaled spline expansion. Derivative expressions keep the xStd scaling and drop the xMean offset.
Reading the reference
Each class page emphasizes the methods and properties declared by that class. Inherited behavior lives on the parent-class page, so higher-level pages stay shorter and easier to scan:
InterpolatingSplineandConstrainedSplineinherit most evaluation and transformation behavior fromTensorSpline.TrajectorySplinedocuments the trajectory-specific construction and derivative helpers, while itsxandyproperties point back to the underlying spline components.TensorSplinemirrors many one-dimensional ideas fromBSpline, but does not duplicate the fullBSplinereference.