# GradedAlgebra(R, E)ΒΆ

carten.spad line 48 [edit on github]

GradedAlgebra(`R`

, `E`

) denotes `E-graded \ ``R`

-algebra`''`

. A graded algebra is a graded module together with a degree preserving `R`

-linear map, called the *product*. The name `product\ ``''`

is written out in full so inner and outer products with the same mapping type can be distinguished by name.

- 0: %
from GradedModule(R, E)

- 1: %
1 is the identity for

`product`

.

- *: (%, R) -> %
from GradedModule(R, E)

- *: (R, %) -> %
from GradedModule(R, E)

- +: (%, %) -> %
from GradedModule(R, E)

- -: % -> %
from GradedModule(R, E)

- -: (%, %) -> %
from GradedModule(R, E)

- coerce: % -> OutputForm
from CoercibleTo OutputForm

- coerce: R -> %
from CoercibleFrom R

- degree: % -> E
from GradedModule(R, E)

- latex: % -> String
from SetCategory

- product: (%, %) -> %
`product(a, b)`

is the degree-preserving`R`

-linear product:`degree product(a, b) = degree a + degree b`

`product(a1+a2, b) = product(a1, b) + product(a2, b)`

`product(a, b1+b2) = product(a, b1) + product(a, b2)`

`product(r*a, b) = product(a, r*b) = r*product(a, b)`

`product(a, product(b, c)) = product(product(a, b), c)`

- retract: % -> R
from RetractableTo R

- retractIfCan: % -> Union(R, failed)
from RetractableTo R

GradedModule(R, E)