Hermite normal form
In
. Just asDefinition
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 (row) Hermite normal form if there is a square unimodular matrix where .
has the following restrictions:[4][5][6]
- is upper triangular (that is, for ), and any rows of zeros are located below any other row.
- The leading coefficient (the first nonzero entry from the left, also called the pivot) 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.
The third condition is not standard among authors, for example some sources force non-pivots to be nonpositive[7][8] or place no sign restriction on them.[9] However, these definitions are equivalent by using a different unimodular matrix . A unimodular matrix is a square integer matrix whose
Column-style Hermite normal form
A matrix has a (column) Hermite normal form if there is a square unimodular matrix where and has the following restrictions:[8][10]
- is lower triangular ( for ) and any columns of zeros are located on the right.
- The leading coefficient (the first nonzero entry from the top, also called the pivot) of a nonzero column is always strictly below of the leading coefficient of the column before it; moreover, it is positive.d
- The elements to the right of pivots are zero and elements to the left of pivots are nonnegative and strictly smaller than the pivot.
Note that the row-style definition has a unimodular matrix multiplying on the left (meaning is acting on the rows of ), while the column-style definition has the unimodular matrix action on the columns of . The two definitions of Hermite normal forms are simply transposes of each other.
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.[5][11][12]
Examples
In the examples below, H is the Hermite normal form of the matrix A, and U is a unimodular matrix such that UA = H.
If A has only one row then either H = A or H = −A, depending on whether the single row of A 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.
One class of algorithms is based on Gaussian elimination in that special elementary matrices are repeatedly used.[11][15][16] The LLL algorithm can also be used to efficiently compute the Hermite normal form.[17][18]
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', the equivalence problem is to decide if This can be done by checking if the column-style Hermite normal form of A and A' are the same up to the addition of zero columns. This strategy is also useful for deciding if a lattice is a subset ( if and only if ), deciding if a vector v is in a lattice ( if and only if ), and for other calculations.[19]
Integer solutions to linear systems
The linear system Ax = b has an integer solution x if and only if the system Hy = b has an integer solution y where y = U−1x and H is the column-style Hermite normal form of A. Checking that Hy = b has an integer solution is easier than Ax = b because the matrix H is triangular.[11]: 55
Implementations
Many mathematical software packages can compute the Hermite normal form:
- Maple with HermiteForm
- MATLAB with hermiteForm
- NTL with HNF
- PARI/GP with mathnf
- SageMath with hermite_form
- "HermiteDecomposition". Wolfram Alpha Site.[20]
Over an arbitrary Dedekind domain
Hermite normal form can be defined when we replace Z by an arbitrary Dedekind domain.[21] (for instance, any principal-ideal domain). For instance, in control theory it can be useful to consider Hermite normal form for the polynomials F[x] over a given field F.
See also
References
- .
- ^ Evangelos, Tourloupis, Vasilios (2013-01-01). Hermite normal forms and its cryptographic applications. University of Wollongong Thesis Collection 1954-2016 (Thesis). University of Wollongong.
{{cite thesis}}
: CS1 maint: multiple names: authors list (link) - ISBN 9781461209232.
- ^ "Dense matrices over the integer ring — Sage Reference Manual v7.2: Matrices and Spaces of Matrices". doc.sagemath.org. Retrieved 2016-06-22.
- ^ ISBN 9789056992255.
- ISBN 9781461508977.
- ^ Weisstein, Eric W. "Hermite Normal Form". mathworld.wolfram.com. Retrieved 2016-06-22.
- ^ ISBN 9783642026577.
- ^ "Hermite normal form of a matrix - MuPAD". www.mathworks.com. Archived from the original on 2019-02-17. Retrieved 2016-06-22.
- ISBN 9781461549758.
- ^ ISBN 9780471982326.
- ISBN 9783662029459.
- MR 1261419
- ISSN 0097-5397.
- ^ "Euclidean Algorithm and Hermite Normal Form". 2 March 2010. Archived from the original on 7 August 2016. Retrieved 25 June 2015.
- ISBN 9781461549758.
- ISBN 9781439807040.
- S2CID 263873475.
- ^ Micciancio, Daniele. "Basic Algorithms" (PDF). Retrieved 25 June 2016.
- ^ Wolfram Research (2007). "HermiteDecomposition". Retrieved 6 March 2025.
HermiteDecomposition[m]
gives the Hermite normal form decomposition of an integer matrix m. - ISBN 0-387-98727-4.