[back] [prev] [next] [index] [root]
MatHermiteColLowerTrans
Computes the lower column Hermite normal form
together with a transformation matrix.
Syntax:
L := MatHermiteColLowerTrans(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]