##### 7.5.23.0. gradeNumber

Procedure from library `purityfiltration.lib` (see purityfiltration_lib).

Usage:
  gradeNumber(R), R matrix, representing M=D^p/D^q(R^t) over a ring D

Return:
  int, grade number of M

Purpose:
  computes the grade number of M, i.e. the first i, with ext^i(M,D) !=0
  returns -1 if M=0

Example:

    LIB "purityfiltration.lib";
    // trivial example
    ring D=0,(x,y,z),dp;
    matrix R[2][1]=1,x;
    gradeNumber(R);
    ==> 0
    // R has left inverse, so M=D/D^2R=0
    gradeNumber(transpose(R));
    ==> -1
    print(ncExt_R(0,R));
    ==> 0
    // so, ext^0(coker(R),D) =! 0)
    //
    // a little bit more complex
    matrix R1[3][1]=x,-y,z;
    gradeNumber(transpose(R1));
    ==> 3
    print(ncExt_R(0,transpose(R1)));
    ==> 1
    print(ncExt_R(1,transpose(R1)));
    ==> 1
    print(ncExt_R(2,transpose(R1)));
    ==> 1,0,0,
    ==> 0,1,0,
    ==> 0,0,1
    // ext^i are zero for i=0,1,2
    matrix ext3=ncExt_R(3,transpose(R1));
    print(ext3);
    ==> z,y,x
    // not zero
    is_zero(ext3);
    ==> 0

User manual for Singular version 4.4.1, 2025, generated by texi2html.