4 Graded Rings

The package **GradedRingForHomalg** defines the classes of graded rings, ring elements and matrices over such rings. These three objects can be used as data structures defined in **MatricesForHomalg** on which the **homalg** project can rely to do homological computations over graded rings.

The graded rings most prominently can be used with methods known from general **homalg** rings. The methods for doing the computations are presented in the appendix (B), since they are not for external use. The new attributes and operations are documented here.

Since the objects inplemented here are representations from objects elsewhere in the **homalg** project (i.e. **MatricesForHomalg**), we want to stress that there are many other operations in **MatricesForHomalg**, which can be used in connection with the ones presented here. A few of them can be found in the examples and the appendix of this documentation.

Operations within **MatricesForHomalg** that take matrices as input and produce a matrix as an output produce homogeneous output for homogeneous input in the following cases: the graded ring in question is either a polynomial ring or the exterior algebra residing in **Singular**, and the called operation is one of the following listed below:

`SyzygiesGeneratorsOfRows`

`SyzygiesGeneratorsOfColumns`

`ReducedSyzygiesGeneratorsOfRows`

`ReducedSyzygiesGeneratorsOfColumns`

`BasisOfRowModule`

`BasisOfColumnModule`

`ReducedBasisOfRowModule`

`ReducedBasisOfColumnModule`

`DecideZeroRows`

`DecideZeroColumns`

`LeftDivide`

`RightDivide`

These operation trigger Gröbner bases computations in **Singular**, which are always forced to be performed with a tail reduction by **homalg**. In particular, the resulting elements of the Gröbner bases have to be homogeneous.

`‣ IsHomalgGradedRingRep` ( R ) | ( representation ) |

Returns: true or false

The representation of **homalg** graded rings.

(It is a subrepresentation of the **GAP** representation

`IsHomalgRingOrFinitelyPresentedModuleRep`

.)

DeclareRepresentation( "IsHomalgGradedRingRep", IsHomalgGradedRing and IsHomalgGradedRingOrGradedModuleRep, [ "ring" ] );

`‣ IsHomalgGradedRingElementRep` ( r ) | ( representation ) |

Returns: true or false

The representation of elements of **homalg** graded rings.

(It is a representation of the **GAP** category `IsHomalgRingElement`

.)

DeclareRepresentation( "IsHomalgGradedRingElementRep", IsHomalgGradedRingElement, [ ] );

`‣ HomalgGradedRingElement` ( numer, denom, R ) | ( function ) |

`‣ HomalgGradedRingElement` ( numer, R ) | ( function ) |

Returns: a graded ring element

Creates the graded ring element \(\textit{numer}/\textit{denom}\) or in the second case \(\textit{numer}/1\) for the graded ring `R`. Both `numer` and `denom` may either be a string describing a valid global ring element or from the global ring or computation ring.

`‣ DegreeGroup` ( S ) | ( attribute ) |

Returns: a left ℤ-module

The degree Abelian group of the commutative graded ring `S`.

`‣ CommonNonTrivialWeightOfIndeterminates` ( S ) | ( attribute ) |

Returns: a degree

The common nontrivial weight of the indeterminates of the graded ring `S` if it exists. Otherwise an error is issued. WARNING: Since the DegreeGroup and WeightsOfIndeterminates are in some cases bound together, you MUST not set the DegreeGroup by hand and let the algorithm create the weights. Set both by hand, set only weights or use the method WeightsOfIndeterminates to set both. Never set the DegreeGroup without the WeightsOfIndeterminates, because it simply wont work!

`‣ WeightsOfIndeterminates` ( S ) | ( attribute ) |

Returns: a list or listlist of integers

The list of degrees of the indeterminates of the graded ring `S`.

`‣ MatrixOfWeightsOfIndeterminates` ( S ) | ( attribute ) |

Returns: a **homalg** matrix

A **homalg** matrix where the list (or listlist) of degrees of the indeterminates of the graded ring `S` is stored.

`‣ IsHomogeneousRingElement` ( r ) | ( operation ) |

Returns: `true`

or `false`

returns whether the graded ring element `r` is homogeneous or not.

`‣ UnderlyingNonGradedRing` ( R ) | ( operation ) |

Returns: a **homalg** ring

Internally there is a ring, in which computations take place.

`‣ UnderlyingNonGradedRing` ( r ) | ( operation ) |

Returns: a **homalg** ring

Internally there is a ring, in which computations take place.

`‣ Name` ( r ) | ( operation ) |

Returns: a string

The name of the graded ring element `r`.

`‣ HomogeneousPartOfRingElement` ( r, degree ) | ( operation ) |

Returns: a graded ring element

returns the summand of `r` whose monomials have the given degree `degree` and if `r` has no such monomials then it returns the zero element of the ring.

generated by GAPDoc2HTML