Defactoring: Difference between revisions

Cmloegcmluin (talk | contribs)
note on column-style HNF
Cmloegcmluin (talk | contribs)
vs. HNF: dividing not allowed
Line 13: Line 13:
More importantly, and perhaps partially a result of this weak understanding of the difference between the conventions for normal and canonical forms, the xenharmonic community ha mistakenly used HNF as if it provides a unique representation of equivalent mappings. To be more specific, HNF does provide a unique representation of ''matrices'', i.e. from a perspective of pure mathematics, and so you will certainly find throughout mathematical literature that HNF is described as providing a unique representation, and this is correct. However, when applied to the RTT domain, i.e. to ''mappings'', the HNF sometimes fails to identify equivalent mappings as such.
More importantly, and perhaps partially a result of this weak understanding of the difference between the conventions for normal and canonical forms, the xenharmonic community ha mistakenly used HNF as if it provides a unique representation of equivalent mappings. To be more specific, HNF does provide a unique representation of ''matrices'', i.e. from a perspective of pure mathematics, and so you will certainly find throughout mathematical literature that HNF is described as providing a unique representation, and this is correct. However, when applied to the RTT domain, i.e. to ''mappings'', the HNF sometimes fails to identify equivalent mappings as such.


The critical flaw with HNF is its failure to defactor matrices. The DCF that will be described here, on the other hand, ''does'' defactor matrices, and therefore it delivers a truly canonical result.
The critical flaw with HNF is its failure to defactor matrices<ref>This is because dividing rows is not a permitted elementary row operation when computing the HNF. See: https://math.stackexchange.com/a/685922</ref>. The DCF that will be described here, on the other hand, ''does'' defactor matrices, and therefore it delivers a truly canonical result.


=== defactoring ===
=== defactoring ===