Group Abstract Group Abstract

Message Boards Message Boards

0
|
2.3K Views
|
4 Replies
|
2 Total Likes
View groups...
Share
Share this post:

HermiteDecomposit of the lattices generated by column or row matrices

Posted 3 years ago

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

POSTED BY: Hongyi Zhao
4 Replies
Posted 3 years ago

It seems that:

2nd == 3rd.

1st is not equivalent to the above two.

POSTED BY: Hongyi Zhao
Posted 3 years ago

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

POSTED BY: Hongyi 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.

POSTED BY: Daniel Lichtblau

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.

POSTED BY: Daniel Lichtblau
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard