Home Online Manual
Top
Back: gradiator
Forward: smithNormalForm
FastBack:
FastForward:
Up: multigrading_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.15.25.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