Home Online Manual
Top
Back: purityTriang
Forward: showgrades
FastBack:
FastForward:
Up: purityfiltration_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
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