Normal forms: Difference between revisions

Address Kite's pergen
 
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.