Douglas Blumeyer's RTT How-To: Difference between revisions
Cmloegcmluin (talk | contribs) m →summary diagrams and tables: section 7, it is |
Cmloegcmluin (talk | contribs) complement -> dual |
||
Line 1,278: | Line 1,278: | ||
# Just as a vector is the dual of a covector, we also have a '''multivector''' which is the dual of a multicovector. Analogously, we call the thing the multivector represents a '''multicomma'''. | # Just as a vector is the dual of a covector, we also have a '''multivector''' which is the dual of a multicovector. Analogously, we call the thing the multivector represents a '''multicomma'''. | ||
# We can calculate a multicomma from a comma basis much in the same way we can calculate a multimap from a map basis | # We can calculate a multicomma from a comma basis much in the same way we can calculate a multimap from a map basis | ||
# We can convert between multimaps and multicommas using an operation called “taking | # We can convert between multimaps and multicommas using an operation called “taking '''[[the dual]]'''”<ref>This operation uses the same process as is used for finding the complement in exterior algebra, however, whereas exterior algebra does not convert between vectors and covectors (it can be used on either one, staying within that category), with RTT's dual you switch which type it is as the last step.</ref><ref>You may also sometimes see "Hodge dual", or "Hodge star". This operation is not another name for the dual operation. It is a linear algebra operation which works as a limited substitute for the exterior algebra complement operation which RTT's dual is based on. The limitation is that it only works when the rank is 2. This is because when rank is 2, bi(co)vectors can be represented as skew-symmetric matrices (see: https://en.wikipedia.org/wiki/Bivector#Matrices), which gives you access to some extra linear algebra utilities such as this.</ref>, which basically involves reversing the order of terms and changing the signs of some of them. | ||
[[File:Algebra notation.png|300px|thumb|right|'''Figure 6a.''' RTT bracket notation comparison.]] | [[File:Algebra notation.png|300px|thumb|right|'''Figure 6a.''' RTT bracket notation comparison.]] | ||
To demonstrate these points, let’s first calculate the multicomma from a comma basis, and then confirm it by calculating the same multicomma as the | To demonstrate these points, let’s first calculate the multicomma from a comma basis, and then confirm it by calculating the same multicomma as the dual of its dual multimap. | ||
Here’s the comma basis for meantone: {{map|{{vector|-4 4 -1}}}}. Calculating the multicomma is almost the same as calculating the multimap. The only difference is that as a preliminary step you must transpose the matrix, or in other words, exchange rows and columns. In our bracket notation, that just looks like replacing {{map|{{vector|-4 4 -1}}}} with {{vector|{{map|-4 4 -1}}}}. Now we can see that this is just like our ET map example from the previous section: basically an identity operation, breaking the thing up into three 1×1 matrices <span><math>\begin{bmatrix}-4\end{bmatrix} \begin{bmatrix}4\end{bmatrix} \begin{bmatrix}-1\end{bmatrix}</math></span> which are their own determinants and then nesting back inside one layer of brackets because nullity is 1. So we have {{vector|-4 4 -1}}. | Here’s the comma basis for meantone: {{map|{{vector|-4 4 -1}}}}. Calculating the multicomma is almost the same as calculating the multimap. The only difference is that as a preliminary step you must transpose the matrix, or in other words, exchange rows and columns. In our bracket notation, that just looks like replacing {{map|{{vector|-4 4 -1}}}} with {{vector|{{map|-4 4 -1}}}}. Now we can see that this is just like our ET map example from the previous section: basically an identity operation, breaking the thing up into three 1×1 matrices <span><math>\begin{bmatrix}-4\end{bmatrix} \begin{bmatrix}4\end{bmatrix} \begin{bmatrix}-1\end{bmatrix}</math></span> which are their own determinants and then nesting back inside one layer of brackets because nullity is 1. So we have {{vector|-4 4 -1}}. | ||
If we want the canonical multicomma, extracting any GCD is necessary. But unlike with the canonical multimap, we can't necessarily assume the leading term's sign will be positive. Since the canonical state is defined in terms of the canonical multimap, if we want to know the signs of the canonical multicomma, we'll have to find the canonical multimap. We can either separately find the canonical multimap, then take its | If we want the canonical multicomma, extracting any GCD is necessary. But unlike with the canonical multimap, we can't necessarily assume the leading term's sign will be positive. Since the canonical state is defined in terms of the canonical multimap, if we want to know the signs of the canonical multicomma, we'll have to find the canonical multimap. We can either separately find the canonical multimap, then take its dual, and that'd be our canonical multicomma. Or, we can take the dual of the multicomma we've found here, and if that has a negative leading term, then we just need to change the signs on both the multimap and the multicomma so they remain each other's duals but | ||
the multimap's leading term is positive, thus canonicalizing them together. | the multimap's leading term is positive, thus canonicalizing them together. | ||
Now let’s see how to do the | Now let’s see how to do the dual operation. | ||
If your temperament's dimensionality <span><math>d</math></span> is 6 or less (within the 13-limit), you can take advantage of this table I've prepared, and use this simplified method: | If your temperament's dimensionality <span><math>d</math></span> is 6 or less (within the 13-limit), you can take advantage of this table I've prepared, and use this simplified method: | ||
Line 1,299: | Line 1,299: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ '''Table 6a.''' | |+ '''Table 6a.''' Dual sign-changing sequences by rank and dimensionality | ||
! colspan="2" rowspan="2" | | ! colspan="2" rowspan="2" | | ||
! colspan="7" |<span><math>d</math></span> | ! colspan="7" |<span><math>d</math></span> | ||
Line 1,431: | Line 1,431: | ||
If you need to do this process for a higher dimensionality than 6, then you'll need to understand how I found the symbols for each cell of Figure 6a. Here's how: | If you need to do this process for a higher dimensionality than 6, then you'll need to understand how I found the symbols for each cell of Figure 6a. Here's how: | ||
If you review the seven steps in the process for taking the | If you review the seven steps in the process for taking the dual, you may notice that a lot of it is busywork that will never change from one multimap to another. It all amounts to a specific sequence of 1’s and -1’s corresponding to a given rank and dimensionality. In consideration of this, I have gone ahead and prepared a table with the sequences you need to multiply the terms of your multimap by before reversing them: | ||
# Take the rank, halved, rounded up. In our case, <span><math>\lceil \frac{r}{2} \rceil = \lceil \frac{2}{2} \rceil = \lceil 1 \rceil = 1</math></span>. Save that result for later. Let’s call it <span><math>x</math></span>. | # Take the rank, halved, rounded up. In our case, <span><math>\lceil \frac{r}{2} \rceil = \lceil \frac{2}{2} \rceil = \lceil 1 \rceil = 1</math></span>. Save that result for later. Let’s call it <span><math>x</math></span>. |