Douglas Blumeyer's RTT How-To: Difference between revisions
Cmloegcmluin (talk | contribs) →summary diagrams and tables: update caption to correspond with new image |
Cmloegcmluin (talk | contribs) Gaussian elimination → Gauss-Jordan elimination |
||
Line 469: | Line 469: | ||
This was a bit tricky for me to get my head around, so let me hammer this point home: when you say "the null-space", you're referring to ''the entire infinite set of all commas that a mapping tempers out'', ''not only'' the two commas you see in any given basis for it. Think of the comma basis as one of many valid sets of instructions to find every possible comma, by adding or subtracting these two commas from each other<ref>To be clear, because what you are adding and subtracting in interval vectors are exponents (as you know), the commas are actually being multiplied by each other; e.g. {{vector|-4 4 -1}} + {{vector|10 1 -5}} = {{vector|6 5 -6}}, which is the same thing as <span><math>\frac{81}{80} × \frac{3072}{3125} = \frac{15552}{15625}</math></span></ref>. The math term for adding and subtracting vectors like this, which you will certainly see plenty of as you explore RTT, is "linear combination". It should be visually clear from the PTS diagram that this 19-ET comma basis couldn't be listing every single comma 19-ET tempers out, because we can see there are at least four temperament lines that pass through it (there are actually infinity of them!). But so it turns out that picking two commas is perfectly enough; every other comma that 19-ET tempers out could be expressed in terms of these two! | This was a bit tricky for me to get my head around, so let me hammer this point home: when you say "the null-space", you're referring to ''the entire infinite set of all commas that a mapping tempers out'', ''not only'' the two commas you see in any given basis for it. Think of the comma basis as one of many valid sets of instructions to find every possible comma, by adding or subtracting these two commas from each other<ref>To be clear, because what you are adding and subtracting in interval vectors are exponents (as you know), the commas are actually being multiplied by each other; e.g. {{vector|-4 4 -1}} + {{vector|10 1 -5}} = {{vector|6 5 -6}}, which is the same thing as <span><math>\frac{81}{80} × \frac{3072}{3125} = \frac{15552}{15625}</math></span></ref>. The math term for adding and subtracting vectors like this, which you will certainly see plenty of as you explore RTT, is "linear combination". It should be visually clear from the PTS diagram that this 19-ET comma basis couldn't be listing every single comma 19-ET tempers out, because we can see there are at least four temperament lines that pass through it (there are actually infinity of them!). But so it turns out that picking two commas is perfectly enough; every other comma that 19-ET tempers out could be expressed in terms of these two! | ||
Try one. How about the hanson comma, {{vector|6 5 -6}}. Well that one’s too easy! Clearly if you go down by one magic comma to {{vector|10 1 -5}} and then up by one meantone comma you get one hanson comma. What you’re doing when you’re adding and subtracting multiples of commas from each other like this is technically called “[https://en.wikipedia.org/ | Try one. How about the hanson comma, {{vector|6 5 -6}}. Well that one’s too easy! Clearly if you go down by one magic comma to {{vector|10 1 -5}} and then up by one meantone comma you get one hanson comma. What you’re doing when you’re adding and subtracting multiples of commas from each other like this is technically called “[https://en.wikipedia.org/?title=Gauss-Jordan_elimination Gauss-Jordan elimination]”. Feel free to work through any other examples yourself. | ||
A good way to explain why we don’t need three of these commas is that if you had three of them, you could use any two of them to create the third, and then subtract the result from the third, turning that comma into a zero vector, or a vector with only zeroes, which is pretty useless, so we could just discard it. | A good way to explain why we don’t need three of these commas is that if you had three of them, you could use any two of them to create the third, and then subtract the result from the third, turning that comma into a zero vector, or a vector with only zeroes, which is pretty useless, so we could just discard it. | ||
Line 535: | Line 535: | ||
</math> | </math> | ||
Now, do | Now, do Gauss-Jordan elimination on columns until you can get one of the columns in the top half to be all zeroes: | ||
<math> | <math> | ||
Line 609: | Line 609: | ||
And ta-da! You’ve found a mapping-row basis from a comma basis, and it is {{vector|{{map|19 30 44}}}}. In other words, you've found a mapping-row basis which is a row-basis for the mapping row-space of the same temperament for which the comma basis we started with is a basis for the null-space. Feel free to try this with any other combination of two commas tempered out by this mapping-row. | And ta-da! You’ve found a mapping-row basis from a comma basis, and it is {{vector|{{map|19 30 44}}}}. In other words, you've found a mapping-row basis which is a row-basis for the mapping row-space of the same temperament for which the comma basis we started with is a basis for the null-space. Feel free to try this with any other combination of two commas tempered out by this mapping-row. | ||
So why why did we need to do those extra reversals at the beginning and end? Besides, I never said we ''must'' find get the zeroes in the top half on the top right of the augmented matrix when doing column | So why why did we need to do those extra reversals at the beginning and end? Besides, I never said we ''must'' find get the zeroes in the top half on the top right of the augmented matrix when doing column Gauss-Jordan elimination, so wasn't rearranging the columns pointless? Well, the reason I told you to do it was because if you're going to adapt this process to a math program like Wolfram Alpha or perhaps even general computer code, you ''will'' need that step, because the way the null-space algorithm is implemented, it ''will'' try to get those zeroes on the right. So I understand this is a bit of a hand-wavy answer, and perhaps one day someone else can edit this with harder facts. But based on observation, if you do not do the reversing, you end up with an incorrect answer, and in particular, it has got zeroes on the wrong side of the matrix than you would expect. | ||
Unfortunately, to the best of my Wolfram Alpha ability, I'm unable to make the entire process work in one go with Wolfram Alpha. Here is just the part where you take the null-space of the already v-flipped and transposed comma basis: | Unfortunately, to the best of my Wolfram Alpha ability, I'm unable to make the entire process work in one go with Wolfram Alpha. Here is just the part where you take the null-space of the already v-flipped and transposed comma basis: | ||
Line 829: | Line 829: | ||
And there’s our {{map|{{vector|4 -4 1}}}}. Feel free to try reversing the operation by working out the mapping-row basis from this if you like. And/or you could try working out that {{map|{{vector|4 -4 1}}}} is a basis for the null-space of any other combination of ETs we found that could specify meantone, such as 7&12, or 12&19. | And there’s our {{map|{{vector|4 -4 1}}}}. Feel free to try reversing the operation by working out the mapping-row basis from this if you like. And/or you could try working out that {{map|{{vector|4 -4 1}}}} is a basis for the null-space of any other combination of ETs we found that could specify meantone, such as 7&12, or 12&19. | ||
It’s worth noting that, just as 2 commas were exactly enough to define a rank-1 temperament, though there were an infinitude of equivalent pairs of commas we could choose to fill that role, there’s a similar thing happening here, where 2 maps are exactly enough to define a rank-2 temperament, but an infinitude of equivalent pairs of them. We can even see that we can convert between these maps using | It’s worth noting that, just as 2 commas were exactly enough to define a rank-1 temperament, though there were an infinitude of equivalent pairs of commas we could choose to fill that role, there’s a similar thing happening here, where 2 maps are exactly enough to define a rank-2 temperament, but an infinitude of equivalent pairs of them. We can even see that we can convert between these maps using Gauss-Jordan addition and subtraction, just like we could manipulate commas to get from one to the other. For example, the map for 12-ET {{map|12 19 28}} is exactly what you get from summing the terms of 5-ET {{map|5 8 12}} and 7-ET {{map|7 11 16}}: {{map|5+7 8+11 12+16}} = {{map|12 19 28}}. Cool! | ||
Probably the biggest thing you’re in suspense about now, though, is: how the heck is | Probably the biggest thing you’re in suspense about now, though, is: how the heck is | ||
Line 887: | Line 887: | ||
The critical thing here is that if {{vector|-4 4 -1}} is mapped to 0 steps by {{map|5 8 12}} individually and to 0 steps by {{map|7 11 16}} individually, then in total it comes out to 0 steps in the temperament, and thus is tempered out, or has vector {{vector|0 0}}. | The critical thing here is that if {{vector|-4 4 -1}} is mapped to 0 steps by {{map|5 8 12}} individually and to 0 steps by {{map|7 11 16}} individually, then in total it comes out to 0 steps in the temperament, and thus is tempered out, or has vector {{vector|0 0}}. | ||
Previously we mentioned that any given rank-2 temperaments can be generated by a wide variety of combinations of intervals. In other words, the absolute size of the intervals is not the important part, in terms of their potential for generating the temperament; only their relative size matters. However, for us humans, it’s much easier to make sense of these things if we get them in a good old standard form, by locking one generator to the octave to establish a common basis for comparison, and the other generator to a size less than half of the octave (because anything past the halfway point and it would be the octave-complement of a smaller and therefore in some sense simpler interval). And there’s a way to find this form by transforming our matrix. In fact, it also uses | Previously we mentioned that any given rank-2 temperaments can be generated by a wide variety of combinations of intervals. In other words, the absolute size of the intervals is not the important part, in terms of their potential for generating the temperament; only their relative size matters. However, for us humans, it’s much easier to make sense of these things if we get them in a good old standard form, by locking one generator to the octave to establish a common basis for comparison, and the other generator to a size less than half of the octave (because anything past the halfway point and it would be the octave-complement of a smaller and therefore in some sense simpler interval). And there’s a way to find this form by transforming our matrix. In fact, it also uses Gauss-Jordan elimination, though in this case, we do it by columns. Our target this time is a bit harder to explain ahead of time, so this first time through, just watch, and we’ll review the result. | ||
<math> | <math> | ||
Line 965: | Line 965: | ||
</math> | </math> | ||
I won’t work through this by hand, but if you’re feeling excitable, you can do | I won’t work through this by hand, but if you’re feeling excitable, you can do Gauss-Jordan elimination on this thing by hand. What you can achieve is this: | ||
<math> | <math> |