IndexedDirectProductObject(A, S)
indexedp.spad line 112
[edit on github]
Indexed direct products of objects over a set A of generators indexed by an ordered set S. It currently provides the ground for, e.g. FreeModule which lies at the basis of polynomials of all sorts. All items have finite support. If A is a monoid, then only non-zero terms are stored. If A has additive structure, it is propagated coordinatewise to the product. Similarly, comparisons are propagated using lexicographic ordering.
- * : (Integer, %) -> % if A has AbelianGroup
- from AbelianGroup
- * : (NonNegativeInteger, %) -> % if A has AbelianMonoid
- from AbelianMonoid
- * : (PositiveInteger, %) -> % if A has AbelianMonoid
- from AbelianSemiGroup
- + : (%, %) -> % if A has AbelianMonoid
- from AbelianSemiGroup
- - : % -> % if A has AbelianGroup
- from AbelianGroup
- - : (%, %) -> % if A has AbelianGroup
- from AbelianGroup
- 0 : () -> % if A has AbelianMonoid
- from AbelianMonoid
- < : (%, %) -> Boolean if S has OrderedSet and A has OrderedAbelianMonoid or S has OrderedSet and A has OrderedAbelianMonoidSup
- from PartialOrder
- <= : (%, %) -> Boolean if S has OrderedSet and A has OrderedAbelianMonoid or S has OrderedSet and A has OrderedAbelianMonoidSup
- from PartialOrder
- = : (%, %) -> Boolean if A has Hashable and S has Hashable or A has Comparable and S has Comparable or A has AbelianMonoid
- from BasicType
- > : (%, %) -> Boolean if S has OrderedSet and A has OrderedAbelianMonoid or S has OrderedSet and A has OrderedAbelianMonoidSup
- from PartialOrder
- >= : (%, %) -> Boolean if S has OrderedSet and A has OrderedAbelianMonoid or S has OrderedSet and A has OrderedAbelianMonoidSup
- from PartialOrder
- coerce : % -> OutputForm if A has Comparable and S has Comparable or A has AbelianMonoid
- from CoercibleTo(OutputForm)
- construct : List(Record(k : S, c : A)) -> %
- from IndexedProductCategory(A, S)
- constructOrdered : List(Record(k : S, c : A)) -> % if S has Comparable
- from IndexedProductCategory(A, S)
- hash : % -> SingleInteger if A has Hashable and S has Hashable
- from Hashable
- hashUpdate! : (HashState, %) -> HashState if A has Hashable and S has Hashable
- from Hashable
- inf : (%, %) -> % if A has OrderedAbelianMonoidSup and S has OrderedSet
- from OrderedAbelianMonoidSup
- latex : % -> String if A has Comparable and S has Comparable or A has AbelianMonoid
- from SetCategory
- leadingCoefficient : % -> A if S has Comparable
- from IndexedProductCategory(A, S)
- leadingMonomial : % -> % if S has Comparable
- from IndexedProductCategory(A, S)
- leadingSupport : % -> S if S has Comparable
- from IndexedProductCategory(A, S)
- leadingTerm : % -> Record(k : S, c : A) if S has Comparable
- from IndexedProductCategory(A, S)
- listOfTerms : % -> List(Record(k : S, c : A))
- from IndexedDirectProductCategory(A, S)
- map : (Mapping(A, A), %) -> %
- from IndexedProductCategory(A, S)
- max : (%, %) -> % if S has OrderedSet and A has OrderedAbelianMonoid or S has OrderedSet and A has OrderedAbelianMonoidSup
- from OrderedSet
- min : (%, %) -> % if S has OrderedSet and A has OrderedAbelianMonoid or S has OrderedSet and A has OrderedAbelianMonoidSup
- from OrderedSet
- monomial : (A, S) -> %
- from IndexedProductCategory(A, S)
- monomial? : % -> Boolean
- from IndexedProductCategory(A, S)
- numberOfMonomials : % -> NonNegativeInteger
- from IndexedDirectProductCategory(A, S)
- opposite? : (%, %) -> Boolean if A has AbelianMonoid
- from AbelianMonoid
- reductum : % -> % if S has Comparable
- from IndexedProductCategory(A, S)
- sample : () -> % if A has AbelianMonoid
- from AbelianMonoid
- smaller? : (%, %) -> Boolean if S has OrderedSet and A has OrderedAbelianMonoidSup or A has Comparable and S has Comparable or S has OrderedSet and A has OrderedAbelianMonoid
- from Comparable
- subtractIfCan : (%, %) -> Union(%, "failed") if A has CancellationAbelianMonoid
- from CancellationAbelianMonoid
- sup : (%, %) -> % if A has OrderedAbelianMonoidSup and S has OrderedSet
- from OrderedAbelianMonoidSup
- zero? : % -> Boolean if A has AbelianMonoid
- from AbelianMonoid
- ~= : (%, %) -> Boolean if A has Hashable and S has Hashable or A has Comparable and S has Comparable or A has AbelianMonoid
- from BasicType
OrderedSet
OrderedAbelianMonoidSup
OrderedCancellationAbelianMonoid
CancellationAbelianMonoid
OrderedAbelianSemiGroup
AbelianProductCategory(A)
BasicType
CoercibleTo(OutputForm)
Hashable
IndexedDirectProductCategory(A, S)
AbelianGroup
AbelianSemiGroup
SetCategory
Comparable
AbelianMonoid
OrderedAbelianMonoid
PartialOrder
IndexedProductCategory(A, S)