| LIB "linalg.lib";
ring R=0,x,dp;
matrix M[3][3]=3,2,1,0,2,1,0,0,3;
print(M);
==> 3,2,1,
==> 0,2,1,
==> 0,0,3
list l=jordanbasis(M);
print(l[1]);
==> -2,0,3,
==> 1, 1,0,
==> 0, 1,0
print(l[2]);
==> 0,
==> 1,
==> -1
print(inverse(l[1])*M*l[1]);
==> 2,0,0,
==> 0,3,0,
==> 0,1,3
|