Talk:Generator preimage: Difference between revisions

Sintel (talk | contribs)
No edit summary
Sintel (talk | contribs)
No edit summary
Line 19: Line 19:
:* Build the block matrix [R | S] (prepending R to S)
:* Build the block matrix [R | S] (prepending R to S)
:* If we do some row operations or [R | S], it stays valid. Say we multiply it by an arbitrary unimodular matrix U:<br>[R' | S'] = U*[R | S] = [U*R | U*S]<br>This is true because R = V[i]*S, so U*R = U*V[i]*S = V[i]*U*S<br>=> R' = V[i]*S'<br>
:* If we do some row operations or [R | S], it stays valid. Say we multiply it by an arbitrary unimodular matrix U:<br>[R' | S'] = U*[R | S] = [U*R | U*S]<br>This is true because R = V[i]*S, so U*R = U*V[i]*S = V[i]*U*S<br>=> R' = V[i]*S'<br>
:* Since we want V[i]*u = 1, we want to find some U so that R' = [1,0,..,0], this is exactly what the HNF does. The first row of S' is then the vector u we are after.
:* Since we want V[i]*u = 1, we want to find some U so that R' = [1,0,..,0]. This is exactly what the HNF does. The first row of S' is then the vector u we are after.
: I have left out some details and matrix transposes. Hopefully this helps clear things up.
: I have left out some details and matrix transposes. Hopefully this helps clear things up.
:-[[User:Sintel|Sintel]] ([[User talk:Sintel|talk]]) 00:51, 18 December 2021 (UTC)
:-[[User:Sintel|Sintel]] ([[User talk:Sintel|talk]]) 00:51, 18 December 2021 (UTC)
Return to "Generator preimage" page.