Hermite normal form
In linear algebra, the Hermite normal form is an analogue of reduced echelon form for matrices over the integers. Just as reduced echelon form can be used to solve problems about the solution to the linear system where, the Hermite normal form can solve problems about the solution to the linear system where this time is restricted to have integer coordinates only. Other applications of the Hermite normal form include integer programming, cryptography, and abstract algebra.
Definition
Various authors may prefer to talk about Hermite normal form in either row-style or column-style. They are essentially the same up to transposition.Row-style Hermite normal form
A matrix has a Hermite normal form if there is a square unimodular matrix such that and:- is upper triangular, and any rows of zeros are located below any other row.
- The leading coefficient of a nonzero row is always strictly to the right of the leading coefficient of the row above it; moreover, it is positive.
- The elements below pivots are zero and elements above pivots are nonnegative and strictly smaller than the pivot.
Column-style Hermite normal form
A matrix has a Hermite normal form if there is a square unimodular matrix where and has the following restrictions:- is lower triangular and any columns of zeros are located on the right.
- The leading coefficient of a nonzero column is always strictly below of the leading coefficient of the column before it; moreover, it is positive.
- The elements to the right of pivots are zero and elements to the left of pivots are nonnegative and strictly smaller than the pivot.
Existence and uniqueness of the Hermite normal form
Every full row rank m-by-n matrix A with integer entries has a unique m-by-n matrix H in Hermite normal form, such that H='UA for some square unimodular matrix U'.Examples
In the examples below, is the Hermite normal form of the matrix, and is a unimodular matrix such that.If has only one row then either or, depending on whether the single row of has a positive or negative leading coefficient.
Algorithms
There are many algorithms for computing the Hermite normal form, dating back to 1851. One such algorithm is described in. But only in 1979 an algorithm for computing the Hermite normal form that ran in strongly polynomial time was first developed; that is, the number of steps to compute the Hermite normal form is bounded above by a polynomial in the dimensions of the input matrix, and the space used by the algorithm is bounded by a polynomial in the binary encoding size of the numbers in the input matrix.One class of algorithms is based on Gaussian elimination in that special elementary matrices are repeatedly used. The lattice basis reduction algorithm|LLL] algorithm can also be used to efficiently compute the Hermite normal form.
Applications
Lattice calculations
A typical lattice in Rn has the form where the ai are in Rn. If the columns of a matrix A are the ai, the lattice can be associated with the columns of a matrix, and A is said to be a basis of L. Because the Hermite normal form is unique, it can be used to answer many questions about two lattice descriptions. For what follows, denotes the lattice generated by the columns of A. Because the basis is in the columns of the matrix A, the column-style Hermite normal form must be used. Given two bases for a lattice, A and A'Integer solutions to linear systems
The linear system has an integer solution if and only if the system has an integer solution where and is the column-style Hermite normal form of. Checking that has an integer solution is easier than because the matrix is triangular.Implementations
Many mathematical software packages can compute the Hermite normal form:*