BiModule(R, S)ΒΆ

catdef.spad line 148 [edit on github]

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

0: % if R has AbelianMonoid or S has AbelianMonoid

from AbelianMonoid

*: (%, S) -> %

from RightModule S

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

from AbelianGroup

*: (NonNegativeInteger, %) -> % if R has AbelianMonoid or S has AbelianMonoid

from AbelianMonoid

*: (PositiveInteger, %) -> %

from AbelianSemiGroup

*: (R, %) -> %

from LeftModule R

+: (%, %) -> %

from AbelianSemiGroup

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

from AbelianGroup

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

from AbelianGroup

=: (%, %) -> Boolean

from BasicType

~=: (%, %) -> Boolean

from BasicType

coerce: % -> OutputForm

from CoercibleTo OutputForm

hash: % -> SingleInteger

from SetCategory

hashUpdate!: (HashState, %) -> HashState

from SetCategory

latex: % -> String

from SetCategory

opposite?: (%, %) -> Boolean if R has AbelianMonoid or S has AbelianMonoid

from AbelianMonoid

sample: % if R has AbelianMonoid or S has AbelianMonoid

from AbelianMonoid

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

from CancellationAbelianMonoid

zero?: % -> Boolean if R has AbelianMonoid or S has AbelianMonoid

from AbelianMonoid

AbelianGroup if R has AbelianGroup or S has AbelianGroup

AbelianMonoid if R has AbelianMonoid or S has AbelianMonoid

AbelianSemiGroup

BasicType

CancellationAbelianMonoid if R has AbelianGroup or S has AbelianGroup

CoercibleTo OutputForm

LeftModule R

RightModule S

SetCategory