FreeModuleCategory(R, S)¶
poly.spad line 19 [edit on github]
R: Join(SemiRng, AbelianMonoid)
S: SetCategory
A domain of this category implements formal linear combinations of elements from a domain Basis
with coefficients in a domain R
. The domain Basis
needs only to belong to the category SetCategory and R
to the category Ring. Thus the coefficient ring may be non-commutative. See the XDistributedPolynomial constructor for examples of domains built with the FreeModuleCategory category constructor. Author: Michel Petitot (petitot@lifl.fr
) Note (Franz Lehner, June 2009): FreeModule
originally was not of FreeModuleCategory. Some functions (like support
, coefficients
, monomials
, …) from here could be moved to IndexedDirectProductCategory
but at the moment there is no need for this.
- 0: %
from AbelianMonoid
- *: (%, R) -> %
from RightModule R
- *: (Integer, %) -> % if R has AbelianGroup
from AbelianGroup
- *: (NonNegativeInteger, %) -> %
from AbelianMonoid
- *: (PositiveInteger, %) -> %
from AbelianSemiGroup
- *: (R, %) -> %
from LeftModule R
- +: (%, %) -> %
from AbelianSemiGroup
- -: % -> % if R has AbelianGroup
from AbelianGroup
- -: (%, %) -> % if R has AbelianGroup
from AbelianGroup
- coefficient: (%, S) -> R
coefficient(x, s)
returns the coefficient of the basis elements
- coefficients: % -> List R
coefficients(x)
returns the list of coefficients ofx
.
- coerce: % -> OutputForm
from CoercibleTo OutputForm
- construct: List Record(k: S, c: R) -> %
from IndexedProductCategory(R, S)
- constructOrdered: List Record(k: S, c: R) -> % if S has Comparable
from IndexedProductCategory(R, S)
- latex: % -> String
from SetCategory
- leadingCoefficient: % -> R if S has Comparable
from IndexedProductCategory(R, S)
- leadingMonomial: % -> % if S has Comparable
from IndexedProductCategory(R, S)
- leadingSupport: % -> S if S has Comparable
from IndexedProductCategory(R, S)
- leadingTerm: % -> Record(k: S, c: R) if S has Comparable
from IndexedProductCategory(R, S)
- linearExtend: (S -> R, %) -> R if R has CommutativeRing
linearExtend: (f, x)
returns the linear extension of a map defined on the basis applied to a linear combination
- listOfTerms: % -> List Record(k: S, c: R)
from IndexedDirectProductCategory(R, S)
- map: (R -> R, %) -> %
from IndexedProductCategory(R, S)
- monomial?: % -> Boolean
from IndexedProductCategory(R, S)
- monomial: (R, S) -> %
from IndexedProductCategory(R, S)
- monomials: % -> List %
monomials(x)
returns the list ofr_i*b_i
whose sum isx
.
- numberOfMonomials: % -> NonNegativeInteger
from IndexedDirectProductCategory(R, S)
- opposite?: (%, %) -> Boolean
from AbelianMonoid
- reductum: % -> % if S has Comparable
from IndexedProductCategory(R, S)
- sample: %
from AbelianMonoid
- smaller?: (%, %) -> Boolean if R has Comparable and S has Comparable
from Comparable
- subtractIfCan: (%, %) -> Union(%, failed)
- support: % -> List S
support(x)
returns the list of basis elements with nonzero coefficients.
- zero?: % -> Boolean
from AbelianMonoid
AbelianGroup if R has AbelianGroup
BiModule(R, R)
Comparable if R has Comparable and S has Comparable
IndexedDirectProductCategory(R, S)
IndexedProductCategory(R, S)
Module R if R has CommutativeRing