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)

0: %

from AbelianMonoid

*: (%, R) -> %

from RightModule R

*: (Integer, %) -> % if R has AbelianGroup

from AbelianGroup

*: (NonNegativeInteger, %) -> %

from AbelianMonoid

*: (PositiveInteger, %) -> %

from AbelianSemiGroup

*: (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

+: (%, %) -> %

from AbelianSemiGroup

-: % -> % if R has AbelianGroup

from AbelianGroup

-: (%, %) -> % if R has AbelianGroup

from AbelianGroup

<=: (%, %) -> Boolean if R has OrderedAbelianMonoidSup and S has OrderedSet or R has OrderedAbelianMonoid and S has OrderedSet

from PartialOrder

<: (%, %) -> Boolean if R has OrderedAbelianMonoidSup and S has OrderedSet or R has OrderedAbelianMonoid and S has OrderedSet

from PartialOrder

=: (%, %) -> Boolean

from BasicType

>=: (%, %) -> Boolean if R has OrderedAbelianMonoidSup and S has OrderedSet or R has OrderedAbelianMonoid and S has OrderedSet

from PartialOrder

>: (%, %) -> Boolean if R has OrderedAbelianMonoidSup and S has OrderedSet or R has OrderedAbelianMonoid and S has OrderedSet

from PartialOrder

~=: (%, %) -> Boolean

from BasicType

coefficient: (%, S) -> R

from FreeModuleCategory(R, S)

coefficients: % -> List R

from FreeModuleCategory(R, S)

coerce: % -> OutputForm

from CoercibleTo OutputForm

coerce: S -> % if R has SemiRing

from CoercibleFrom S

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: (S -> R, %) -> R if R has CommutativeRing

from FreeModuleCategory(R, S)

listOfTerms: % -> List Record(k: S, c: R)

from IndexedDirectProductCategory(R, S)

map: (R -> R, %) -> %

from IndexedProductCategory(R, S)

max: (%, %) -> % if R has OrderedAbelianMonoidSup and S has OrderedSet or R has OrderedAbelianMonoid and S has OrderedSet

from OrderedSet

min: (%, %) -> % if R has OrderedAbelianMonoidSup and S has OrderedSet or R has OrderedAbelianMonoid and S has OrderedSet

from OrderedSet

monomial?: % -> Boolean

from IndexedProductCategory(R, S)

monomial: (R, S) -> %

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 R has OrderedAbelianMonoid and S has OrderedSet or S has Comparable and R has Comparable or R has OrderedAbelianMonoidSup and S has OrderedSet

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

AbelianGroup if R has AbelianGroup

AbelianMonoid

AbelianProductCategory R

AbelianSemiGroup

BasicType

BiModule(R, R)

CancellationAbelianMonoid

CoercibleFrom S if R has SemiRing

CoercibleTo OutputForm

Comparable if R has OrderedAbelianMonoid and S has OrderedSet or S has Comparable and R has Comparable or R has OrderedAbelianMonoidSup and S has OrderedSet

FreeModuleCategory(R, S)

Hashable if S has Hashable and R has Hashable

IndexedDirectProductCategory(R, S)

IndexedProductCategory(R, S)

LeftModule R

Module R if R has CommutativeRing

OrderedAbelianMonoid if R has OrderedAbelianMonoidSup and S has OrderedSet or R has OrderedAbelianMonoid and S has OrderedSet

OrderedAbelianMonoidSup if R has OrderedAbelianMonoidSup and S has OrderedSet

OrderedAbelianSemiGroup if R has OrderedAbelianMonoidSup and S has OrderedSet or R has OrderedAbelianMonoid and S has OrderedSet

OrderedCancellationAbelianMonoid if R has OrderedAbelianMonoidSup and S has OrderedSet

OrderedSet if R has OrderedAbelianMonoidSup and S has OrderedSet or R has OrderedAbelianMonoid and S has OrderedSet

PartialOrder if R has OrderedAbelianMonoidSup and S has OrderedSet or R has OrderedAbelianMonoid and S has OrderedSet

RetractableTo S if R has SemiRing

RightModule R

SetCategory