Normal forms: Difference between revisions
Address Kite's pergen |
m →Normal forms for mappings: final touch |
||
Line 41: | Line 41: | ||
=== Positive-generator forms === | === Positive-generator forms === | ||
Even though by using the HNF the defactored Hermite form ensures that the pivot (first nonzero entry) of each mapping row is a positive ''number'', this does not necessarily mean that the corresponding generators are all positive ''in pitch''. For example, the defactored Hermite form of porcupine is the matrix {{rket| {{map| 1 2 3 }} {{map| 0 3 5 }} }}. The second column of this matrix tells us it takes 2 of the first generator and 3 of the second generator to reach its approximation of 3/1. But as we can tell from the first column of this matrix, it takes only 1 of the first generator and nothing else to reach its approximation of 2/1. Therefore, if we move by 2 of the first generator, we are already at this temperament's approximation of 4/1, and so if we still need to move by 3 of the second generator to reach its approximation of 3/1, then the second generator must be negative. Indeed, it is about 163 cents ''downward'' in pitch. Negative generators like this can be surprising and confusing, and so ''positive-generator forms'' were developed to address this concern. | Even though by using the HNF the defactored Hermite form ensures that the {{w|pivot element|pivot}} (first nonzero entry) of each mapping row is a positive ''number'', this does not necessarily mean that the corresponding generators are all positive ''in pitch''. For example, the defactored Hermite form of porcupine is the matrix {{rket| {{map| 1 2 3 }} {{map| 0 3 5 }} }}. The second column of this matrix tells us it takes 2 of the first generator and 3 of the second generator to reach its approximation of 3/1. But as we can tell from the first column of this matrix, it takes only 1 of the first generator and nothing else to reach its approximation of 2/1. Therefore, if we move by 2 of the first generator, we are already at this temperament's approximation of 4/1, and so if we still need to move by 3 of the second generator to reach its approximation of 3/1, then the second generator must be negative. Indeed, it is about 163 cents ''downward'' in pitch. Negative generators like this can be surprising and confusing, and so ''positive-generator forms'' were developed to address this concern. | ||
To obtain one of these forms, we first need to know whether each generator is positive or negative in pitch. This is conventionally found through the [[Frobenius generator]]s of the temperament, where we find the [[pseudoinverse]] of the mapping ''V'', which we notate ''V''<sup>+</sup>, and multiply this from the left by the just tuning map, {{nowrap| ''J'' {{=}} {{val| 1 log<sub>2</sub>3 log<sub>2</sub>5 … log<sub>2</sub>''p'' }} }}. Otherwise normed tunings technically do the same. [[Flora Canou]]'s [https://github.com/FloraCanou/temperament_evaluator Temperament Evaluator] has adopted a faster method called ''fast approximate tuning'' (''FX tuning''), which short-circuits the question of optimization and focuses on the abstract property of how a temperament splits intervals<ref>[https://github.com/FloraCanou/temperament_evaluator/wiki/Performance-of-FX-tuning Github | ''Performance of FX tuning'' · FloraCanou/temperament_evaluator Wiki]</ref>. | To obtain one of these forms, we first need to know whether each generator is positive or negative in pitch. This is conventionally found through the [[Frobenius generator]]s of the temperament, where we find the [[pseudoinverse]] of the mapping ''V'', which we notate ''V''<sup>+</sup>, and multiply this from the left by the just tuning map, {{nowrap| ''J'' {{=}} {{val| 1 log<sub>2</sub>3 log<sub>2</sub>5 … log<sub>2</sub>''p'' }} }}. Otherwise normed tunings technically do the same. [[Flora Canou]]'s [https://github.com/FloraCanou/temperament_evaluator Temperament Evaluator] has adopted a faster method called ''fast approximate tuning'' (''FX tuning''), which short-circuits the question of optimization and focuses on the abstract property of how a temperament splits intervals<ref>[https://github.com/FloraCanou/temperament_evaluator/wiki/Performance-of-FX-tuning Github | ''Performance of FX tuning'' · FloraCanou/temperament_evaluator Wiki]</ref>. | ||
Line 47: | Line 47: | ||
The first positive-generator form, called <code>"flip"</code> in the Temperament Evaluator, changes the signs of every entry in a row if the corresponding generator is negative. | The first positive-generator form, called <code>"flip"</code> in the Temperament Evaluator, changes the signs of every entry in a row if the corresponding generator is negative. | ||
Another form, called <code>shift</code>, also makes sure the generators are positive, but it maniplates the mapping to equave-reduce the negative generators instead, except when the temperament is (-1)-sheared, in which case it uses the <code>flip</code> routine. This form may be more musically useful as the prime harmonics are more often in positive numbers of generator steps. | Another form, called <code>"shift"</code>, also makes sure the generators are positive, but it maniplates the mapping to equave-reduce the negative generators instead, except when the temperament is (-1)-sheared, in which case it uses the <code>"flip"</code> routine. This form may be more musically useful as the prime harmonics are more often in positive numbers of generator steps. | ||
'''Note:''' Most mappings (though not the "[[mapping to lattice]]") listed on temperament data pages of this wiki are in the <code>"flip"</code> form. | '''Note:''' Most mappings (though not the "[[mapping to lattice]]") listed on temperament data pages of this wiki are in the <code>"flip"</code> form. |