template<size_t Order, size_t Pieces>
class gtsam::PiecewisePolynomial< Order, Pieces >
A one-dimensional piecewise polynomial kernel.
On interval \([b_j,b_{j+1}]\), the value is \(p_j(t)=\sum_{k=0}^{Order} a_{j,k}t^k\). Coefficients for each piece are therefore stored in ascending power order. The \(r\)-th derivative uses the exact power rule, \(p_j^{(r)}(t)=\sum_{k=r}^{Order}\frac{k!}{(k-r)!}a_{j,k}t^{k-r}\). Values outside the declared interval range are evaluated at the nearest endpoint, which lets cumulative kernels remain constant outside support.
- Template Parameters
-
| Order | Polynomial order of every piece. |
| Pieces | Number of polynomial pieces. |
|
|
| PiecewisePolynomial (const Parameters ¶meters) |
| | Construct a kernel from fixed-size coefficient data.
|
| double | getCenter () const override |
| | Return the representative center of the kernel support.
|
| double | getBeginning () const override |
| | Return the first boundary of the kernel support.
|
| double | getEnd () const override |
| | Return the last boundary of the kernel support.
|
| size_t | getValidDerivatives () const override |
| | Return the largest derivative order available analytically.
|
|
const std::array< double, pieces+1 > & | getIntervals () const |
| | Return interval boundaries, primarily for validation and visualization.
|
| double | evaluate (double t, OptionalJacobian< 1, 1 > H={}) const override |
| | Evaluate the selected polynomial piece and optionally its slope.
|
| double | evaluateDerivative (size_t derivative, double t, OptionalJacobian< 1, 1 > H={}) const override |
| | Evaluate an analytic derivative and optionally the next derivative.
|
|
double | getLength () const |
| | Width of the kernel support.
|
|
virtual | ~KernelBase ()=default |
| | Destroy the polymorphic kernel interface.
|