Previous Page Next Page Contents

linalg::hermiteForm -- Hermite normal form of a matrix

Introduction

linalg::hermiteForm(A) computes the Hermite normal form of an integer matrix A. This is an upper-triangular matrix H such that H[j,j] >= 0 and -1/2*H[j,j] <= H[i,j] < 1/2*H[j,j] for j > i.

Call(s)

linalg::hermiteForm(A)

Parameters

A - an integer matrix of category Cat::Matrix

Returns

a matrix of the same domain type as A.

Related Functions

linalg::frobeniusForm, linalg::jordanForm, linalg::smithForm, lllint

Details

Example 1

We compute the Hermite normal form of the matrix:

>> A := Dom::Matrix(Dom::Rational)(
      [[9, -36, 30], [-36, 192, -180], [30, -180, 180]]
   )
                           +-                 -+
                           |   9,   -36,  30   |
                           |                   |
                           |  -36,  192, -180  |
                           |                   |
                           |   30, -180,  180  |
                           +-                 -+
>> linalg::hermiteForm(A)
                              +-           -+
                              |  3,  0, 30  |
                              |             |
                              |  0, 12,  0  |
                              |             |
                              |  0,  0, 60  |
                              +-           -+

Background

Changes




Do you have questions or comments?


Copyright © SciFace Software GmbH & Co. KG 2000