Optimization: Difference between revisions
Now weight--skew transfomration is a thing and is denoted by X. p-norm -> q-norm since it's the dual norm (p is reserved for interval space norm) |
m Another pass on style: matrices are italic following Wikipedia practice. Eigenmonzo -> unit eigenmonzo. Misc. cleanup |
||
Line 1: | Line 1: | ||
In [[regular temperament theory]], '''optimization''' is the theory and practice to find low-error tunings of regular temperaments. | In [[regular temperament theory]], '''optimization''' is the theory and practice to find low-error tunings of regular temperaments. | ||
A regular temperament is defined by a [[mapping]] or a [[comma basis]]. It does not contain specific tuning information. To tune a temperament, one must define a [[tuning map]] by specifying the size of each [[ | A regular temperament is defined by a [[mapping]] or a [[comma basis]]. It does not contain specific tuning information. To tune a temperament, one must define a [[tuning map]] by specifying the size of each [[periods and generators|generator]]. The question is what it should be. In general, a temperament is an approximation to [[just intonation|just intonation (JI)]]. Any tuning will unavoidably introduce errors on some intervals for sure. The art of tempering seems to be about compromises – to find a sweet spot where the concerning intervals have the least overall error, so that the harmonic qualities of JI are best preserved. | ||
== Taxonomy == | == Taxonomy == | ||
Roughly speaking, there are two types of tunings with diverging philosophies: ''prime-based tunings'' and ''target tunings''. | Roughly speaking, there are two types of tunings with diverging philosophies: ''prime-based tunings'' and ''target tunings''. | ||
* A prime-based tuning is optimized for the [[formal prime]]s, but they are representative for the set of all intervals. There are two equivalent perspectives. First, in the [[ | * A prime-based tuning is optimized for the [[formal prime]]s, but they are representative for the set of all intervals. There are two equivalent perspectives. First, in the [[vals and tuning space|tuning space]], it minimizes the errors of formal primes. Second, in the [[monzos and interval space|interval space]], it rates the [[complexity]] of all intervals through a norm, and it minimizes the maximum [[damage]] (i.e. error divided by complexity) for all intervals. | ||
* A target tuning is optimized for a particular set of intervals and considers the rest irrelevant. However, the interval does not get infinite complexity even if it is disregarded due to the normed nature of the interval space, so these tunings also correspond to all-interval damage minimizations of some sorts. | * A target tuning is optimized for a particular set of intervals and considers the rest irrelevant. However, the interval does not get infinite complexity even if it is disregarded due to the normed nature of the interval space, so these tunings also correspond to all-interval damage minimizations of some sorts. | ||
Line 13: | Line 13: | ||
[[File:Vector norms.svg|thumb|Comparison of norms on the space]] | [[File:Vector norms.svg|thumb|Comparison of norms on the space]] | ||
In order to perform prime-based optimization, all intervals must be rated by complexity, so it is critical to employ a | In order to perform prime-based optimization, all intervals must be rated by complexity, so it is critical to employ a {{w|norm (mathematics)|norm}}. Technically, this is to {{w|embedding|embed}} the [[just intonation subgroup|just intonation group]] into a {{w|normed vector space}}. There are a few aspects to consider. The weight, which determines how important each formal prime is, and the skew, which determines how divisive ratios are more important than multiplicative ratios. They can be interpreted as transformations of either the norm or the coordinates of the space. The two views are equivalent. In addition, there is the order (or sometimes just dubbed the norm), which determines how the space can be traversed. | ||
=== Weight === | === Weight === | ||
The weight, represented by a diagonal transformation matrix, determines the importance of each formal prime. Since the tuning space and the interval space are | The weight, represented by a diagonal transformation matrix, determines the importance of each formal prime. Since the tuning space and the interval space are {{w|dual (mathematics)|dual}} to each other, rating of importance in the tuning space is equivalent to rating of complexity in the interval space. The Tenney weight is the most common weight: | ||
<math>\displaystyle W = \operatorname {diag} (1/\log_2 (Q)) </math> | <math>\displaystyle W = \operatorname {diag} (1/\log_2 (Q)) </math> | ||
which indicates that the prime harmonic ''q'' in Q = {{val| 2 3 5 … }} has the importance of 1/log<sub>2</sub>(''q''). Its dual states that ''q'' has the complexity of log<sub>2</sub>(''q''). | which indicates that the prime harmonic ''q'' in ''Q'' = {{val| 2 3 5 … }} has the importance of 1/log<sub>2</sub>(''q''). Its dual states that ''q'' has the complexity of log<sub>2</sub>(''q''). | ||
=== Skew === | === Skew === | ||
Line 47: | Line 47: | ||
=== Constraint === | === Constraint === | ||
Constraint is a logical method to enforce one or more pure intervals. A pure interval added this way is known as | Constraint is a logical method to enforce one or more pure intervals. A pure interval added this way is known as a [[eigenmonzo|unit eigenmonzo a.k.a. unchanged-interval]]. It defines a feasible region for optimization, and the result measured by the original norm is feasibly optimal. | ||
== General formulation == | == General formulation == | ||
In general, the temperament optimization problem (except for the destretch) can be defined as follows. Given a temperament mapping V and the [[just tuning map]] J, we specify a weight–skew transformation, represented by transformation matrix X, and a ''q''-norm. An optional eigenmonzo list M<sub> | In general, the temperament optimization problem (except for the destretch) can be defined as follows. Given a temperament mapping ''V'' and the [[just tuning map]] ''J'', we specify a weight–skew transformation, represented by transformation matrix ''X'', and a ''q''-norm. An optional unit eigenmonzo list ''M''<sub>''I''</sub> can be added. The goal is to find the generator list ''G'' by | ||
Minimize | Minimize | ||
Line 58: | Line 58: | ||
subject to | subject to | ||
<math>\displaystyle (GV - J) | <math>\displaystyle (GV - J)M_I = O </math> | ||
where (·)<sub>X</sub> denotes the variable in the weight–skew transformed space, found by | where (·)<sub>''X''</sub> denotes the variable in the weight–skew transformed space, found by | ||
<math>\displaystyle | <math>\displaystyle | ||
Line 75: | Line 75: | ||
|+Table of common tunings | |+Table of common tunings | ||
|- | |- | ||
! Weight–Skew\Order !! Chebyshevian<br>(''L''<sup>1</sup> tuning) !! Euclidean<br>(''L''<sup>2</sup> tuning) !! Manhattan<br>(''L''<sup> | ! Weight–Skew\Order !! Chebyshevian<br>(''L''<sup>1</sup> tuning) !! Euclidean<br>(''L''<sup>2</sup> tuning) !! Manhattan<br>(''L''<sup>inf</sup> tuning) | ||
|- | |- | ||
| Tenney<br>Tenney-Weil || TC tuning<br><br> || [[TE tuning]]<br>[[TWE tuning]] || [[TOP tuning]]<br><br> | | Tenney<br>Tenney-Weil || TC tuning<br><br> || [[TE tuning]]<br>[[TWE tuning]] || [[TOP tuning]]<br><br> |