Constrained tuning/Analytical solution to constrained Euclidean tunings: Difference between revisions
m Categorised this uncategorised page |
Replace weight W and skew X with a single transformation X to improve readability |
||
Line 18: | Line 18: | ||
<math>\displaystyle PM = O</math> | <math>\displaystyle PM = O</math> | ||
For any Euclidean aka ''L''<sup>2</sup> tuning without constraints, the | For any Euclidean aka ''L''<sup>2</sup> tuning without constraints, the weighted–skewed projection map is | ||
<math>\displaystyle | <math>\displaystyle P_X = V_X^+ V_X</math> | ||
where <sup>+</sup> is the [[Wikipedia:Moore–Penrose inverse|pseudoinverse]], and V<sub> | where <sup>+</sup> is the [[Wikipedia:Moore–Penrose inverse|pseudoinverse]], and V<sub>X</sub> = VX is the weighted–skewed val list of the temperament. Removing the transformation, it is | ||
<math>\displaystyle P = | <math>\displaystyle P = XV_X^+ V_X X^+ = X(VX)^+V</math> | ||
== CEE tuning == | == CEE tuning == | ||
Let us start with CEE tuning (constrained equilateral-Euclidean tuning): | Let us start with CEE tuning (constrained equilateral-Euclidean tuning): the weight–skew transformation is represented by an identity matrix, which will be omitted below, and the constraint is the octave. | ||
Denote the constraint by M<sub>C</sub>. In the case of CEE, it is the octave: | Denote the constraint by M<sub>C</sub>. In the case of CEE, it is the octave: | ||
Line 76: | Line 76: | ||
== Otherwise normed tuning == | == Otherwise normed tuning == | ||
If there is a | If there is a weight–skew transformation X, such as CTWE tuning, the weight–skew should be applied to the map and the constraint first: | ||
<math>\displaystyle | <math>\displaystyle | ||
\begin{align} | \begin{align} | ||
V_X &= VX \\ | |||
(M_{\rm C}) | (M_{\rm C})_X &= X^+ M_{\rm C} | ||
\end{align} | \end{align} | ||
</math> | </math> | ||
Working from here, we find the weighted projection map (P<sub>C</sub>)<sub> | Working from here, we find the weighted projection map (P<sub>C</sub>)<sub>X</sub>: | ||
<math>\displaystyle | <math>\displaystyle | ||
(P_{\rm C}) | (P_{\rm C})_X = | ||
\begin{bmatrix} | \begin{bmatrix} | ||
V_X^+ V_X (M_{\rm C})_X & \begin{matrix} O \\ (V_X)_{\rm M}^+ (V_X)_{\rm M} \end{matrix} | |||
\end{bmatrix}^+ | \end{bmatrix}^+ | ||
</math> | </math> | ||
Line 96: | Line 96: | ||
To reconstruct the original projection map, apply | To reconstruct the original projection map, apply | ||
<math>\displaystyle P_{\rm C} = | <math>\displaystyle P_{\rm C} = X (P_{\rm C})_X X^+</math> | ||
== Nontrivially constrained tuning == | == Nontrivially constrained tuning == | ||
What if the constraint is something more complex, especially when it is not the first ''r'' elements of the subgroup basis? It turns out we can always transform the subgroup basis to encapsulate the constraint. Such a subgroup S is formed by the constraint and its orthonormal complement. | What if the constraint is something more complex, especially when it is not the first ''r'' elements of the subgroup basis? It turns out we can always transform the subgroup basis to encapsulate the constraint. Such a subgroup basis matrix S is formed by the constraint and its orthonormal complement. | ||
<math>\displaystyle S = [\begin{matrix} M_{\rm C} & M_{\rm C}^\perp \end{matrix}] </math> | <math>\displaystyle S = [\begin{matrix} M_{\rm C} & M_{\rm C}^\perp \end{matrix}] </math> | ||
Line 142: | Line 142: | ||
<math>\displaystyle P_{\rm C} = S (P_{\rm C})_S S^{-1}</math> | <math>\displaystyle P_{\rm C} = S (P_{\rm C})_S S^{-1}</math> | ||
Similarly, if there is a | Similarly, if there is a weight–skew transformation X, it should be applied to the map and the constraint first: | ||
<math>\displaystyle | <math>\displaystyle | ||
\begin{align} | \begin{align} | ||
V_X &= VX \\ | |||
(M_{\rm C}) | (M_{\rm C})_X &= X^+ M_{\rm C} | ||
\end{align} | \end{align} | ||
</math> | </math> | ||
Line 161: | Line 161: | ||
<math>\displaystyle | <math>\displaystyle | ||
\begin{align} | \begin{align} | ||
V_{ | V_{XS} &= VXS \\ | ||
(M_{\rm C})_{ | (M_{\rm C})_{XS} &= (XS)^+ M_{\rm C} | ||
\end{align} | \end{align} | ||
</math> | </math> | ||
Line 168: | Line 168: | ||
Proceed as before. The projection map found this way will be weight-skewed and in the working basis. To reconstruct the original projection map, apply | Proceed as before. The projection map found this way will be weight-skewed and in the working basis. To reconstruct the original projection map, apply | ||
<math>\displaystyle P_{\rm C} = | <math>\displaystyle P_{\rm C} = XS (P_{\rm C})_{XS} (XS)^+</math> | ||
== Example == | == Example == |