# AbelianProductCategory AΒΆ

indexedp.spad line 1 [edit on github]

A: Type

This category represents products with coordinatewise additive operations.

- 0: % if A has AbelianMonoid
from AbelianMonoid

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

- *: (NonNegativeInteger, %) -> % if A has AbelianMonoid
from AbelianMonoid

- *: (PositiveInteger, %) -> % if A has AbelianMonoid
from AbelianSemiGroup

- +: (%, %) -> % if A has AbelianMonoid
from AbelianSemiGroup

- -: % -> % if A has AbelianGroup
from AbelianGroup

- -: (%, %) -> % if A has AbelianGroup
from AbelianGroup

- =: (%, %) -> Boolean if A has AbelianMonoid
from BasicType

- ~=: (%, %) -> Boolean if A has AbelianMonoid
from BasicType

- coerce: % -> OutputForm if A has AbelianMonoid
from CoercibleTo OutputForm

- hash: % -> SingleInteger if A has AbelianMonoid
from SetCategory

- hashUpdate!: (HashState, %) -> HashState if A has AbelianMonoid
from SetCategory

- latex: % -> String if A has AbelianMonoid
from SetCategory

- opposite?: (%, %) -> Boolean if A has AbelianMonoid
from AbelianMonoid

- sample: % if A has AbelianMonoid
from AbelianMonoid

- subtractIfCan: (%, %) -> Union(%, failed) if A has CancellationAbelianMonoid

- zero?: % -> Boolean if A has AbelianMonoid
from AbelianMonoid

AbelianGroup if A has AbelianGroup

AbelianMonoid if A has AbelianMonoid

AbelianSemiGroup if A has AbelianMonoid

BasicType if A has AbelianMonoid

CancellationAbelianMonoid if A has CancellationAbelianMonoid

CoercibleTo OutputForm if A has AbelianMonoid

SetCategory if A has AbelianMonoid