Constrained tuning/Analytical solution to constrained Euclidean tunings: Difference between revisions

BudjarnLambeth (talk | contribs)
m Categorised this uncategorised page
CEE tuning: I don't think these are ever gonna be solved, so I'm gonna discuss them as plain observations
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Breadcrumb}}
This article gives an analytical form of Euclidean-normed [[constrained tuning]]s.  
This article gives an analytical form of Euclidean-normed [[constrained tuning]]s.  


Line 4: Line 5:
The [[projection map]] is useful in a lot of ways. We will work extensively with the projection map in the course of solving constrained tunings.  
The [[projection map]] is useful in a lot of ways. We will work extensively with the projection map in the course of solving constrained tunings.  


First, it manifests itself as a form of [[tuning map]]. Its columns represent tunings of [[formal prime]]s in terms of [[monzo]]s. The tuning map in the logarithmic scale can be obtained by multiplying the projection map by the [[JIP]] on the left.  
First, it manifests itself as a form of [[tuning map]]. Its columns represent tunings of [[formal prime]]s in terms of [[monzo]]s. The tempered tuning map in the logarithmic scale can be obtained by multiplying the projection map by the [[just tuning map]] on the left.  


<math>\displaystyle T = JP</math>
<math>\displaystyle T = JP</math>


where T is the tuning map, J the JIP, and P the projection map.  
where ''T'' is the tempered tuning map, ''J'' the just tuning map, and ''P'' the projection map.  


The projection map multipled by a [[Temperament mapping matrices|temperament map]] on the left yields its [[Tmonzos and tvals|tempered monzos]]. In particular, if V is the temperament map of P, then
The projection map multipled by a [[temperament mapping matrix]] on the left yields its [[tempered monzos and vals|tempered monzos]]. In particular, if ''V'' is the temperament mapping matrix of ''P'', then


<math>\displaystyle VP = V</math>
<math>\displaystyle VP = V</math>


Second, the projection map multipled by a monzo list on the right yields the tunings of the list in terms of monzos. In particular, if M is the [[comma list]] of P, then
Second, the projection map multipled by a monzo list on the right yields the tunings of the list in terms of monzos. In particular, if ''M'' is the [[comma list]] of ''P'', then


<math>\displaystyle PM = O</math>
<math>\displaystyle PM = O</math>


For any Euclidean aka ''L''<sup>2</sup> tuning without constraints, the weight-skewed projection map is
The [[Frobenius tuning|Frobenius projection map]] can be used to characterize a temperament. If ''V'' is the temperament mapping matrix, then its Frobenius projection map ''P''<sub>F</sub> is


<math>\displaystyle P_{WX} = V_{WX}^+ V_{WX}</math>
<math>\displaystyle P_{\rm F} = V^+ V</math>


where <sup>+</sup> is the [[Wikipedia:Moore–Penrose inverse|pseudoinverse]], and V<sub>WX</sub> = VWX is the weight-skewed val list of the temperament. Removing the transformation, it is
We can generalize that to any other Euclidean a.k.a. ''L''<sup>2</sup> tuning without constraints, so that the weight–skew transformed projection map ''P''<sub>''X''</sub> is


<math>\displaystyle P = WXV_{WX}^+ V_{WX}(WX)^+ = WX(VWX)^+V</math>
<math>\displaystyle P_X = V_X^+ V_X</math>
 
where <sup>+</sup> is the [[pseudoinverse]], and ''V''<sub>''X''</sub> = ''VX'' is the weight–skew transformed val list of the temperament. Removing the transformation, it is
 
<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): both weight and skew are identity matrices, which will be omitted below, and the constraint is the octave.  
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>''I''</sub>. In the case of CEE, it is the octave:  


<math>\displaystyle M_{\rm C} = [ \begin{matrix} 1 & 0 & \ldots & 0 \end{matrix} \rangle</math>
<math>\displaystyle M_I = [ \begin{matrix} 1 & 0 & \ldots & 0 \end{matrix} \rangle</math>


but it works as long as it is the first ''r'' elements of the [[Subgroup basis matrices|subgroup basis]].  
The following observations work as long as the constraint is the first ''r'' elements of the [[subgroup basis matrix|subgroup basis]].  


We will denote the projection map by P. The goal is to work out the constrained projection map P<sub>C</sub>, which also satisfies
We will denote the Frobenius projection map by ''P''<sub>F</sub>. The goal is to work out the constrained projection map ''P''<sub>C</sub>, which, like ''P''<sub>F</sub>, also satisfies


<math>\displaystyle  
<math>\displaystyle
VP_{\rm C} = V \\
\begin{align}
P_{\rm C}M = O
VP_{\rm C} &= V \\
P_{\rm C}M &= O
\end{align}
</math>
</math>


in addition to
in addition to


<math>\displaystyle P_{\rm C} M_{\rm C} = M_{\rm C}</math>
<math>\displaystyle P_{\rm C} M_I = M_I</math>
 
For an arbitrary projection map ''P'' of the same temperament, notice
 
<math>\displaystyle P_{\rm F} = P^+ P</math>


Since P is characteristic of the temperament and is independent of the specific tuning, notice
so if we substitute ''P''<sub>C</sub> for ''P'', we have


<math>\displaystyle P = P_{\rm C}^+P_{\rm C}</math>
<math>\displaystyle P_{\rm F} = P_{\rm C}^+P_{\rm C}</math>


That makes the pseudoinverse of P<sub>C</sub> easier to work with than P<sub>C</sub> itself, as
and


<math>\displaystyle  
<math>\displaystyle  
P_{\rm C}^+ M_{\rm C}
P_{\rm C}^+ M_I
= P_{\rm C}^+P_{\rm C} M_{\rm C}
= P_{\rm C}^+P_{\rm C} M_I
= P M_{\rm C}
= P_{\rm F} M_I
</math>
</math>


Both P<sub>C</sub><sup>+</sup>M<sub>C</sub> and PM<sub>C</sub> are the same slice of the first ''r'' columns of P.
Since ''PM''<sub>''I''</sub> is the tuning of ''M''<sub>''I''</sub> in terms of monzos, which is just the slice of the first ''r'' columns of ''P'' in this case, it follows that {{subsup|''P''|C|+}} and ''P''<sub>F</sub> share the first ''r'' columns.


With the first ''r'' rows and columns removed, the remaining part in the mapping will be dubbed the minor matrix, denoted V<sub>M</sub>. The minor matrix of the projection map
With the first ''r'' rows and columns removed, the remaining part in the mapping is another invariant of the temperament, which will be dubbed the minor matrix, denoted ''V''<sub>M</sub>. We observe that the minor matrix of the projection map


<math>\displaystyle P_{\rm M} = V_{\rm M}^+ V_{\rm M} </math>
<math>\displaystyle P_{\rm M} = V_{\rm M}^+ V_{\rm M} </math>


forms an orthogonal projection map filling the bottom-right section of P<sub>C</sub><sup>+</sup>.  
forms an orthogonal projection map filling the bottom-right section of ''P''<sub>C</sub><sup>+</sup>, and the top-right section comprises only zeros.  


In general, if M<sub>C</sub> is the first ''r'' elements of the subgroup basis, then P<sub>C</sub> is of the form
Therefore, in general, if ''M''<sub>''I''</sub> is the first ''r'' elements of the subgroup basis, then ''P''<sub>C</sub> is of the form


<math>\displaystyle  
<math>\displaystyle  
P_{\rm C} =  
P_{\rm C} =  
\begin{bmatrix}  
\begin{bmatrix}  
V^+VM_{\rm C} & \begin{matrix} O \\ V_{\rm M}^+V_{\rm M} \end{matrix}
V^+VM_I & \begin{matrix} O \\ V_{\rm M}^+V_{\rm M} \end{matrix}
\end{bmatrix}^+
\end{bmatrix}^+
</math>
</math>


== Otherwise normed tuning ==
== Otherwise normed tuning ==
If there is a weight W and/or a skew X, such as CTWE tuning, the weight-skew should be applied to the map and the constraint first:  
If there is a weight–skew transformation ''X'', such as CTWE tuning, the transformation should be applied to the map and the constraint first:  


<math>\displaystyle  
<math>\displaystyle  
\begin{align}
\begin{align}
V_{WX} &= VWX \\
V_X &= VX \\
(M_{\rm C})_{WX} &= (WX)^+ M_{\rm C}
(M_I)_X &= X^+ M_I
\end{align}
\end{align}
</math>
</math>


Working from here, we find the weighted projection map (P<sub>C</sub>)<sub>WX</sub>:  
Working from here, we find the weight–skew transformed projection map (''P''<sub>C</sub>)<sub>''X''</sub>:  


<math>\displaystyle  
<math>\displaystyle  
(P_{\rm C})_{WX} =  
(P_{\rm C})_X =  
\begin{bmatrix}  
\begin{bmatrix}  
V_{WX}^+ V_{WX} (M_{\rm C})_{WX} & \begin{matrix} O \\ (V_{WX})_{\rm M}^+ (V_{WX})_{\rm M} \end{matrix}
V_X^+ V_X (M_I)_X & \begin{matrix} O \\ (V_X)_{\rm M}^+ (V_X)_{\rm M} \end{matrix}
\end{bmatrix}^+
\end{bmatrix}^+
</math>
</math>
Line 96: Line 107:
To reconstruct the original projection map, apply
To reconstruct the original projection map, apply


<math>\displaystyle P_{\rm C} = WX (P_{\rm C})_{WX} (WX)^+</math>
<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_I & M_I^\perp \end{matrix}] </math>


For example, if the temperament is in the subgroup basis of 2.3.5.7, and if the constraint is 2.5/3, then
For example, if the temperament is in the subgroup basis of 2.3.5.7, and if the constraint is 2.5/3, then


<math>\displaystyle  
<math>\displaystyle  
M_{\rm C} =  
M_I =  
\begin{bmatrix}
\begin{bmatrix}
1 & 0 \\
1 & 0 \\
Line 113: Line 124:
0 & 0
0 & 0
\end{bmatrix},  
\end{bmatrix},  
M_{\rm C}^\perp =  
M_I^\perp =  
\begin{bmatrix}
\begin{bmatrix}
0 & 0 \\
0 & 0 \\
Line 129: Line 140:
</math>
</math>


We should apply this S to the map and the constraint to convert them into the working basis:  
We should apply this ''S'' to the map and the constraint to convert them into the working basis:  


<math>\displaystyle  
<math>\displaystyle  
\begin{align}
\begin{align}
V_S &= VS \\
V_S &= VS \\
(M_{\rm C})_S &= S^{-1}M_{\rm C}
(M_I)_S &= S^{-1}M_I
\end{align}
\end{align}
</math>
</math>
Line 142: Line 153:
<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 weight W and/or a skew X, it should be applied to the map and the constraint first:  
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_{WX} &= VWX \\
V_X &= VX \\
(M_{\rm C})_{WX} &= (WX)^+ M_{\rm C}
(M_I)_X &= X^+ M_I
\end{align}
\end{align}
</math>
</math>


and then the basis transformation matrix should be found out in this weight-skewed space:  
and then the basis transformation matrix should be found out in this weight–skew transformed space:  


<math>\displaystyle  
<math>\displaystyle  
S = [\begin{matrix} M_{\rm C} & M_{\rm C}^\perp \end{matrix}]
S = [\begin{matrix} M_I & M_I^\perp \end{matrix}]
</math>
</math>


We should apply this S to the weight-skewed map and the weight-skewed constraint to convert them into the working basis:  
We should apply this ''S'' to the weight–skew transformed map and the weight–skew transformed constraint to convert them into the working basis:  


<math>\displaystyle  
<math>\displaystyle  
\begin{align}
\begin{align}
V_{WXS} &= VWXS \\
V_{XS} &= VXS \\
(M_{\rm C})_{WXS} &= (WXS)^+ M_{\rm C}
(M_I)_{XS} &= (XS)^+ M_I
\end{align}
\end{align}
</math>
</math>


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–skew transformed and in the working basis. To reconstruct the original projection map, apply


<math>\displaystyle P_{\rm C} = WXS (P_{\rm C})_{WXS} (WXS)^+</math>
<math>\displaystyle P_{\rm C} = XS (P_{\rm C})_{XS} (XS)^+</math>


== Example ==
== Example ==
Line 216: Line 227:
</math>
</math>


In fact,
The pseudoinverse of the CEE projection map can be composed as


<math>\displaystyle  
<math>\displaystyle  
Line 240: Line 251:
</math>
</math>


The tuning map T<sub>C</sub> is
The tuning map ''T''<sub>C</sub> is


<math>\displaystyle  
<math>\displaystyle  
Line 249: Line 260:
</math>
</math>


[[category:Math]]
== Notes ==
<references group="note"/>
 
[[Category:Math]]
[[Category:Pages with open problems]]