Normal forms: Difference between revisions
Cmloegcmluin (talk | contribs) →Equave-reduced generator form: remove extraneous and confusing material I had added previously |
Cmloegcmluin (talk | contribs) avoid using the term "normalize" where "put into normal form" can be used instead, to avoid conflict with other notions of normalization |
||
| Line 33: | Line 33: | ||
# First, defactor it (aka, make sure it is [[saturated]]). <ref>Historically, this step was not explicitly recognized as necessary for normal forms. It is quite likely that the vast majority of normal forms found on the wiki are not contorted/enfactored, but specifically defining this canonical form to include this requirement is an important step toward ensuring that, which will prevent redundant temperaments from being catalogued. In various domains, normal forms are often required to be unique, however, canonical forms are required to be unique even more often that normal forms are; according to [[Wikipedia: Canonical form]], 'the distinction between "canonical" and "normal" forms varies from subfield to subfield. In most fields, a canonical form specifies a unique representation for every object, while a normal form simply specifies its form, without the requirement of uniqueness.' This is the rationale behind defining "canonical" as opposed to merely "normal". To be more specific, The 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. And the critical flaw with HNF is its failure to defactor matrices - meaning that a "contorted" mapping matrix has a different Hermite normal form than a non-contorted one with the same kernel - and this is because dividing rows is not a permitted elementary row operation when computing the HNF. See: https://math.stackexchange.com/a/685922 The canonical form as described here ''does'' defactor matrices, and therefore it delivers a truly canonical result. <br> | # First, defactor it (aka, make sure it is [[saturated]]). <ref>Historically, this step was not explicitly recognized as necessary for normal forms. It is quite likely that the vast majority of normal forms found on the wiki are not contorted/enfactored, but specifically defining this canonical form to include this requirement is an important step toward ensuring that, which will prevent redundant temperaments from being catalogued. In various domains, normal forms are often required to be unique, however, canonical forms are required to be unique even more often that normal forms are; according to [[Wikipedia: Canonical form]], 'the distinction between "canonical" and "normal" forms varies from subfield to subfield. In most fields, a canonical form specifies a unique representation for every object, while a normal form simply specifies its form, without the requirement of uniqueness.' This is the rationale behind defining "canonical" as opposed to merely "normal". To be more specific, The 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. And the critical flaw with HNF is its failure to defactor matrices - meaning that a "contorted" mapping matrix has a different Hermite normal form than a non-contorted one with the same kernel - and this is because dividing rows is not a permitted elementary row operation when computing the HNF. See: https://math.stackexchange.com/a/685922 The canonical form as described here ''does'' defactor matrices, and therefore it delivers a truly canonical result. <br> | ||
There is also a rarely mentioned Hermite Canonical Form, or HCF, described here: http://home.iitk.ac.in/~rksr/html/03CANONICALFACTORIZATIONS.htm, which sort of combines the HNF's | There is also a rarely mentioned Hermite Canonical Form, or HCF, described here: http://home.iitk.ac.in/~rksr/html/03CANONICALFACTORIZATIONS.htm, which sort of combines the HNF's constraint and the [[Matrix echelon forms #RREF|RREF]]'s reduced constraint (all pivots equal 1, all other entries in pivot columns are 0, both above and below the pivot), but we didn't find it useful because due to its constraint that all pivots be 1, it does not preserve periods that are genuinely unit fractions of an octave (at first glance, when a pivot is not equal to 1, it might trigger you to think that the mapping is enfactored. But temperaments can legitimately have generators that divide primes evenly, such as 5-limit Blackwood, {{ket|{{map| 5 8 0 }} {{map| 0 0 1 }}}}, which divides the octave into 5 parts. So any form that enforces pivots all be 1's, such as HCF and RREF, would fail this criteria.) It also doesn't qualify as an echelon form, which becomes apparent only when you use it on [[rank-deficient]] matrices, because it doesn't require the rows of all zeros to be at the bottom; instead it (bizarrely, though maybe it's related to how the SNF requires all pivots exactly along the main diagonal) requires the rows to be sorted so that all the pivots fall on the main diagonal.</ref>. Note that if the matrix was not [[full-rank]], this will result in the elimination of some rows<ref>Note that canonicalizing a mapping does not remove trailing ''dimensions'' with only zeros. <br> | ||
In the case of a mapping, this would take the form of an extra column of all zeros to the right of any non-zero entries, or in other words, an unmapped prime higher than other mapped prime. For example you could have {{ket|{{map| 1 0 -4 0 }} {{map| 0 1 4 0 }}}} which is just 5-limit meantone but represented in the 7-limit even though prime 7 is not used. <br> | In the case of a mapping, this would take the form of an extra column of all zeros to the right of any non-zero entries, or in other words, an unmapped prime higher than other mapped prime. For example you could have {{ket|{{map| 1 0 -4 0 }} {{map| 0 1 4 0 }}}} which is just 5-limit meantone but represented in the 7-limit even though prime 7 is not used. <br> | ||
And for a comma basis the form this would take is rotated 90 degrees: a row of all zeros below all other nonzero entries, e.g. {{bra|{{vector|4 -4 1 0}}}}.<br> | And for a comma basis the form this would take is rotated 90 degrees: a row of all zeros below all other nonzero entries, e.g. {{bra|{{vector|4 -4 1 0}}}}.<br> | ||
| Line 154: | Line 154: | ||
=== Equave-reduced generator form === | === Equave-reduced generator form === | ||
The '''equave-reduced generator form''' is similar to the positive generator form, but the matrix is further | The '''equave-reduced generator form''' is similar to the positive generator form, but the matrix is further modified so that each generator is equave-reduced, where the [[equave]] can be found as the formal prime represented by the first ''column'' of the matrix (which is usually the octave). For more information, see: [[Octave reduction #Generalization]] | ||
Consider the case of septimal meantone. As we know, its positive generator form is {{ket|{{map| 1 0 -4 -13 }} {{map| 0 1 4 10 }}}} which corresponds to generators of ~2/1 and ~3/1. In this case, as is typical, the formal prime represented by the first column of the matrix is 2, and so the equave is the octave. Therefore, all generators must be octave-reduced. But our second generator is ~3/1, which is not octave-reduced. We must alter the mapping in such a way that this row represents a generator of ~3/2 instead. We can do that here by adding the second row of the mapping to the first: {{ket|{{map| 1 1 0 -3 }} {{map| 0 1 4 10 }}}}. So that is septimal meantone's equave-reduced generator form, corresponding to generators of ~2/1 and ~3/2. | Consider the case of septimal meantone. As we know, its positive generator form is {{ket|{{map| 1 0 -4 -13 }} {{map| 0 1 4 10 }}}} which corresponds to generators of ~2/1 and ~3/1. In this case, as is typical, the formal prime represented by the first column of the matrix is 2, and so the equave is the octave. Therefore, all generators must be octave-reduced. But our second generator is ~3/1, which is not octave-reduced. We must alter the mapping in such a way that this row represents a generator of ~3/2 instead. We can do that here by adding the second row of the mapping to the first: {{ket|{{map| 1 1 0 -3 }} {{map| 0 1 4 10 }}}}. So that is septimal meantone's equave-reduced generator form, corresponding to generators of ~2/1 and ~3/2. | ||
| Line 163: | Line 163: | ||
=== Minimal generator form === | === Minimal generator form === | ||
The '''minimal generator form''' (or '''mingen form''') is a form specific to rank-2 temperaments, where | The '''minimal generator form''' (or '''mingen form''') is a form specific to rank-2 temperaments, where the generator is positive and no greater than half the period.<ref>This is somewhat like octave reduction combined with octave inversion, because you can't just add or subtract half octaves until it's between 0 and 600 cents; you have to add or subtract octaves until it's between -600 and +600 cents, then multiply by -1 if it's negative.</ref><ref>You could always find a smaller and smaller generator by going negative, so this assumes positive generators.</ref> | ||
[[Graham Breed]]'s [http://x31eq.com/temper/ temperament finder] uses this form for all rank-2 temperaments. Septimal meantone in minimal generator form is [{{val| 1 2 4 7 }}, {{val| 0 -1 -4 -10 }}], corresponding to generators of ~2/1 and ~4/3. | [[Graham Breed]]'s [http://x31eq.com/temper/ temperament finder] uses this form for all rank-2 temperaments. Septimal meantone in minimal generator form is [{{val| 1 2 4 7 }}, {{val| 0 -1 -4 -10 }}], corresponding to generators of ~2/1 and ~4/3. | ||
| Line 262: | Line 262: | ||
And there's our canonical comma basis. | And there's our canonical comma basis. | ||
The set of elements of the original list generates a finitely generated free abelian subgroup of the positive rationals under multiplication, and therefore of any ''p''-limit group it lives inside. The | The set of elements of the original list generates a finitely generated free abelian subgroup of the positive rationals under multiplication, and therefore of any ''p''-limit group it lives inside. The list in normal form contains a minimal set of ratios, in an ordering of nondecreasing prime limit which is parsimonious in its use of higher limits. For example, if we put [81/80, 126/125] into normal form we obtain [80/81, 57344/59049]. The first interval is 5-limit, which is as small as possible. The second is 7-limit, which must be the case because the group these two generate is 7-limit. However, it uses only 2, 3 and 7 in its prime factorization, parsimoniously rejecting 5 as the next highest prime limit. Because [[regular temperament]]s, where the prime mappings are known but not the specific tuning of the generators, are fully characterized by their kernel, the group of intervals they map to the unison, they can also be characterized by the regular interval list of a set of generators (called commas or unison vectors) for the kernel. The above normal interval list, for example, characterizes septimal meantone, defining the normal comma list of septimal meantone. | ||
Note that the defactored Hermite form of the comma list requires the list to be defactored (e.g. torsion to be removed). For example, both [25/27, 35/36] and [25/27, 49/48] characterize Beep. But the latter has torsion/is enfactored, so the former is Beep's defactored Hermite form. | Note that the defactored Hermite form of the comma list requires the list to be defactored (e.g. torsion to be removed). For example, both [25/27, 35/36] and [25/27, 49/48] characterize Beep. But the latter has torsion/is enfactored, so the former is Beep's defactored Hermite form. | ||
| Line 283: | Line 283: | ||
=== Integer reduced row echelon form (IRREF) === | === Integer reduced row echelon form (IRREF) === | ||
Another important | Another important normal form for integer matrices is what [[Kite Giedraitis]] has dubbed the IRREF, the '''integer reduced row echelon form'''. It is the [[Wikipedia: Row echelon form|reduced row echelon form]] but with integer entries, found by multiplying each row of the matrix by the least common multiple of all denominators in that row. It differs from the Hermite normal form in that each pivot is the only nonzero entry in its column. For a monzo list, it has the advantage of limiting the appearance of the ''N'' highest primes to only one comma each (where ''N'' is the codimension), isolating each prime's effect on the [[pergen]], but has the disadvantage that the commas tend to have high odd limits, and the comma list may have torsion. | ||
Sometimes the IRREF is identical to the HNF. For more information, see [[IRREF]]. | Sometimes the IRREF is identical to the HNF. For more information, see [[IRREF]]. | ||