MathGroup Archive 1998

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Hermite Normal Form



Andrew J. Schaefer wrote:
> 
> Does anyone know the definition of Hermite Normal Form that Mathematica
> uses?  The Operations Research/Integer Programming literature seems to
> use a definition that requires the diagonal entries to be larger than
> off-diagonal entries.  However, the HermiteNormalForm[] function
> returns a matrix with off-diagonal entries larger than the diagonal
> entries.
> 
> Any knowledge of the definition that Mathematica uses would be greatly
> appreciated.
> 
> Thanks!
> 
> Andrew Schaefer
> Ph.D. Student
> School of ISyE
> Georgia Tech


I assume you have in mind a generalized notion of diagonal to account
for columns that have no pivots. So in the example below the largest
entry, 6, is not on a diagonal but it occurs in a column that has no
pivot, hence is okay.

In[25]:= HermiteNormalForm[mat]
Out[25]= {{1, 2, 3}, {0, 3, 6}}

If you are using version 2.2 of Mathematica, then, sorry to say,
HermiteNormalForm is known to be buggy. If you are using version 3 and
furthermore your large entries are not in pivot-less columns, then
please send me an example.


Daniel Lichtblau
Wolfram Research



  • Prev by Date: Re: Matrix manipulation
  • Next by Date: global options
  • Prev by thread: Hermite Normal Form
  • Next by thread: EPS printing problems