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

 


MatHermiteColLowerTrans

Computes the lower column Hermite normal form together with a transformation matrix.

Syntax:

L := MatHermiteColLowerTrans(M);

list
  L  
matrix
  M  

Description:

The MatHermiteColLowerTrans routine computes the lower column Hermite normal form H of the integer matrix M. Additionally it computes the rank of M and a transformation matrix T such that H = {\tt M}* T. The result is a list L which contains the rank, the Hermite normal form H and the transformation matrix T.


Example:

Compute the lower column Hermite normal form of \left(\begin{array}{ccc} 3 & 7 & 10 20 & 25 & 40 \end{array}right).

kash> M := Mat(Z,[[3,7,10],[20,25,40]]);
[ 3  7 10]
[20 25 40]
kash> L := MatHermiteColLowerTrans(M);;
kash> L[1];
2
kash> L[2];
[1 0 0]
[0 5 0]
kash> L[3];
[  1   1   6]
[  4   1  16]
[ -3  -1 -13]
kash> M*L[3];
> [1 0 0]
[0 5 0]


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