\e
mathnf([0,2])
mathnf([0,2], 1)
mathnf([0,x])
mathnf([0,x], 1)
mathnf([x;1])
mathnf([x;1], 1)
mathnf([x,x^2+1; x^3+x+1, x+2]*Mod(1,5))
v=[116085838, 181081878, 314252913,10346840];
[H,U]=mathnf(v, 1); [v*U, norml2(U)]
[H,U]=mathnf(v, 5); [v*U, norml2(U)]
M=[0,0,0,0,0,0,0,0,0,13;0,0,0,0,0,0,0,0,23,6;0,0,0,0,0,0,0,23,-4,-7;0,0,0,0,0,0,17,-3,5,-5;0,0,0,0,0,56,16,-16,-15,-17;0,0,0,0,57,24,-16,-25,2,-21;0,0,0,114,9,56,51,-52,25,-55;0,0,113,-31,-11,24,0,28,34,-16;0,50,3,2,16,-6,-2,7,-19,-21;118,43,51,23,37,-52,18,38,51,28]; mathnf(M)

mathnf([])
mathnf([],1)
mathnf([;])
mathnf([;],1)
mathnfmodid(matrix(0,2), [])
mathnfmodid([0,7;-1,0;-1,-1], [6,2,2])
mathnfmodid([;],[2])

matsolvemod([;],[]~,[]~,1)
matsolvemod([;],[],[]~,1)
matsolvemod([;],[]~,[],1)
matsolvemod([;],2,[1]~,1)
matsolvemod([;],[2]~,[1]~,1)
matsolvemod([;],[2]~,1,1)
matsolvemod([;],1,1,1)
matsolvemod([1,2;3,4],1,2,1)

\\ Errors, keep at end of file
matsolvemod([;],[2]~,[2,3]~,1)
