A polynomial path is a map $[0,1] \to \mathbb R^d$ whose coordinate functions are given by polynomials. A piecewise polynomial path is a concatenation of polynomial paths.
To create a polynomial path, use polyPath, which takes a list of polynomials as input. These can be given as elements of a commutative polynomial ring with one generator or directly in listForm.
|
|
|
While the polynomials must be chosen from a polynomial ring with one generator, the coefficient ring of the polynomials can be chosen arbitrarily.
|
|
An important special case of polynomial paths are linear paths. These can be constructed directly from their increment using linPath.
|
Paths can be concatenated using Path ** Path. This concatenation is formal: the new Path object encodes the polynomial pieces and their order, but no parametrization is chosen. The concatenation Path ** Path will automatically select a bigger coefficient ring for all polynomial pieces if an obvious choice is available.
|
A piecewise linear path can be constructed directly from the increments of its segments using pwLinPath.
|
|
To read out the ambient dimension of a path, use getDimension(Path) or dim(Path). To get the pieces of the path in listForm use getPieces(Path). To get the coefficient ring of the coordinate polynomials, use getCoefficientRing(Path) or coefficientRing(Path). Finally, getNumberOfPieces(Path) returns the number of pieces of the path.
|
|
|
|
To extract the pieces of a concatenated path one can use Path _ ZZ, Path _ List and Path _ Sequence.
|
|
|
When considering the set of paths modulo tree-like equivalence, concatenation turns it into a groupoid. Use Path ^ ZZ to compute powers and the inverse of a path in this groupoid. Note that the inverse of a path is just given by reversing its parametrization.
|
|
The object Path is a type, with ancestor classes MutableHashTable < HashTable < Thing.
The source of this document is in PathSignatures/documentation.m2:380:0.