GAP (GradedRingForHomalg) - Chapter 4: Homogeneous Matrices

Goto Chapter: Top 1 2 3 4 A B Bib Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

[MathJax on]

4 Homogeneous Matrices
4.1 Homogeneous Matrices: Category and Representations
4.1-1 IsHomalgMatrixOverGradedRingRep
4.2 Homogeneous Matrices: Constructors
4.2-1 MatrixOverGradedRing
4.3 Homogeneous Matrices: Attributes
4.3-1 DegreesOfEntries
4.3-2 NonTrivialDegreePerRow
4.3-3 NonTrivialDegreePerColumn
4.3-4 HomogeneousPartOfMatrix
4.3-5 IsMatrixOverGradedRingWithHomogeneousEntries
4.4 Homogeneous Matrices: Operations and Functions
4.4-1 UnderlyingNonGradedRing
4.4-2 SetMatElm
4.4-3 AddToMatElm
4.4-4 MatElmAsString
4.4-5 MatElm

### 4 Homogeneous Matrices

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.

#### 4.1 Homogeneous Matrices: Category and Representations

##### 4.1-1 IsHomalgMatrixOverGradedRingRep

`‣ 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,
            [ ] );

#### 4.2 Homogeneous Matrices: Constructors

##### 4.2-1 MatrixOverGradedRing

`‣ 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).

#### 4.3 Homogeneous Matrices: Attributes

##### 4.3-1 DegreesOfEntries

`‣ DegreesOfEntries`( A ) | ( attribute )

Returns: a listlist of degrees/multi-degrees

The matrix of degrees of the matrix A.

##### 4.3-2 NonTrivialDegreePerRow

`‣ NonTrivialDegreePerRow`( A[, col_degrees] ) | ( attribute )

Returns: a list of degrees/multi-degrees

The list of first nontrivial degree per row of the matrix A.

##### 4.3-3 NonTrivialDegreePerColumn

`‣ NonTrivialDegreePerColumn`( A[, row_degrees] ) | ( attribute )

Returns: a list of degrees/multi-degrees

The list of first nontrivial degree per column of the matrix A.

##### 4.3-4 HomogeneousPartOfMatrix

`‣ 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.

##### 4.3-5 IsMatrixOverGradedRingWithHomogeneousEntries

`‣ IsMatrixOverGradedRingWithHomogeneousEntries`( A ) | ( property )

Returns: `true` or `false`

Checks if every entry in a given matrix A over a graded ring is homogeneous.

#### 4.4 Homogeneous Matrices: Operations and Functions

##### 4.4-1 UnderlyingNonGradedRing

`‣ UnderlyingNonGradedRing`( mat ) | ( operation )

Returns: a homalg ring

The nongraded ring underlying `HomalgRing`(mat).

##### 4.4-2 SetMatElm

`‣ 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.

##### 4.4-3 AddToMatElm

`‣ 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.

##### 4.4-4 MatElmAsString

`‣ 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.

##### 4.4-5 MatElm

`‣ 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.

[Top of Book] [Contents] [Previous Chapter] [Next Chapter]
Goto Chapter: Top 1 2 3 4 A B Bib Ind

generated by GAPDoc2HTML