Singular

D.15.14.12 grgens

Usage:

Return:

Purpose:
try compute graded generators of coker(M) and return them as columns of a graded map.

Note:
presentation of resulting generated submodule may be different to M!

Example:
 LIB "gradedModules.lib"; ring r=32003,(x,y,z),dp; module M = grtwists( intvec(-2, 0, 4, 4) ); grview(M); ==> Graded homomorphism: r(-2) + r + r(4)^2 <- 0, given by zero (4 x 0) matri\ x. module N = grgens(M); grview( N ); print(N); // fine == M ==> Graded homomorphism: r(-2) + r + r(4)^2 <- r(-2) + r + r(4)^2, given by a\ diagonal matrix, with degrees: ==> ..1 ..2 ..3 ..4 .... ==> --- --- --- --- +... ==> 2 : 0 - - - |..1 ==> 0 : - 0 - - |..2 ==> -4 : - - 0 - |..3 ==> -4 : - - - 0 |..4 ==> === === === === ==> 2 0 -4 -4 ==> 1,0,0,0, ==> 0,1,0,0, ==> 0,0,1,0, ==> 0,0,0,1 module A = grobj( module([x+y, x, 0, 3], [0, x+y, y, 2], [y, y, z, 1]), intvec(0,0,0,1) ); A = grgroebner(A); grview(A); ==> Graded homomorphism: r^3 + r(-1) <- r(-1)^3 + r(-2) + r(-3), given by a m\ atrix, with degrees: ==> ..1 ..2 ..3 ..4 ..5 .... ==> --- --- --- --- --- +... ==> 0 : 1 1 1 2 - |..1 ==> 0 : 1 - 1 - - |..2 ==> 0 : 1 1 1 2 3 |..3 ==> 1 : 0 0 0 1 2 |..4 ==> === === === === === ==> 1 1 1 2 3 module B = grgens(A); grview( B ); print(B); // Ups :( != A ==> Graded homomorphism: r(2) <- r^3 + r(-1), given by a matrix, with degrees\ : ==> ..1 ..2 ..3 ..4 .... ==> --- --- --- --- +... ==> -2 : 2 2 2 3 |..1 ==> === === === === ==> 0 0 0 1 ==> xy-3y2+xz+3yz,-xy+2y2+2xz+2yz,x2-xy-4y2,y3-x2z-2xyz-y2z grview( grgens( grzero() ) ); ==> Graded homomorphism: 0 <- 0, given by zero (0^2) matrix.