|
D.15.17.48 hermiteNormalForm
Procedure from library multigrading.lib (see multigrading_lib).
- 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
Example:
| 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
|
|