HermiteDecomposit of the lattices generated by column or row matrices

I noticed the following description given in the document of HermiteDecomposition:

HermiteDecomposition can be used to determine if two integer lattices
are equivalent. If the generators of the lattices are put in row
matrices, the lattices are equal if and only if the matrices of the
Hermite decompositions of the corresponding matrices are the same.

As you can see, this command needs “the generators of the lattices are put in row matrices”. But in practice, I do not know whether the generators of different lattices are stored in column or row matrices. In this case, how should I use this command?

Regards,
Zhao

This is not a question people here can answer. It depends on context: which lattices you obtain are column-based and which are row-based. This is something you would need to determine. For the former case, something like Map[Transpose, Reverse[HermiteDecomposition[Transpose[mat]]]]` might be what you want. Again, having explicit examples would help for testing proposed answers.

See the following example. According to your suggestion, I got three different results:

In[111]:= mat=tbasSGAK227Left1
%//HermiteDecomposition
Map[Transpose, Reverse[HermiteDecomposition[Transpose[mat]]]]
mat//Transpose//HermiteDecomposition

Out[111]= {{1/2, 0, 0}, {0, 1/2, -(1/2)}, {1/2, 1/2, 1/2}}

Out[112]= {{{1, 0, 0}, {-1, 0, 1}, {-1, -1, 1}}, {{1/2, 0, 0}, {0, 1/
   2, 1/2}, {0, 0, 1}}}

Out[113]= {{{1/2, 0, 0}, {0, 1/2, 0}, {1/2, 1/2, 1}}, {{1, 0, 0}, {0, 
   1, 1}, {0, 0, 1}}}

Out[114]= {{{1, 0, 0}, {0, 1, 0}, {0, 1, 1}}, {{1/2, 0, 1/2}, {0, 1/2,
    1/2}, {0, 0, 1}}}

However, I still haven’t seen any clue.

Regards,
Zhao

You tried three different operations, getting three different results. And wondered why you got three different results? Me, I’d wonder if the results were the same.

It seems that:

2nd == 3rd.

1st is not equivalent to the above two.