Hermite form
[Ar,U]=hermit(A)
:A polynomial matrix : :Ar triangular polynomial matrix : :U unimodolar polynomial matrix :
Hermite form: U is an unimodular matrix such that A*U is in Hermite triangular form:
The output variable is Ar=A*U.
Warning: Experimental version
s=`poly`_(0,'s');
p=[s, s*(s+1)^2, 2*s^2+s^3];
[Ar,U]=hermit(p'*p);
`clean`_(p'*p*U), `det`_(U)