Douglas Blumeyer's RTT How-To: Difference between revisions

Cmloegcmluin (talk | contribs)
rank and nullity: add WolframAlpha demo
Cmloegcmluin (talk | contribs)
normal form: add WolframAlpha example
Line 1,047: Line 1,047:


Finding the HNF is not all too different from the other matrix transformations we’ve practiced so far. Basically you just perform Gaussian elimination until you reach your target. The target in this case requires that the biggest square matrix subset of your matrix you can fit in the top-left corner is an identity matrix. In other words, top-left corner is 1, and you have all 1’s along the main diagonal, and 0’s between any of these 1’s and the top or left of the matrix. If you can’t get a 1 along the main diagonal, shoot for a number whose absolute value is as low as possible, and lower or equal to any further numbers down the diagonal.
Finding the HNF is not all too different from the other matrix transformations we’ve practiced so far. Basically you just perform Gaussian elimination until you reach your target. The target in this case requires that the biggest square matrix subset of your matrix you can fit in the top-left corner is an identity matrix. In other words, top-left corner is 1, and you have all 1’s along the main diagonal, and 0’s between any of these 1’s and the top or left of the matrix. If you can’t get a 1 along the main diagonal, shoot for a number whose absolute value is as low as possible, and lower or equal to any further numbers down the diagonal.
{| class="wikitable"
|+WolframAlpha code ([https://www.wolframalpha.com/input/?i=Hermite+Normal+Form+%5B%7B%7B5%2C8%2C12%7D%2C%7B7%2C11%2C16%7D%7D%5D try it])
!input
!output
|-
|<code>Hermite Normal Form [{{5,8,12},{7,11,16}}]</code>
|H = {{1,0,-4},{0,1,4}}
|}


== multi(co)vectors ==
== multi(co)vectors ==