Goto Chapter: Top 1 2 3 4 5 6 A B Bib Ind

A The Matrix Tool Operations

The functions listed below are components of the homalgTable object stored in the ring. They are only indirectly accessible through standard methods that invoke them.

A.1 The Tool Operations without a Fallback Method

There are matrix methods for which homalg needs a homalgTable entry for non-internal rings, as it cannot provide a suitable fallback. Below is the list of these homalgTable entries.

A.2 The Tool Operations with a Fallback Method

These are the methods for which it is recommended for performance reasons to have a homalgTable entry for non-internal rings. homalg only provides a generic fallback method.

A.2-1 MonomialMatrix
 ‣ MonomialMatrix( d, R ) ( operation )

Returns: a homalg matrix

The column matrix of d-th monomials of the homalg graded ring R.

gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "x,y,z";;
gap> S := GradedRing( R );;
gap> m := MonomialMatrix( 2, S );
<A ? x 1 matrix over a graded ring>
gap> NrRows( m );
6
gap> m;
<A 6 x 1 matrix over a graded ring>
gap> Display( m );
x^2,
x*y,
x*z,
y^2,
y*z,
z^2


 ‣ RandomMatrixBetweenGradedFreeLeftModules( degreesS, degreesT, R ) ( operation )

Returns: a homalg matrix

A random r × c-matrix between the graded free left modules R^(-degreesS) -> R^(-degreesT), where r =Length(degreesS) and c =Length(degreesT).

gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "a,b,c";;
gap> S := GradedRing( R );;
gap> rand := RandomMatrixBetweenGradedFreeLeftModules( [ 2, 3, 4 ], [ 1, 2 ], S );
<A 3 x 2 matrix over a graded ring>
gap> #Display( rand );
gap> #a-2*b+2*c,                                                2,
gap> #a^2-a*b+b^2-2*b*c+5*c^2,                                  3*c,
gap> #2*a^3-3*a^2*b+2*a*b^2+3*a^2*c+a*b*c-2*b^2*c-3*b*c^2-2*c^3,a^2-4*a*b-3*a*c-c^2


 ‣ RandomMatrixBetweenGradedFreeRightModules( degreesT, degreesS, R ) ( operation )

Returns: a homalg matrix

A random r × c-matrix between the graded free right modules R^(-degreesS) -> R^(-degreesT), where r =Length(degreesT) and c =Length(degreesS).

gap> R := HomalgFieldOfRationalsInDefaultCAS( ) * "a,b,c";;
gap> S := GradedRing( R );;
gap> rand := RandomMatrixBetweenGradedFreeRightModules( [ 1, 2 ], [ 2, 3, 4 ], S );
<A 2 x 3 matrix over a graded ring>
gap> #Display( rand );
gap> #a-2*b-c,a*b+b^2-b*c,2*a^3-a*b^2-4*b^3+4*a^2*c-3*a*b*c-b^2*c+a*c^2+5*b*c^2-2*c^3,
gap> #-5,     -2*a+c,     -2*a^2-a*b-2*b^2-3*a*c


A.2-4 Diff
 ‣ Diff( D, N ) ( operation )

Returns: a homalg matrix

If D is a f × p-matrix and N is a g × q-matrix then H=Diff(D,N) is an fg × pq-matrix whose entry H[g*(i-1)+j,q*(k-1)+l] is the result of differentiating N[j,l] by the differential operator corresponding to D[i,k]. (Here we follow the Macaulay2 convention.)

gap> S := HomalgFieldOfRationalsInDefaultCAS( ) * "a,b,c" * "x,y,z";;
gap> D := HomalgMatrix( "[ \
> x,2*y,   \
> y,a-b^2, \
> z,y-b    \
> ]", 3, 2, S );
<A 3 x 2 matrix over an external ring>
gap> N := HomalgMatrix( "[ \
> x^2-a*y^3,x^3-z^2*y,x*y-b,x*z-c, \
> x,        x*y,      a-b,  x*a*b  \
> ]", 2, 4, S );
<A 2 x 4 matrix over an external ring>
gap> H := Diff( D, N );
<A 6 x 8 matrix over an external ring>
gap> Display( H );
2*x,     3*x^2, y,z,  -6*a*y^2,-2*z^2,2*x,0,
1,       y,     0,a*b,0,       2*x,   0,  0,
-3*a*y^2,-z^2,  x,0,  -y^3,    0,     0,  0,
0,       x,     0,0,  0,       0,     1,  b*x,
0,       -2*y*z,0,x,  -3*a*y^2,-z^2,  x+1,0,
0,       0,     0,0,  0,       x,     1,  -a*x

Goto Chapter: Top 1 2 3 4 5 6 A B Bib Ind

generated by GAPDoc2HTML