[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]