# Singular

#### D.15.10.1 grobj

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

Usage:
grobj(M, w[, d]), matrix/ideal/module M, intvec w, d

Return:
graded object with matrix presentation M, row weighting w [and total graded degrees d of columns]

Purpose:
create a valid graded object with a given matrix presentation, weighting [and total graded degrees (in case of zero columns)]

Example:
 ```LIB "gradedModules.lib"; ring r=32003,(x,y,z),dp; module A = grobj( module([x+y, x, 0, 0], [0, x+y, y, 0]), intvec(0,0,0,1) ); grview(A); ==> 1 2 ==> -------- ==> 0 : 1 . | 1 ==> 0 : 1 1 | 2 ==> 0 : . 1 | 3 ==> 1 : . . | 4 ==> ======== ==> 1 1 module F = grobj( module([x,y,0]), intvec(1,1,5) ); grview(F); ==> 1 ==> ---- ==> 1 : 1 | 1 ==> 1 : 1 | 2 ==> 5 : . | 3 ==> ==== ==> 2 int d = 666; // zero can have any degree... module Z = grobj( module([x,0], [0,0,0], [0, y]), intvec(1,2,3), intvec(2, d, 3) ); grview(Z); ==> 1 2 3 ==> --------------- ==> 1 : 1 . . | 1 ==> 2 : . . 1 | 2 ==> 3 : . . . | 3 ==> =============== ==> 2 666 3 print(Z); ==> x,0,0, ==> 0,0,y, ==> 0,0,0 attrib(Z); ==> attr:degHomog, type intvec ==> attr:isHomog, type intvec attrib(Z, "isHomog"); // module weights ==> 1,2,3 attrib(Z, "degHomog"); // total degrees ==> 2,666,3 ```