 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 nonpure modules:
matrix R2[6][4]=
0,2*x,z2*yx,1,
0,z2*x,2*y3*x,1,
z,6*x,2*y5*x,1,
0,yx,yx,0,
y,x,yx,0,
x,x,2*x,0;
is_pure(transpose(R2));
==> 0
