Constrained tuning: Difference between revisions
More clarifications; adopt "just tuning map" |
|||
| Line 3: | Line 3: | ||
All constrained tunings are standard temperament optimization problems. Specifically, as [[TE tuning]] can be viewed as a [[Wikipedia: Least squares|least squares problem]], CTE tuning can be viewed as an equality-constrained least squares problem. | All constrained tunings are standard temperament optimization problems. Specifically, as [[TE tuning]] can be viewed as a [[Wikipedia: Least squares|least squares problem]], CTE tuning can be viewed as an equality-constrained least squares problem. | ||
The most common subject of constraint is the octave, which is assumed unless specified otherwise. For higher-rank temperaments, it may make sense to add multiple constraints, such as a pure-2.3 constrained tuning. For a rank-''r'' temperament, specifying ''m'' | The most common subject of constraint is the octave, which is assumed unless specified otherwise. For higher-rank temperaments, it may make sense to add multiple constraints, such as a pure-2.3 (pure-octave pure-fifth) constrained tuning. For a rank-''r'' temperament, specifying a rank-''m'' constraint list will yield ''r'' - ''m'' [[Wikipedia: Degrees of freedom|degrees of freedom]] to be optimized. | ||
== Definition == | == Definition == | ||
Given a temperament [[mapping]] V and the [[ | Given a temperament [[mapping]] V and the [[just tuning map]] J, we specify a weight and a skew, represented by transformation matrices W and X, respectively, and a ''p''-norm. Suppose the tuning is constrained by the eigenmonzo list M<sub>C</sub>. The goal is to find the generator list G by | ||
Minimize | Minimize | ||
| Line 27: | Line 27: | ||
The problem is feasible if | The problem is feasible if | ||
# rank (M<sub>C</sub>) ≤ rank (V), and | # rank (M<sub>C</sub>) ≤ rank (V), and | ||
# The | # The subgroups of M<sub>C</sub> and N (V) are [[Wikipedia:linear independence|linearly independent]]. | ||
== Computation == | == Computation == | ||
As a standard optimization problem, numerous algorithms exist to solve it, such as [[Wikipedia: Sequential quadratic programming|sequential quadratic programming]], to name one. [[Flora Canou]]'s [https://github.com/FloraCanou/temperament_evaluator/blob/32a2198f1ebd9038fc64e02b10b547e011d4eaa4/te_optimizer_legacy.py tuning optimizer] is such an implementation in [https://www.python.org Python]. Note: it | As a standard optimization problem, numerous algorithms exist to solve it, such as [[Wikipedia: Sequential quadratic programming|sequential quadratic programming]], to name one. [[Flora Canou]]'s [https://github.com/FloraCanou/temperament_evaluator/blob/32a2198f1ebd9038fc64e02b10b547e011d4eaa4/te_optimizer_legacy.py tuning optimizer] is such an implementation in [https://www.python.org Python]. Note: it uses [https://scipy.org/ Scipy]. | ||
{{Databox| Code | | {{Databox| Code | | ||
| Line 196: | Line 196: | ||
<math>\langle \begin{matrix} 1200.000 & 1896.656 & 2786.625 & 3366.562 \end{matrix} ]</math> | <math>\langle \begin{matrix} 1200.000 & 1896.656 & 2786.625 & 3366.562 \end{matrix} ]</math> | ||
The CTE tuning map is even sharper, with 3 tuned flat and 5 and 7 sharp | The CTE tuning map is even sharper, with 3 tuned flat and 5 and 7 sharp: | ||
<math>\langle \begin{matrix} 1200.000 & 1896.952 & 2787.809 & 3369.521 \end{matrix} ]</math> | <math>\langle \begin{matrix} 1200.000 & 1896.952 & 2787.809 & 3369.521 \end{matrix} ]</math> | ||
| Line 247: | Line 247: | ||
== Systematic name == | == Systematic name == | ||
In D&D's guide to RTT, the [[Dave Keenan & Douglas Blumeyer's guide to RTT: alternative complexities #Naming|systematic name]] for the CTE tuning scheme is ''[[Dave Keenan %26 Douglas Blumeyer%27s guide to RTT: all-interval tuning schemes #Held-octave minimax-.28E.29S|held-octave minimax-ES]]'', and the systematic name for the CTWE tuning scheme is ''[[Dave Keenan %26 Douglas Blumeyer%27s guide to RTT: tuning fundamentals #Held-intervals|held-octave]] [[ | In D&D's guide to RTT, the [[Dave Keenan & Douglas Blumeyer's guide to RTT: alternative complexities #Naming|systematic name]] for the CTE tuning scheme is ''[[Dave Keenan %26 Douglas Blumeyer%27s guide to RTT: all-interval tuning schemes #Held-octave minimax-.28E.29S|held-octave minimax-ES]]'', and the systematic name for the CTWE tuning scheme is ''[[Dave Keenan %26 Douglas Blumeyer%27s guide to RTT: tuning fundamentals #Held-intervals|held-octave]] [[Dave Keenan %26 Douglas Blumeyer%27s guide to RTT: alternative complexities #Tunings used in 7|minimax-E-lils-S]]''. | ||
[[Category:Terms]] | [[Category:Terms]] | ||
[[Category:Math]] | [[Category:Math]] | ||
[[Category:Regular temperament tuning]] | [[Category:Regular temperament tuning]] | ||