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 ]