BiModule(R, S)

catdef.spad line 149 [edit on github]

A BiModule is both a left and right module with respect to potentially different rings.

* : (%, S) -> %
from RightModule(S)
* : (R, %) -> %
from LeftModule(R)
* : (Integer, %) -> % if S has AbelianGroup or R has AbelianGroup
from AbelianGroup
* : (NonNegativeInteger, %) -> % if S has AbelianMonoid or R has AbelianMonoid
from AbelianMonoid
* : (PositiveInteger, %) -> %
from AbelianSemiGroup
+ : (%, %) -> %
from AbelianSemiGroup
- : % -> % if S has AbelianGroup or R has AbelianGroup
from AbelianGroup
- : (%, %) -> % if S has AbelianGroup or R has AbelianGroup
from AbelianGroup
0 : () -> % if S has AbelianMonoid or R has AbelianMonoid
from AbelianMonoid
= : (%, %) -> Boolean
from BasicType
coerce : % -> OutputForm
from CoercibleTo(OutputForm)
latex : % -> String
from SetCategory
opposite? : (%, %) -> Boolean if S has AbelianMonoid or R has AbelianMonoid
from AbelianMonoid
sample : () -> % if S has AbelianMonoid or R has AbelianMonoid
from AbelianMonoid
subtractIfCan : (%, %) -> Union(%, "failed") if S has AbelianGroup or R has AbelianGroup
from CancellationAbelianMonoid
zero? : % -> Boolean if S has AbelianMonoid or R has AbelianMonoid
from AbelianMonoid
~= : (%, %) -> Boolean
from BasicType

CancellationAbelianMonoid

SetCategory

CoercibleTo(OutputForm)

AbelianMonoid

AbelianSemiGroup

LeftModule(R)

BasicType

RightModule(S)

AbelianGroup