Projection: Difference between revisions
Cmloegcmluin (talk | contribs) |
Cmloegcmluin (talk | contribs) |
||
| Line 1,070: | Line 1,070: | ||
===The generator embedding=== | ===The generator embedding=== | ||
To obtain (some form of) a generator embedding for a projection, find the unchanged-interval basis per the above, and then use <math>G = \textrm{U}(M\textrm{U})^{-1}</math>. For | To obtain (some form of) a generator embedding for a projection, find the unchanged-interval basis per the above, and then use <math>G = \textrm{U}(M\textrm{U})^{-1}</math>. Let's unpack why this is so. | ||
If the projection matrix is <math>P</math>, and a matrix whose columns are prime-count vectors representing the unchanged-intervals of a tuning is <math>\mathrm{U}</math>, then by this definition of unrotated (only-scaled) vectors: | |||
<math> | |||
P\mathrm{U} = λ\mathrm{U} | |||
</math> | |||
Again, this is because the intervals in <math>\mathrm{U}</math> are merely scaled, so we can represent their change with something simpler than a matrix like <math>P</math>, namely, a mere scalar like <math>λ</math>. | |||
Furthermore, if <math>λ = 1</math>, then we have: | |||
<math> | |||
P\mathrm{U} = (1)\mathrm{U} | |||
</math> | |||
Or even more simply: | |||
<math> | |||
P\mathrm{U} = \mathrm{U} | |||
</math> | |||
Again, this shows how the projection matrix maps — or more specifically, we can say it ''projects'' — the interval onto itself, or in other words, that it is unchanged by the tuning. | |||
Because we know what <math>\mathrm{U}</math> is — we've specifically decided which intervals we wish to be unchanged here — we could solve for <math>P</math> now. But we don't actually care about <math>P</math> directly; what we want to find are the generators. | |||
Fortunately, <math>P</math> is defined ''in terms of'' our desired generators, specifically our generator embedding <math>G</math>, as well as our mapping, <math>M</math>. The formula is this: | |||
<math> | |||
P = GM | |||
</math> | |||
So we can substitute <math>GM</math> in for <math>P</math>, and our equation will now be: | |||
<math> | |||
(GM)\mathrm{U} = \mathrm{U} | |||
</math> | |||
Since we're solving for our generators <math>G</math>, we right multiply both sides by the inverse of <math>M\mathrm{U}</math>, in order to cancel out the <math>M\mathrm{U}</math> on the left-hand side, and thereby isolate <math>G</math>: | |||
<math> | |||
GM\mathrm{U}(M\mathrm{U})^{-1} = \mathrm{U}(M\mathrm{U})^{-1} \\ | |||
G\cancel{M\mathrm{U}}\cancel{(M\mathrm{U})^{-1}} = \mathrm{U}(M\mathrm{U})^{-1} \\ | |||
G = \mathrm{U}(M\mathrm{U})^{-1} | |||
</math> | |||
For a simpler take on this idea which doesn't involve the projection matrix, see [[Dave Keenan & Douglas Blumeyer's guide to RTT: tuning computation#Solving for the generators]]. | |||
===The unrotated vectors and scaling factors=== | ===The unrotated vectors and scaling factors=== | ||