Target tuning: Difference between revisions

m Readability improvement; +categories
m +1
Line 7: Line 7:


== Minimax tuning ==
== Minimax tuning ==
Starting with the same assumptions as with least squares tuning, minimax tuning works similarly, except instead of minimizing the squares of the errors, we minimize max<sub>i</sub> |T (''q<sub>i</sub>'') - log<sub>2</sub> (''q<sub>i</sub>'')|, the maximum error over all the target intervals. This can be solved by setting the minimization up as a [[Wikipedia: Linear programming|linear programming]] problem, but another approach leads as before to a projection matrix with fractional monzo rows.
Starting with the same assumptions as with least squares tuning, minimax tuning works similarly, except instead of minimizing the squares of the errors, we minimize max<sub>''i''</sub> |T (''q<sub>i</sub>'') - log<sub>2</sub> (''q<sub>i</sub>'')|, the maximum error over all the target intervals. This can be solved by setting the minimization up as a [[Wikipedia: Linear programming|linear programming]] problem, but another approach leads as before to a projection matrix with fractional monzo rows.


For a rank ''r'' temperament, we can form a list of candidate sets of eigenmonzos by taking ''r'' - 1 elements from the list of target intervals, and adding 2 to the set, leading to an ''r'' element set. To avoid duplications and sets with rank less than ''r'', we can take the [[Normal lists|normal interval list]] defined by each of these ''r'' element sets, discarding any with less than ''r'' elements. This means we are compiling a list of rank ''r'' [[just intonation subgroups]], which are [[eigenmonzo subgroup]]s for the corresponding tuning. For each of these these subgroups, we may find a corresponding projection matrix as the matrix with the ''r'' generators of the subgroup as eigenmonzos and a basis for the commas as left eigenvectors with eigenvalue zero. These projection matrices define tunings, and the tuning, if unique, with the least maximum error is the minimax tuning. However, this tuning may not be unique, in which case we may break the tie by choosing the tuning, among the set of least maximum error tunings, with the smallest sum of errors squared.
For a rank ''r'' temperament, we can form a list of candidate sets of eigenmonzos by taking ''r'' - 1 elements from the list of target intervals, and adding 2 to the set, leading to an ''r'' element set. To avoid duplications and sets with rank less than ''r'', we can take the [[Normal lists|normal interval list]] defined by each of these ''r'' element sets, discarding any with less than ''r'' elements. This means we are compiling a list of rank ''r'' [[just intonation subgroups]], which are [[eigenmonzo subgroup]]s for the corresponding tuning. For each of these these subgroups, we may find a corresponding projection matrix as the matrix with the ''r'' generators of the subgroup as eigenmonzos and a basis for the commas as left eigenvectors with eigenvalue zero. These projection matrices define tunings, and the tuning, if unique, with the least maximum error is the minimax tuning. However, this tuning may not be unique, in which case we may break the tie by choosing the tuning, among the set of least maximum error tunings, with the smallest sum of errors squared.