hermiteForm
Hermite normal form of an integer matrix.
Category: Mathematics > Linear Algebra
Syntax
H = hermiteForm(A)
Returns the upper triangular Hermite form of A.
[U, H] = hermiteForm(A)
Also returns the unimodular matrix U with U*A == H.
Description
The Hermite form plays the role of the row echelon form over the integers: only integer row operations are allowed, so no division occurs. It is used to solve linear Diophantine systems and to find bases of integer lattices.
Input arguments
A- Matrix of integers (symbolic).
Output arguments
H- Upper triangular matrix with non-negative pivots; entries above a pivot are reduced modulo that pivot.
U- Integer matrix with determinant 1 or -1.
Example
Hermite form with its transform
A = sym([2 3; 4 5]);
[U, H] = hermiteForm(A)
U*A
Output
U =
[-5, 3]
[ 2, -1]
H =
[2, 0]
[0, 1]
ans =
[2, 0]
[0, 1]
Notes
MatLivre handles integer matrices only.