#### D.15.13.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

User manual for Singular version 4-0-3, 2016, generated by texi2html.