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 the '''complement'''”<ref>Elsewhere on the wiki you may find the complement operation called "taking [[the dual]]", or even the dual of a multimap being called simply "the dual". In these materials, I am using the dual to refer to the general case, while the specific case of the dual of a multimap is a multicomma and the operation to get from one of these to its dual is called taking the complement (whereas to get to the dual of a map basis, which is a comma basis, the operation is called taking the null-space).</ref><ref>You may also sometimes see "Hodge dual" used where you'd expect to see the complement operation. The Hodge star operation, or Hodge dual operation, is not another name for the complement operation. It is a linear algebra operation which works as a limited substitute for the exterior algebra operation. The limitation is that it only works when the rank is 2. This is because when rank is 2, bicovectors 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 Hodge star.</ref>, which basically involves reversing the order of terms and changing the signs of some of them.
# 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 complement of its dual multimap.
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 complement, and that'd be our canonical multicomma. Or, we can take the complement 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  
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 complement operation.
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.''' Complement sign-changing sequences by rank and dimensionality
|+ '''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 complement, 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:
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>.