This is documentation for Mathematica 8, which was
based on an earlier version of the Wolfram Language.
 BUILT-IN MATHEMATICA SYMBOL

# HermiteDecomposition

 HermiteDecomposition[m] gives the Hermite normal form decomposition of an integer matrix .
• The result is given in the form where is a unimodular matrix, is an upper-triangular matrix, and .
Decompose m into a unimodular matrix u and an upper-triangular matrix r:
The determinant of u is a unit:
Decompose m into a unimodular matrix u and an upper-triangular matrix r:
 Out[2]=
 Out[3]=
The determinant of u is a unit:
 Out[4]=
 Scope   (5)
A singular matrix m:
The number of nonzero rows in r is equal to the rank of m:
Rectangular matrices m:
A rational matrix m:
u is a unimodular integer matrix; r is an upper-triangular rational matrix:
A Gaussian integer matrix m:
u is a unimodular Gaussian integer matrix; r is an upper-triangular Gaussian integer matrix:
A Gaussian rational matrix m:
u is a unimodular Gaussian integer matrix; r is an upper-triangular Gaussian rational matrix:
 Applications   (1)
Solve a linear Diophantine equation :
Form a homogenized system:
Rows of r are integer combinations of rows of m:
The second row of r gives a solution of :
The last two rows of r give a basis of solutions to the homogeneous equation :
Reduce uses HermiteDecomposition to solve linear Diophantine equations:
HermiteDecomposition gives a unimodular matrix and an upper-triangular matrix:
The matrices satisfy the equation :
Det of a unimodular matrix is a unit:
Inverse of a unimodular integer matrix is an integer matrix:
Elements of r form an upper-triangular basis of the lattice generated by the rows of m:
The inverse of u provides an explicit representation of rows of m in terms of the basis:
LatticeReduce gives a basis consisting of shorter vectors:
New in 6