Matrix operations

Matrix operations in Polylib can be found in three source files:

`matrix.c``Matop.c``NormalForms.c`

Polylib provides function to:

- allocate, deallocate, and print matrices,
- verify if a matrix is in a specific form like the identity matrix, Hermite Normal form, or has integral components,
- add, remove columns and rows in order to perform basic modifications of matrices,
- transpose and invert matrices.

One of the most important matrix forms which is used extensively in Polylib is Hermite Normal Form (HNF).

The theoretical definition of HNF is as follows.
A matrix of full row rank is said to be in
*Hermite normal form* if it has the form:

where is a nonsingular, lower triangular, nonnegative matrix, in which each row has a unique maximum entry, which is located on the main diagonal of .

Sorin Olaru 2002-04-24