compute the Hermite normal form of a Matrix (in row or column form)
HermiteForm(A, x, out)
HermiteForm[row](A, x, out)
HermiteForm[column](A, x, out)
name; variable name of the polynomial domain
(optional) equation of the form output = obj where obj is one of 'H' or 'U', or a list containing one or more of these names; select result objects to compute
The HermiteForm(A, x) and HermiteForm[row](A, x) commands compute the Hermite normal form (row-reduced echelon form) of an m x n rectangular Matrix of univariate polynomials in x over the field of rational numbers Q, or rational expressions over Q, that is, univariate polynomials in x with coefficients in Q(a1,...,an).
The HermiteForm[column](A, x) command computes the Hermite normal form (column-reduced echelon form) of A.
The row (column) Hermite normal form is obtained by performing elementary row (column) operations on A. This includes interchanging rows (columns), multiplying a row (column) by a unit, and subtracting a polynomial multiple of one row (column) from another.
The number of nonzero rows (columns) of the Hermite Form, H, is the rank of A. If n = m, then ∏i=1n⁡Hi,i=normal⁡Determinant⁡A where normal means unit normal, that is, monic.
The output option (out) determines the content of the returned expression sequence.
As determined by the out option, an expression sequence containing one or more of the factors H (the Hermite normal form) or U (the transformation Matrix) is returned. If obj is a list, the objects are returned in the order specified in the list.
The returned Matrix objects have the property that H=U·A for row Hermite normal form, and H=A·U for column Hermite normal form.
Download Help Document
What kind of issue would you like to report? (Optional)