FreeModule(R, S)

poly.spad line 101 [edit on github]

A bi-module is a free module over a ring with generators indexed by an ordered set. Each element can be expressed as a finite linear combination of generators. Only non-zero terms are stored. old domain FreeModule1 was merged to it in May 2009 The description of the latter: This domain implements linear combinations of elements from the domain S with coefficients in the domain R where S is an ordered set and R is a ring (which may be non-commutative). This domain is used by domains of non-commutative algebra such as: XDistributedPolynomial, XRecursivePolynomial. Author: Michel Petitot (petitot@lifl.fr)

* : (%, R) -> %
from RightModule(R)
* : (R, %) -> %
from LeftModule(R)
* : (R, S) -> %

r*b returns the product of r by b.

* : (S, R) -> %

s*r returns the product r*s used by XRecursivePolynomial

* : (Integer, %) -> % if R has AbelianGroup
from AbelianGroup
* : (NonNegativeInteger, %) -> %
from AbelianMonoid
* : (PositiveInteger, %) -> %
from AbelianSemiGroup
+ : (%, %) -> %
from AbelianSemiGroup
- : % -> % if R has AbelianGroup
from AbelianGroup
- : (%, %) -> % if R has AbelianGroup
from AbelianGroup
0 : () -> %
from AbelianMonoid
< : (%, %) -> Boolean if S has OrderedSet and R has OrderedAbelianMonoid or S has OrderedSet and R has OrderedAbelianMonoidSup
from PartialOrder
<= : (%, %) -> Boolean if S has OrderedSet and R has OrderedAbelianMonoid or S has OrderedSet and R has OrderedAbelianMonoidSup
from PartialOrder
= : (%, %) -> Boolean
from BasicType
> : (%, %) -> Boolean if S has OrderedSet and R has OrderedAbelianMonoid or S has OrderedSet and R has OrderedAbelianMonoidSup
from PartialOrder
>= : (%, %) -> Boolean if S has OrderedSet and R has OrderedAbelianMonoid or S has OrderedSet and R has OrderedAbelianMonoidSup
from PartialOrder
coefficient : (%, S) -> R
from FreeModuleCategory(R, S)
coefficients : % -> List(R)
from FreeModuleCategory(R, S)
coerce : S -> % if R has SemiRing
from CoercibleFrom(S)
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)
hash : % -> SingleInteger if S has Hashable and R has Hashable
from Hashable
hashUpdate! : (HashState, %) -> HashState if S has Hashable and R has Hashable
from Hashable
inf : (%, %) -> % if R has OrderedAbelianMonoidSup and S has OrderedSet
from OrderedAbelianMonoidSup
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 : (Mapping(R, S), %) -> R if R has CommutativeRing
from FreeModuleCategory(R, S)
listOfTerms : % -> List(Record(k : S, c : R))
from IndexedDirectProductCategory(R, S)
map : (Mapping(R, R), %) -> %
from IndexedProductCategory(R, S)
max : (%, %) -> % if S has OrderedSet and R has OrderedAbelianMonoid or S has OrderedSet and R has OrderedAbelianMonoidSup
from OrderedSet
min : (%, %) -> % if S has OrderedSet and R has OrderedAbelianMonoid or S has OrderedSet and R has OrderedAbelianMonoidSup
from OrderedSet
monomial : (R, S) -> %
from IndexedProductCategory(R, S)
monomial? : % -> Boolean
from IndexedProductCategory(R, S)
monomials : % -> List(%)
from FreeModuleCategory(R, S)
numberOfMonomials : % -> NonNegativeInteger
from IndexedDirectProductCategory(R, S)
opposite? : (%, %) -> Boolean
from AbelianMonoid
reductum : % -> % if S has Comparable
from IndexedProductCategory(R, S)
retract : % -> S if R has SemiRing
from RetractableTo(S)
retractIfCan : % -> Union(S, "failed") if R has SemiRing
from RetractableTo(S)
sample : () -> %
from AbelianMonoid
smaller? : (%, %) -> Boolean if S has OrderedSet and R has OrderedAbelianMonoidSup or R has Comparable and S has Comparable or S has OrderedSet and R has OrderedAbelianMonoid
from Comparable
subtractIfCan : (%, %) -> Union(%, "failed")
from CancellationAbelianMonoid
sup : (%, %) -> % if R has OrderedAbelianMonoidSup and S has OrderedSet
from OrderedAbelianMonoidSup
support : % -> List(S)
from FreeModuleCategory(R, S)
zero? : % -> Boolean
from AbelianMonoid
~= : (%, %) -> Boolean
from BasicType

OrderedAbelianMonoidSup

IndexedDirectProductCategory(R, S)

BiModule(R, R)

OrderedCancellationAbelianMonoid

Module(R)

OrderedAbelianSemiGroup

RetractableTo(S)

AbelianProductCategory(R)

BasicType

IndexedProductCategory(R, S)

RightModule(R)

Hashable

AbelianGroup

CoercibleFrom(S)

AbelianSemiGroup

SetCategory

OrderedSet

FreeModuleCategory(R, S)

AbelianMonoid

OrderedAbelianMonoid

Comparable

PartialOrder

LeftModule(R)

CoercibleTo(OutputForm)

CancellationAbelianMonoid