SMITHEX _ _ _ _ _ _ _ _ _ _ _ _ operator
The operator smithex computes the Smith normal form S of a matrix A (say). It returns {S,P,P^-1} where P*S*P^-1 = A.
<matrix> :- a rectangular matrix of univariate polynomials in <variable>. <variable> :- the variable.
a := mat((x,x+1),(0,3*x^2));
[x x + 1]
[ ]
a := [ 2 ]
[0 3*x ]
smithex(a,x);
[1 0 ] [1 0] [x x + 1]
{ [ ], [ ], [ ] }
[ 3] [ 2 ] [ ]
[0 x ] [3*x 1] [-3 -3 ]