PointChain

 Author: Kurt Pagani
 Date Created: Fri Sep 27 13:05:21 CEST 2024
 License: BSD
 References:
 Description: barycenter

point : Symbol -> %
 \spad{point S} constructs a single point, which is the basis to
 generate chains of any degree. \spad{S} may be any symbol,
 however, uppercase letters are most adequate of course.
_* : (%,%) -> %
 \spad{c1*c2} multiplication of chains.
_* : (R,%) -> %
 \spad{r * c} multiplication of a chain by a scalar from R.
_+ : (%,%) -> %
 \spad{c1 + c2} addition of chains.
_- : (%,%) -> %
 \spad{c1 -c2} subtraction of chains.
_- : % -> %
 \spad{-c} negative of a chain.
_= : (%, %) -> Boolean
 \spad{c1 = c2} equality f chains.
1 : () -> %
 \spad{1} the pseudo chain 1 (degree = -1).
0 : () -> %
 \spad{0} the zero chain.
constant? : % -> Boolean
 \spad{constant? c} true if the chain contains no point
 (i.e. not really a chain).
degree : % -> Integer
 \spad{degree c} returns the highest degree of a chain. Note that the
 degree of a chain is one less than a corresponding
 \spad{XDistributedPolynomial}.
leadingMonomial : % -> %
 \spad{leadingMonomial c} returns the leading monomial (including
 the coefficient).
reductum : % -> %
 \spad{reductum c} returns the rest of the chain, that is without
 leading monomial.
leadingCoefficient: % -> R
 \spad{leadingCoefficient c} returns the coefficient of the
 leading monomial.
leadingSupport: % -> List(%)
 \spad{leadingSupport c} gives the ordered list of points in the
 leading monomial, so that \spad{reduce(_*,%)} will reproduce
 the monomial (w/o coefficient).
bdry : % -> %
 \spad{bdry c} computes the boundary of the chain (recursively).
homogeneous? : % -> Boolean
 \spad{homgogeneous? x} is true if all terms have the same
 degree.
numberOfMonomials : % -> NonNegativeInteger
 \spad{numberOfMonomials x} is what it says.
zero? : % -> Boolean
 \spad{zero? c} is true if c the zero chain.
one? : % -> Boolean
 \spad{one? c} is true if c is the \spad{1}-element of the scalar
 field.
latex : % -> String
 \spad{latex c} returns a LaTeX representation of the chain.
normalize : % -> %
 \spad{normalize c} sorts all points in all monomials lex and
 reconstructs the chain.
spaceDim : (%,PositiveInteger) -> %
 \spad{spaceDim(c,n)} removes all terms having degree greater
 than \spad{n}, which serves as space dimension of an affine
 space.
barycenter : % -> Union(%,"failed")
 \spad{barycenter x} returns the barycenter of a \spad{0-chain},
 in case there is one.
retract: % -> XDP
 \spad{retract c} retracts the chain to a \spad{XDistributedPolynomial},
 so that more tools are availabe for manipulations.
coerce: XDP -> %
 \spad{coerce p} coerces a \spad{XDistributedPolynomial p} to a chain,
 whereby all terms not conforming to a chain will be removed.