Tool for calculating the Hermite normal form (by reducing a matrix to its row echelon form) from a matrix M (with coefficients in Z) the computation yields 2 matrices H and U such that $ H = U . M $.
Hermite Normal Form Matrix - dCode
Tag(s) : Matrix
dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!
A suggestion ? a feedback ? a bug ? an idea ? Write to dCode!
Tool for calculating the Hermite normal form (by reducing a matrix to its row echelon form) from a matrix M (with coefficients in Z) the computation yields 2 matrices H and U such that $ H = U . M $.
A matrix $ M $ of size $ n \times m $ with integer coefficients (natural or relative) has a Hermite decomposition if there exists a triangular matrix $ H $ and a unimodular matrix $ U $ such that $ H = U. M $. Reminder: An upper triangular matrix $ H $ is such that $ H_ {i, j} = 0 $ for $ i> j $ and a unimodular matrix is an invertible square matrix with integer coefficients whose determinant is $ \pm 1 $.
Example: $$ M = \begin{bmatrix} 3 & 2 & 1 \\ 0 & 1 & 0 \\ 1 & 1 & 1 \end{bmatrix} \Rightarrow H = \begin{bmatrix} 0 & -1 & 1 \\ 0 & 1 & 0 \\ -1 & -1 & 3 \end{bmatrix}, U = \begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \\ 0 & 0 & 2 \end{bmatrix} $$
There are two forms for the Hermite matrix, an upper triangular matrix such that $ H = UM $ (also called Hermite's normal form row style) is a lower triangular matrix such that $ H = MU $ ( also called Hermite normal form column style)
dCode uses the LLL algorithm (Lenstra-Lenstra-Lovász) to calculate the Hermite decomposition (the calculation by hand is not recommended)
A normal Hermite-shaped matrix is the triangular scaled matrix $ H $ calculated by the Hermite decomposition (above) via reduction to row echelon form of the matrix.
dCode retains ownership of the online 'Hermite Normal Form Matrix' tool source code. Except explicit open source licence (indicated CC / Creative Commons / free), any algorithm, applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any function (convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (PHP, Java, C#, Python, Javascript, Matlab, etc.) no data, script, copy-paste, or API access will be for free, same for Hermite Normal Form Matrix download for offline use on PC, tablet, iPhone or Android !
Please, check our community Discord for help requests!