The package GradedRingForHomalg defines the classes of graded rings, ring elements and homogeneous 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.
‣ IsHomalgMatrixOverGradedRingRep ( A ) | ( representation ) |
Returns: true or false
The representation of homalg matrices with entries in a homalg graded ring.
(It is a representation of the GAP category IsMatrixOverGradedRing
.)
DeclareRepresentation( "IsHomalgMatrixOverGradedRingRep", IsMatrixOverGradedRing, [ ] );
‣ MatrixOverGradedRing ( mat, S ) | ( function ) |
Returns: a matrix over a graded ring
Creates a matrix for the graded ring S, where mat is a matrix over UnderlyingNonGradedRing
(S).
‣ DegreesOfEntries ( A ) | ( attribute ) |
Returns: a listlist of degrees/multi-degrees
The matrix of degrees of the matrix A.
‣ NonTrivialDegreePerRow ( A[, col_degrees] ) | ( attribute ) |
Returns: a list of degrees/multi-degrees
The list of first nontrivial degree per row of the matrix A.
‣ NonTrivialDegreePerColumn ( A[, row_degrees] ) | ( attribute ) |
Returns: a list of degrees/multi-degrees
The list of first nontrivial degree per column of the matrix A.
‣ HomogeneousPartOfMatrix ( A, degrees ) | ( property ) |
Returns: a homalg matrix over graded ring
The output is the homogeneous part of the matrix A with respect to the given degrees degrees. See HomogeneousPartOfRingElement.
‣ IsMatrixOverGradedRingWithHomogeneousEntries ( A ) | ( property ) |
Returns: true
or false
Checks if every entry in a given matrix A over a graded ring is homogeneous.
‣ UnderlyingNonGradedRing ( mat ) | ( operation ) |
Returns: a homalg ring
The nongraded ring underlying HomalgRing
(mat).
‣ SetMatElm ( mat, i, j, r, R ) | ( operation ) |
Changes the entry (i,j) of the matrix mat to the value r. Here R is the graded homalg ring involved in these computations.
‣ AddToMatElm ( mat, i, j, r, R ) | ( operation ) |
Changes the entry (i,j) of the matrix mat by adding the value r to it. Here R is the (graded) homalg ring involved in these computations.
‣ MatElmAsString ( mat, i, j, R ) | ( operation ) |
Returns: a string
Returns the entry (i,j) of the matrix mat as a string. Here R is the (graded) homalg ring involved in these computations.
‣ MatElm ( mat, i, j, R ) | ( operation ) |
Returns: a graded ring element
Returns the entry (i,j) of the matrix mat. Here R is the (graded) homalg ring involved in these computations.
generated by GAPDoc2HTML