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)