[back] [prev] [next] [index] [root]

 


MatHermiteColModUpper

Computes the modular upper column Hermite normal form of an integer matrix.

Syntax:

H := MatHermiteColModUpper(k, M);

matrix
  H  
integer
  k  
matrix
  M  

Description:

Let M \in {\Bbb Z}^{m \times n}. The MatHermiteColModUpper routine computes the upper column Hermite normal form of the matrix ( M | k cdot I|m) \in {\Bbb Z}^{m\times(n+m)} and returns the rightmost n columns of the Hermite normal form.


Example:

Compute the upper modular column Hermite normal form of \left(\begin{array}{ccc}3 & 7 & 10 20 & 25 & 40 47 & 61 & 90 \end{array}right) with respect to the modulus 5.

kash> M := Mat(Z,[[3,7,10],[20,25,40],[47,61,90]]);
[ 3  7 10]
[20 25 40]
[47 61 90]
kash> MatHermiteColModUpper(5,M);
> [1 0 0]
[0 5 0]
[0 0 1]


<- back[back] [prev] [next] [index] [root]