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.

0: % if S has AbelianMonoid or R has AbelianMonoid

from AbelianMonoid

*: (%, S) -> %

from RightModule S

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

*: (R, %) -> %

from LeftModule R

+: (%, %) -> %

from AbelianSemiGroup

-: % -> % if S has AbelianGroup or R has AbelianGroup

from AbelianGroup

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

from AbelianGroup

=: (%, %) -> Boolean

from BasicType

~=: (%, %) -> 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

AbelianGroup if S has AbelianGroup or R has AbelianGroup

AbelianMonoid if S has AbelianMonoid or R has AbelianMonoid

AbelianSemiGroup

BasicType

CancellationAbelianMonoid if S has AbelianGroup or R has AbelianGroup

CoercibleTo OutputForm

LeftModule R

RightModule S

SetCategory