# Singular

#### D.15.14.13 grpres

Procedure from library `gradedModules.lib` (see gradedModules_lib).

Usage:
grpres(M), graded object M (submodule gens)

Return:

Purpose:
compute graded presentation matrix of submodule generated by columns of M

Example:
 ```LIB "gradedModules.lib"; ring r=32003,(x,y,z),dp; def A = grgroebner( grobj( module([x+y, x, 0, 3], [0, x+y, y, 2], [y, y, z, 1]), intvec(0,0,0,1) ) ); 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 "graded transpose: "; def B = grtranspose(A); grview( B ); print(B); ==> graded transpose: ==> Graded homomorphism: r(1)^3 + r(2) + r(3) <- r^3 + r(1), given by a matri\ x, with degrees: ==> ..1 ..2 ..3 ..4 .... ==> --- --- --- --- +... ==> -1 : 1 1 1 0 |..1 ==> -1 : 1 - 1 0 |..2 ==> -1 : 1 1 1 0 |..3 ==> -2 : 2 - 2 1 |..4 ==> -3 : - - 3 2 |..5 ==> === === === === ==> 0 0 0 -1 ==> y, y,z, 1, ==> x+2y,0,-y+z, 2, ==> -y, x,y-z, 1, ==> y2, 0,-xz, -x+3y, ==> 0, 0,y3-x2z-2xyz-y2z,-x2+xy+4y2 "... syzygy: "; def C = grsyz(B); grview(C); ==> ... syzygy: ==> Graded homomorphism: r^3 + r(1) <- r(-2), given by a matrix, with degrees\ : ==> ..1 .... ==> --- +... ==> 0 : 2 |..1 ==> 0 : 2 |..2 ==> 0 : 2 |..3 ==> -1 : 3 |..4 ==> === ==> 2 "... transposed: "; def D = grtranspose(C); grview( D ); print (D); ==> ... transposed: ==> 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 "... and back to presentation: "; def E = grsyz( D ); grview(E); print(E); ==> ... and back to presentation: ==> Graded homomorphism: r^3 + r(-1) <- r(-1)^3, given by a matrix, with degr\ ees: ==> ..1 ..2 ..3 .... ==> --- --- --- +... ==> 0 : 1 1 1 |..1 ==> 0 : 1 1 1 |..2 ==> 0 : 1 1 1 |..3 ==> 1 : 0 - - |..4 ==> === === === ==> 1 1 1 ==> y,x, x-2y, ==> y,-2y, x-3y, ==> z,-y-z,-3z, ==> 1,0, 0 def F = grgens( E ); grview(F); print(F); ==> 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 def G = grpres( F ); grview(G); print(G); ==> Graded homomorphism: r^3 + r(-1) <- r(-1)^3, given by a matrix, with degr\ ees: ==> ..1 ..2 ..3 .... ==> --- --- --- +... ==> 0 : 1 1 1 |..1 ==> 0 : 1 1 1 |..2 ==> 0 : 1 1 1 |..3 ==> 1 : 0 - - |..4 ==> === === === ==> 1 1 1 ==> y,x, x-2y, ==> y,-2y, x-3y, ==> z,-y-z,-3z, ==> 1,0, 0 def 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. def N = grgens(M); grview( N ); print(N); ==> 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 def L = grpres( N ); grview( L ); print(L); ==> Graded homomorphism: r(-2) + r + r(4)^2 <- 0, given by zero (4 x 0) matri\ x. ==> 4 x 0 zero matrix ```