| LIB "purityfiltration.lib";
ring D = 0,(x,y,z),dp;
matrix R[3][2]=y,-z,x,0,0,x;
list T=purityFiltration(transpose(R));
print(transpose(std(transpose(T[2][2]))));
==> y,-z,
==> x,0,
==> 0,x
// so the purity filtration of coker(R) is trivial,
// i.e. coker(R) is already pure
is_pure(transpose(R));
==> 1
// we can also have non-pure modules:
matrix R2[6][4]=
0,-2*x,z-2*y-x,-1,
0,z-2*x,2*y-3*x,1,
z,-6*x,-2*y-5*x,-1,
0,y-x,y-x,0,
y,-x,-y-x,0,
x,-x,-2*x,0;
is_pure(transpose(R2));
==> 0
|