|  |  D.15.25.48 hermiteNormalForm Procedure from librarymultigrading.lib(see  multigrading_lib).
 
Example:Usage:
hermiteNormalForm( A );
Purpose:
Computes the (lower triangular) Hermite Normal Form
of the matrix A by column operations.
 
Return:
intmat, the Hermite Normal Form of A
 |  | LIB "multigrading.lib";
intmat M[2][5] =
1, 2, 3, 4, 0,
0,10,20,30, 1;
// Hermite Normal Form of M:
print(hermiteNormalForm(M));
==>      1     0     0     0     0
==>      0     1     0     0     0
intmat T[3][4] =
3,3,3,3,
2,1,3,0,
1,2,0,3;
// Hermite Normal Form of T:
print(hermiteNormalForm(T));
==>      3     0     0     0
==>      0     1     0     0
==>      3    -1     0     0
intmat A[4][5] =
1,2,3,2,2,
1,2,3,4,0,
0,5,4,2,1,
3,2,4,0,2;
// Hermite Normal Form of A:
print(hermiteNormalForm(A));
==>      1     0     0     0     0
==>      1     2     0     0     0
==>      0     0     1     0     0
==>      0     1     0     1     0
 | 
 
 |