 Hermite - Maple Help

Hermite

compute the Hermite Normal Form of a matrix mod p

Smith

compute the Smith Normal Form of a matrix mod p Calling Sequence Hermite(A, x) Hermite(A, x, U) Smith(A, x, U, V) Parameters

 A - rectangular matrix of univariate polynomials in x x - name U - name V - name Description

 • Hermite and Smith are placeholders for representing the Hermite and Smith Normal Forms respectively. They are used in conjunction with mod as is described below.
 • Hermite(A, x) mod p computes the Hermite Normal Form (reduced row echelon form) of an m by n rectangular matrix of univariate polynomials in x over the integers modulo p. The polynomial coefficients must be rational or elements of a finite extension field specified by RootOfs. In the case of three arguments, the third argument, U, will be assigned the transformation matrix upon completion, such that Hermite(A) = U &* A.
 • Smith(A, x) mod p computes the Smith Normal Form of a matrix with univariate polynomial entries in x over the integers modulo p. The coefficients of the polynomial must be either rational or elements of a finite extension field specified by RootOfs. In the case of four arguments, the third argument U and the fourth argument V will be assigned the transformation matrices on output, such that Smith(A) = U &* A &* V. Examples

 > $A≔\mathrm{Matrix}\left(\left[\left[1+x,1+{x}^{2}\right],\left[1+{x}^{2},1+{x}^{4}\right]\right]\right)$
 ${A}{≔}\left[\begin{array}{cc}{1}{+}{x}& {{x}}^{{2}}{+}{1}\\ {{x}}^{{2}}{+}{1}& {{x}}^{{4}}{+}{1}\end{array}\right]$ (1)
 > $\mathrm{Smith}\left(A,x,U,V\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathbf{mod}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}2$
 $\left[\begin{array}{cc}{1}{+}{x}& {0}\\ {0}& {{x}}^{{4}}{+}{{x}}^{{3}}{+}{{x}}^{{2}}{+}{x}\end{array}\right]$ (2)
 > $\mathrm{eval}\left(U\right)$
 $\left[\begin{array}{cc}{1}& {0}\\ {{x}}^{{3}}{+}{1}& {1}\end{array}\right]$ (3)
 > $\mathrm{eval}\left(V\right)$
 $\left[\begin{array}{cc}{x}& {1}{+}{x}\\ {1}& {1}\end{array}\right]$ (4)
 > $\mathrm{restart}$
 > $A≔\mathrm{Matrix}\left(\left[\left[1+x,1+{x}^{2}\right],\left[1+{x}^{2},1+{x}^{4}\right]\right]\right):$$\mathrm{Hermite}\left(A,x,U\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathbf{mod}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}2$
 $\left[\begin{array}{cc}{1}{+}{x}& {{x}}^{{2}}{+}{1}\\ {0}& {{x}}^{{4}}{+}{{x}}^{{3}}{+}{{x}}^{{2}}{+}{x}\end{array}\right]$ (5)
 > $\mathrm{eval}\left(U\right)$
 $\left[\begin{array}{cc}{1}& {0}\\ {1}{+}{x}& {1}\end{array}\right]$ (6)

To obtain the column form for the HNF of A do

 > $\mathrm{LinearAlgebra}\left[\mathrm{Transpose}\right]\left(\mathrm{Hermite}\left(\mathrm{LinearAlgebra}\left[\mathrm{Transpose}\right]\left(A\right),x\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathbf{mod}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}2\right)$
 $\left[\begin{array}{cc}{1}{+}{x}& {0}\\ {{x}}^{{2}}{+}{1}& {{x}}^{{4}}{+}{{x}}^{{3}}{+}{{x}}^{{2}}{+}{x}\end{array}\right]$ (7)