Goto Chapter: Top 1 2 3 4 A Bib Ind
Top of Book Previous Chapter Next Chapter

3 GaussForHomalg methods and functions
3.1 The Tools
3.1-1 ZeroMatrix
3.1-2 IdentityMatrix
3.1-3 CopyMatrix
3.1-4 ImportMatrix
3.1-5 Involution
3.1-6 CertainRows
3.1-7 CertainColumns
3.1-8 UnionOfRows
3.1-9 UnionOfColumns
3.1-10 DiagMat
3.1-11 KroneckerMat
3.1-12 Compose
3.1-13 NrRows
3.1-14 NrColumns
3.1-15 IsZeroMatrix
3.1-16 IsDiagonalMatrix
3.1-17 ZeroRows
3.1-18 ZeroColumns
3.2 The Basic Functions and homalg table creation
3.2-1 DecideZeroRows
3.2-2 DecideZeroRowsEffectively
3.2-3 SyzygiesGeneratorsOfRows
3.2-4 RelativeSyzygiesGeneratorsOfRows
3.2-5 RowReducedEchelonForm
3.2-6 CreateHomalgTable
3.3 Matrix entry manipulation
3.3-1 GetEntryOfHomalgMatrix
3.3-2 SetEntryOfHomalgMatrix
3.3-3 AddToEntryOfHomalgMatrix

### 3 GaussForHomalg methods and functions

#### 3.1 The Tools

Please note that there are more tool functions you can define, GaussForHomalg just provides homalg with a sufficient subset. This varies with the type and complexity of the rings you want to define. On the other hand, `ImportMatrix` (3.1-4) is a function specifically designed for GaussForHomalg.

##### 3.1-1 ZeroMatrix

`> ZeroMatrix`( C ) | ( function )

Returns: a sparse matrix

This returns a sparse matrix with the same dimensions and base ring as the homalg matrix C.

##### 3.1-2 IdentityMatrix

`> IdentityMatrix`( C ) | ( function )

Returns: a sparse matrix

This returns a sparse n x n identity matrix with the same ring as the homalg matrix C, n being the number of rows of C.

##### 3.1-3 CopyMatrix

`> CopyMatrix`( C ) | ( function )

Returns: a sparse matrix

This returns a sparse matrix which is a shallow copy of the sparse matrix stored in the `Eval` attribute of the homalg matrix C.

##### 3.1-4 ImportMatrix

`> ImportMatrix`( M, R ) | ( function )

Returns: a sparse matrix

This returns the sparse version of the GAP matrix M over the ring R. It prevents homalg from calling sparse matrix algorithms on dense GAP matrices. Note that this is not a "standard" tool but neccessary because of the new data type.

##### 3.1-5 Involution

`> Involution`( M ) | ( function )

Returns: a sparse matrix

This returns a sparse matrix which is the transpose of the sparse matrix stored in the `Eval` attribute of the homalg matrix M.

##### 3.1-6 CertainRows

`> CertainRows`( M, plist ) | ( function )

Returns: a sparse matrix

This returns the rows in plist of the sparse matrix stored in the `Eval` attribute of the homalg matrix M as a new matrix.

##### 3.1-7 CertainColumns

`> CertainColumns`( M, plist ) | ( function )

Returns: a sparse matrix

This returns the columns in plist of the sparse matrix stored in the `Eval` attribute of the homalg matrix M as a new matrix.

##### 3.1-8 UnionOfRows

`> UnionOfRows`( A, B ) | ( function )

Returns: a sparse matrix

This returns the sparse matrix created by concatenating the rows of the sparse matrices stored in the `Eval` attributes of the homalg matrices A and B.

##### 3.1-9 UnionOfColumns

`> UnionOfColumns`( A, B ) | ( function )

Returns: a sparse matrix

This returns the sparse matrix created by concatenating the columns of the sparse matrices stored in the `Eval` attributes of the homalg matrices A and B.

##### 3.1-10 DiagMat

`> DiagMat`( e ) | ( function )

Returns: a sparse matrix

This method takes a list e of homalg matrices and returns the sparse block matrix of the matrices stored in the `Eval` attributes of the matrices in e.

##### 3.1-11 KroneckerMat

`> KroneckerMat`( A, B ) | ( function )

Returns: a sparse matrix

This returns the sparse Kronecker matrix of the matrices stored in the `Eval` attributes of the homalg matrices A and B.

##### 3.1-12 Compose

`> Compose`( A, B ) | ( function )

Returns: a sparse matrix

This returns the matrix product of the sparse matrices stored in the `Eval` attributes of the homalg matrices A and B.

##### 3.1-13 NrRows

`> NrRows`( C ) | ( function )

Returns: an integer

This returns the number of rows of the sparse matrix stored in the `Eval` attribute of the homalg matrix C.

##### 3.1-14 NrColumns

`> NrColumns`( C ) | ( function )

Returns: an integer

This returns the number of columns of the sparse matrix stored in the `Eval` attribute of the homalg matrix C.

##### 3.1-15 IsZeroMatrix

`> IsZeroMatrix`( C ) | ( function )

Returns: true or false

This returns true if the sparse matrix stored in the `Eval` attribute of the homalg matrix C is a zero matrix, and false otherwise.

##### 3.1-16 IsDiagonalMatrix

`> IsDiagonalMatrix`( C ) | ( function )

Returns: true or false

This returns true if the sparse matrix stored in the `Eval` attribute of the homalg matrix C is a diagonal matrix, and false otherwise.

##### 3.1-17 ZeroRows

`> ZeroRows`( C ) | ( function )

Returns: a list

This returns the list of zero rows of the sparse matrix stored in the `Eval` attribute of the homalg matrix C.

##### 3.1-18 ZeroColumns

`> ZeroColumns`( C ) | ( function )

Returns: a list

This returns the list of zero columns of the sparse matrix stored in the `Eval` attribute of the homalg matrix C.

#### 3.2 The Basic Functions and homalg table creation

##### 3.2-1 DecideZeroRows

`> DecideZeroRows`( A, B ) | ( function )

Returns: a homalg matrix

This returns the homalg matrix you get by row reducing the homalg matrix A with the homalg matrix B.

##### 3.2-2 DecideZeroRowsEffectively

`> DecideZeroRowsEffectively`( A, B, T ) | ( function )

Returns: a homalg matrix M

This returns the homalg matrix M you get by row reducing the homalg matrix A with the homalg matrix B. The transformation matrix is stored in the void homalg matrix T as a side effect. The matrices satisfy M = A + T * B.

##### 3.2-3 SyzygiesGeneratorsOfRows

`> SyzygiesGeneratorsOfRows`( M ) | ( function )

Returns: a homalg matrix

This returns the row syzygies of the homalg matrix M, again as a homalg matrix.

##### 3.2-4 RelativeSyzygiesGeneratorsOfRows

`> RelativeSyzygiesGeneratorsOfRows`( M, N ) | ( function )

Returns: a homalg matrix

The row syzygies of M are returned, but now the computation interpretes the rows of the homalg matrix N as additional zero relations.

##### 3.2-5 RowReducedEchelonForm

`> RowReducedEchelonForm`( M[, U] ) | ( function )

Returns: a homalg matrix N

If one argument is given, this returns the triangular basis (reduced row echelon form) of the homalg matrix M, again as a homalg matrix. In case of two arguments, still only the triangular basis of M is returned, but the transformation matrix is stored in the void homalg matrix U as a side effect. The matrices satisfy N = U * M.

##### 3.2-6 CreateHomalgTable

`> CreateHomalgTable`( R ) | ( function )

Returns: a homalg table

This returns the homalg table of what will become the homalg ring R (at this point R is just a homalg object with some properties for the method selection of `CreateHomalgTable`). This method includes the needed functions stored in the global variables `CommonHomalgTableForGaussTools` and `CommonHomalgTableForGaussBasic`, and can add some more to the record that will become the homalg table.

#### 3.3 Matrix entry manipulation

This is just support for the sparse matrix data type.

##### 3.3-1 GetEntryOfHomalgMatrix

`> GetEntryOfHomalgMatrix`( M, r, c, R ) | ( method )

Returns: M[r,c]

If the Eval attribute of the homalg matrix M over the homalg ring R is sparse, this calls the corresponding Gauss command `GetEntry`.

##### 3.3-2 SetEntryOfHomalgMatrix

`> SetEntryOfHomalgMatrix`( M, r, c, e, R ) | ( method )

Returns: nothing

If the Eval attribute of the homalg matrix M over the homalg ring R is sparse, this calls the corresponding Gauss command `GetEntry`, to achieve `M[r,c]:=e`.

##### 3.3-3 AddToEntryOfHomalgMatrix

`> AddToEntryOfHomalgMatrix`( M, r, c, e, R ) | ( method )

Returns: nothing

If the Eval attribute of the homalg matrix M over the homalg ring R is sparse, this calls the corresponding Gauss command `AddToEntry`, to achieve `M[r,c] := M[r,c] + e`.

Top of Book Previous Chapter Next Chapter
Goto Chapter: Top 1 2 3 4 A Bib Ind

generated by GAPDoc2HTML