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)