  
  [1X5 [33X[0;0YHomogeneous Matrices[133X[101X
  
  [33X[0;0YThe  package  [5XGradedRingForHomalg[105X  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 [5XMatricesForHomalg[105X on which the [5Xhomalg[105X
  project can rely to do homological computations over graded rings.[133X
  
  [33X[0;0YThe  graded  rings  most  prominently  can  be  used with methods known from
  general  [5Xhomalg[105X  rings. The methods for doing the computations are presented
  in the appendix ([14XB[114X), since they are not for external use. The new attributes
  and operations are documented here.[133X
  
  [33X[0;0YSince   the  objects  inplemented  here  are  representations  from  objects
  elsewhere  in the [5Xhomalg[105X project (i.e. [5XMatricesForHomalg[105X), we want to stress
  that there are many other operations in [5XMatricesForHomalg[105X, 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.[133X
  
  
  [1X5.1 [33X[0;0YHomogeneous Matrices: Category and Representations[133X[101X
  
  [1X5.1-1 IsHomalgMatrixOverGradedRingRep[101X
  
  [29X[2XIsHomalgMatrixOverGradedRingRep[102X( [3XA[103X ) [32X Representation
  [6XReturns:[106X  [33X[0;10Ytrue or false[133X
  
  [33X[0;0YThe representation of [5Xhomalg[105X matrices with entries in a [5Xhomalg[105X graded ring.[133X
  
  [33X[0;0Y(It is a representation of the [5XGAP[105X category [10XIsMatrixOverGradedRing[110X.)[133X
  
  [4X[32X  Code  [32X[104X
    [4XDeclareRepresentation( "IsHomalgMatrixOverGradedRingRep",[104X
    [4X        IsMatrixOverGradedRing,[104X
    [4X        [ ] );[104X
  [4X[32X[104X
  
  
  [1X5.2 [33X[0;0YHomogeneous Matrices: Constructors[133X[101X
  
  [1X5.2-1 MatrixOverGradedRing[101X
  
  [29X[2XMatrixOverGradedRing[102X( [3Xmat[103X, [3XS[103X ) [32X function
  [6XReturns:[106X  [33X[0;10Ya matrix over a graded ring[133X
  
  [33X[0;0YCreates  a  matrix  for  the  graded  ring  [3XS[103X,  where  [3Xmat[103X  is a matrix over
  [10XUnderlyingNonGradedRing[110X([3XS[103X).[133X
  
  
  [1X5.3 [33X[0;0YHomogeneous Matrices: Attributes[133X[101X
  
  [1X5.3-1 DegreesOfEntries[101X
  
  [29X[2XDegreesOfEntries[102X( [3XA[103X ) [32X attribute
  [6XReturns:[106X  [33X[0;10Ya listlist of degrees/multi-degrees[133X
  
  [33X[0;0YThe matrix of degrees of the matrix [3XA[103X.[133X
  
  [1X5.3-2 NonTrivialDegreePerRow[101X
  
  [29X[2XNonTrivialDegreePerRow[102X( [3XA[103X[, [3Xcol_degrees[103X] ) [32X attribute
  [6XReturns:[106X  [33X[0;10Ya list of degrees/multi-degrees[133X
  
  [33X[0;0YThe list of first nontrivial degree per row of the matrix [3XA[103X.[133X
  
  [1X5.3-3 NonTrivialDegreePerColumn[101X
  
  [29X[2XNonTrivialDegreePerColumn[102X( [3XA[103X[, [3Xrow_degrees[103X] ) [32X attribute
  [6XReturns:[106X  [33X[0;10Ya list of degrees/multi-degrees[133X
  
  [33X[0;0YThe list of first nontrivial degree per column of the matrix [3XA[103X.[133X
  
  
  [1X5.4 [33X[0;0YHomogeneous Matrices: Operations and Functions[133X[101X
  
  [1X5.4-1 UnderlyingNonGradedRing[101X
  
  [29X[2XUnderlyingNonGradedRing[102X( [3Xmat[103X ) [32X operation
  [6XReturns:[106X  [33X[0;10Ya [5Xhomalg[105X ring[133X
  
  [33X[0;0YThe nongraded ring underlying [10XHomalgRing[110X([3Xmat[103X).[133X
  
  [1X5.4-2 SetMatElm[101X
  
  [29X[2XSetMatElm[102X( [3Xmat[103X, [3Xi[103X, [3Xj[103X, [3Xr[103X, [3XR[103X ) [32X operation
  
  [33X[0;0YChanges  the  entry  ([3Xi,j[103X)  of  the matrix [3Xmat[103X to the value [3Xr[103X. Here [3XR[103X is the
  graded [5Xhomalg[105X ring involved in these computations.[133X
  
  [1X5.4-3 AddToMatElm[101X
  
  [29X[2XAddToMatElm[102X( [3Xmat[103X, [3Xi[103X, [3Xj[103X, [3Xr[103X, [3XR[103X ) [32X operation
  
  [33X[0;0YChanges  the entry ([3Xi,j[103X) of the matrix [3Xmat[103X by adding the value [3Xr[103X to it. Here
  [3XR[103X is the (graded) [5Xhomalg[105X ring involved in these computations.[133X
  
  [1X5.4-4 MatElmAsString[101X
  
  [29X[2XMatElmAsString[102X( [3Xmat[103X, [3Xi[103X, [3Xj[103X, [3XR[103X ) [32X operation
  [6XReturns:[106X  [33X[0;10Ya string[133X
  
  [33X[0;0YReturns  the  entry  ([3Xi,j[103X)  of  the  matrix  [3Xmat[103X  as a string. Here [3XR[103X is the
  (graded) [5Xhomalg[105X ring involved in these computations.[133X
  
  [1X5.4-5 MatElm[101X
  
  [29X[2XMatElm[102X( [3Xmat[103X, [3Xi[103X, [3Xj[103X, [3XR[103X ) [32X operation
  [6XReturns:[106X  [33X[0;10Ya graded ring element[133X
  
  [33X[0;0YReturns  the  entry  ([3Xi,j[103X)  of the matrix [3Xmat[103X. Here [3XR[103X is the (graded) [5Xhomalg[105X
  ring involved in these computations.[133X
  
