MatrixPolynomialAlgebra
HermiteForm
compute the Hermite normal form of a Matrix (in row or column form)
Calling Sequence
Parameters
Description
Option
Examples
HermiteForm(A, x, out)
HermiteForm[row](A, x, out)
HermiteForm[column](A, x, out)
A
-
Matrix
x
name; variable name of the polynomial domain
out
(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.
with⁡MatrixPolynomialAlgebra:
A≔3+x,4,x2−1|1,x,4|−4,2,−1
A≔3+x1−44x2x2−14−1
H≔HermiteForm⁡A,x
H≔10−776⁢x2+29304⁢x−5315201319⁢x2+3176⁢x−373800x3+14⁢x2−154⁢x−432
H,U≔HermiteFormrow⁡A,x,output=H,U
H,U≔10−776⁢x2+29304⁢x−5315201319⁢x2+3176⁢x−373800x3+14⁢x2−154⁢x−432,7304⁢x2−9304⁢x+319−7⁢x304+37304−7⁢x304−376−376⁢x2−776⁢x+3193⁢x76−5763⁢x76+419−14⁢x3+14⁢x+414⁢x2−x−13414⁢x2+34⁢x−1
map⁡expand,H−U·A
000000000
mul⁡Hi,i,i=1..3
x3+14⁢x2−154⁢x−432
LinearAlgebraDeterminant⁡A
4⁢x3+x2−15⁢x−86
lcoeff⁡
HermiteFormrow⁡0,2,x|0,2⁢y,x⁢y,x
1y0000
H,U≔HermiteFormcolumn⁡A,x,output=H,U
H,U≔100010221⁢x2−142⁢x−221421⁢x2−121⁢x−2942x3+14⁢x2−154⁢x−432,221421x+12−121−221−x2−112x42−421x21+54214⁢x2+34⁢x−1
map⁡expand,H−A·U
HermiteFormcolumn⁡0,2,x|0,2⁢y,x⁢y,x
0010x20
See Also
expand
indets
LinearAlgebra[Determinant]
LinearAlgebra[RowOperation]
map
mul
Download Help Document