# GradedModule(R, E)ΒΆ

- R: CommutativeRing
- E: AbelianMonoid

GradedModule(`R`

, `E`

) denotes `E-graded \ ``R`

-module`''`

, i.e. collection of `R`

-modules indexed by an abelian monoid `E`

. An element `g`

of `G[s]`

for some specific `s`

in `E`

is said to be an element of `G`

with *degree* `s`

. Sums are defined in each module `G[s]`

so two elements of `G`

have a sum if they have the same degree. Morphisms can be defined and composed by degree to give the mathematical category of graded modules.

- 0: %
- 0 denotes the zero of degree 0.

- *: (%, R) -> %
`g*r`

is right module multiplication.

- *: (R, %) -> %
`r*g`

is left module multiplication.

- +: (%, %) -> %
`g+h`

is the sum of`g`

and`h`

in the module of elements of the same degree as`g`

and`h`

. Error: if`g`

and`h`

have different degrees.

- -: % -> %
`-g`

is the additive inverse of`g`

in the module of elements of the same grade as`g`

.

- -: (%, %) -> %
`g-h`

is the difference of`g`

and`h`

in the module of elements of the same degree as`g`

and`h`

. Error: if`g`

and`h`

have different degrees.- =: (%, %) -> Boolean
- from BasicType
- ~=: (%, %) -> Boolean
- from BasicType
- coerce: % -> OutputForm
- from CoercibleTo OutputForm

- degree: % -> E
`degree(g)`

names the degree of`g`

. The set of all elements of a given degree form an`R`

-module.- hash: % -> SingleInteger
- from SetCategory
- hashUpdate!: (HashState, %) -> HashState
- from SetCategory
- latex: % -> String
- from SetCategory