charpoly([x,x+1;1,2],y,0)
charpoly([x,x+1;1,2],y,1)
charpoly([x,x+1;1,2],y,2)
charpoly([x,x+1;1,2],y,3)
charpoly([0,0,2,2;0,0,2,2;2,2,0,0;2,2,0,0])
charpoly([0,0,2,2;0,0,2,2;2,2,0,0;2,2,0,0],,4)
minpoly(matrix(4,4,i,j,i/j))

default(realprecision,38);
A=[5/3,7/45;0,21/10];
mateigen(A)
mateigen(A*1.)
mateigen(A,1)
M=[x,x+y;x+1,1];charpoly(M,w)
v=[1,1.,Mod(1,3),1/2,1+O(3),I,quadgen(5),matid(2)*Mod(1,3),matid(2)*Mod(1,2^64+13)];
for(i=1,#v,print(charpoly(v[i])))

{ \\ #2010
g(s2,s3)=s6=s2*s3;[2,0,0,-s6+3,2*s3-3*s2,3*s3-3*s2;
   0,-2,0,s3-s2,-s6+2,-s6+3;
   0,0,-1,s3-2*s2,-s6+1,-s6+3;
   0,0,s3,2*s6-6,-5*s3+6*s2,-6*s3+7*s2;
   -2*s3,2,-s6+5,-7*s3+10*s2,8*s6-21,9*s6-27;
   2*s3,-2,s6-5,8*s3-11*s2,-9*s6+23,-10*s6+30]/2;
}
exponent(charpoly(g(sqrt(2),sqrt(3))) - (x^6-x^5-3*x^4-3*x^3-3*x^2-x+1)) < -120
centerlift(charpoly(g(sqrt(2+O(23^10)), sqrt(3+O(23^10)))))

charpoly(matid(4),,0)
charpoly(matid(4),,3)
charpoly(matid(4)*(2^64+13))
m=[1,2,3,4;5,6,7,8;9,10,11,12;1,5,7,11];
charpoly(m*Mod(1,3))
charpoly(m*Mod(1,2^64+13))
matadjoint(matid(2),1)
matadjoint([;])
matadjoint(Mat(1))
matadjoint([x,0,0;0,0,0;0,0,0])
matadjoint([Mod(1,2)*x,0,0;0,0,0;0,0,0])
charpoly(x*matid(3))
minpoly(Mod(x+1,x^4+1))
minpoly(Mod(x,x^2))
minpoly(Mod(1,x^2+x+1))
minpoly(Mod(1,x^24+1))

a=[1,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0;0,1,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,1,-1,0,0,0,0,0,0,0,0,0,0,0,0,0;-1,-1,-1,4,0,0,0,0,-1,0,0,0,0,0,0,0,0;0,0,0,0,1,0,0,-1,0,0,0,0,0,0,0,0,0;0,0,0,0,0,1,0,-1,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,1,-1,0,0,0,0,0,0,0,0,0;0,0,0,0,-1,-1,-1,4,-1,0,0,0,0,0,0,0,0;0,0,0,-1,0,0,0,-1,4,-1,-1,0,0,0,0,0,0;0,0,0,0,0,0,0,0,-1,1,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,-1,0,4,-1,-1,-1,0,0,0;0,0,0,0,0,0,0,0,0,0,-1,1,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,-1,0,1,0,0,0,0;0,0,0,0,0,0,0,0,0,0,-1,0,0,3,-1,0,-1;0,0,0,0,0,0,0,0,0,0,0,0,0,-1,3,-2,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,-2,2,0;0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,0,1];
mateigen(a);
mateigen([;])
mateigen([;],1)
mateigen(Mat(1))
mateigen(Mat(1),1)

t=sqrt(5);
M=[1,-1,0,0,0,0,0;-1,1,0,0,0,0,0;0,0,1,(t-1)/4,(-t-1)/4,(-t-1)/4,(t-1)/4;0,0,(t-1)/4,1,(t-1)/4,(-t-1)/4,(-t-1)/4;0,0,(-t-1)/4,(t-1)/4,1,(t-1)/4,(-t-1)/4;0,0,(-t-1)/4,(-t-1)/4,(t-1)/4,1,(t-1)/4;0,0,(t-1)/4,(-t-1)/4,(-t-1)/4,(t-1)/4,1];
mateigen(M)
mateigen(M,1)

\\ Errors, keep at end of file
charpoly(Mod('b, 'b^2 + Mod('a,'a^2+1)), 'newvar)
