Douglas Blumeyer's RTT How-To: Difference between revisions
Cmloegcmluin (talk | contribs) fix section capitalization |
Cmloegcmluin (talk | contribs) unhyphenate "comma basis" |
||
Line 451: | Line 451: | ||
=== Mapping-row-bases and comma | === Mapping-row-bases and comma bases === | ||
19-ET. Its map is {{map|19 30 44}}. We also now know that we could call it “meantone|magic”, because we find it at the meeting of the meantone and magic temperament lines. But how would we mathematically, non-visually make this connection? | 19-ET. Its map is {{map|19 30 44}}. We also now know that we could call it “meantone|magic”, because we find it at the meeting of the meantone and magic temperament lines. But how would we mathematically, non-visually make this connection? | ||
Line 467: | Line 467: | ||
</math> | </math> | ||
We call such a matrix a '''[[comma | We call such a matrix a '''[[comma basis]]'''. The plural of “basis” is “bases”, but pronounced like BAY-sees (/ˈbeɪ siz/). | ||
Now how in the world could that matrix represent the same temperament as {{map|19 30 44}}? Well, they’re two different ways of describing it. {{map|19 30 44}}, as we know, tells us how many generator steps it takes to reach each prime approximation. This matrix, it turns out, is an equivalent way of stating the same information. This matrix is a minimal representation of the null-space of that mapping, or in other words, of all the commas it tempers out. (Don't worry about the word "mapping" just yet; for now, just imagine I'm writing "map". We'll explain the difference very soon.). | Now how in the world could that matrix represent the same temperament as {{map|19 30 44}}? Well, they’re two different ways of describing it. {{map|19 30 44}}, as we know, tells us how many generator steps it takes to reach each prime approximation. This matrix, it turns out, is an equivalent way of stating the same information. This matrix is a minimal representation of the null-space of that mapping, or in other words, of all the commas it tempers out. (Don't worry about the word "mapping" just yet; for now, just imagine I'm writing "map". We'll explain the difference very soon.). | ||
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 | 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 (integer multiples of) 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 <math>\frac{81}{80} × \frac{3072}{3125} = \frac{15552}{15625}</math></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 are technically called [https://en.wikipedia.org/wiki/Elementary_matrix|elementary column operations]. Feel free to work through any other examples yourself. | 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 are technically called [https://en.wikipedia.org/wiki/Elementary_matrix|elementary column operations]. Feel free to work through any other examples yourself. | ||
Line 483: | Line 483: | ||
[[File:Different nestings.png|400px|thumb|left|'''Figure 5a.''' How to write matrices in terms of either columns/vectors/commas or rows/covectors/maps.]] | [[File:Different nestings.png|400px|thumb|left|'''Figure 5a.''' How to write matrices in terms of either columns/vectors/commas or rows/covectors/maps.]] | ||
We can extend our angle bracket notation (technically called [https://en.wikipedia.org/wiki/Bra%E2%80%93ket_notation bra-ket notation, or Dirac notation]<ref>Bra-ket notation comes to RTT from quantum mechanics, not algebra.</ref>) to handle matrices by nesting rows inside columns, or columns inside rows ''(see Figure 5a)''. For example, we could have written our comma | We can extend our angle bracket notation (technically called [https://en.wikipedia.org/wiki/Bra%E2%80%93ket_notation bra-ket notation, or Dirac notation]<ref>Bra-ket notation comes to RTT from quantum mechanics, not algebra.</ref>) to handle matrices by nesting rows inside columns, or columns inside rows ''(see Figure 5a)''. For example, we could have written our comma basis like this: {{bra|{{vector|-4 4 -1}} {{vector|-10 -1 5}}}}. Starting from the outside, the {{map|}} tells us to think in terms of a row. It's just that this row isn't a row of numbers, like the ones we've gotten used to by now, but rather a row of ''columns of'' numbers. So this row houses two such columns. Alternatively, we could have written this same matrix like {{ket|{{map|-4 -10}} {{map|4 -1}} {{map|-1 5}}}}, but that would obscure the fact that it is the combination of two familiar commas (but that notation ''would'' be useful for expressing a matrix built out of multiple maps, as we will soon see). | ||
Sometimes a comma | Sometimes a comma basis may have only a single comma. That’s okay. A single vector can become a matrix. To disambiguate this situation, you could put the vector inside row brackets, like this: {{bra|{{vector|-4 4 -1}}}}. Similarly, a single covector can become a matrix, by nesting inside column brackets, like this: {{ket|{{map|19 30 44}}}}. | ||
If a comma | If a comma basis is the name for the matrix made out of commas, then we could say a “'''mapping'''” is the name for the matrix made out of maps<ref>The following notes are adapted from research by Dave Keeanan:<br><br>While it is true that, in mathematics generally, ''mapping'' and ''map'', when used as nouns, are synonyms, and both are synonymous with ''function''. But there is very little difference between an individual row of a mapping, and a mapping with only one row. So if we were to agree that, in RTT, only an individual row should be called a ''map'', and someone new to the field assumes that a map is the same as a mapping, then there are almost no consequences of that temporary confusion, if it can even be called confusion. For 12edo, its 5-limit ''map'' is ⟨12 19 28], and its 5-limit ''mapping'' is [⟨12 19 28]⟩. The mnemonic is simple: The shorter term applies to the smaller object. The difference rarely matters to anyone.<br><br>Dave Keenan is one of the founders of regular temperament theory along with Paul Erlich, Graham Breed, Gene Smith and others, since 1998. In online discussions of regular temperaments, and in our writings, all four of them have referred to any array of numbers whose units are "generators per prime", as a mapping, ever since we first referred to them as anything at all, which seems to have been in early 2001. Only rarely has this been shortened to "map" — typically only as a heading in tables of temperament data generated by Gene Ward Smith. But even Gene is on record as defining a "prime mapping" as a "list of vals", here: http://www.tonalsoft.com/enc/p/prime-mapping.aspx Evidence of this history of usage of map and mapping can be found in the [[YahooTuningListArchival|Yahoo tuning groups archive]].<br><br>Most of the temperament data in the Xen Wiki was generated by Gene, so it is not surprising if it contained "map" as an abbreviation of "mapping".<br><br>In the Xen Wiki and Graham Breed's temperament finder and the tuning archives, the term "map" (and not "mapping") already consistently refers to an individual row of the form {{map|...}}. This is in the case of a "[[tuning map]]", which maps from generators to cents. This is a map in "tuning space". By analogy, a row of a mapping is therefore a map in "temperament space", and so it would be perfectly consistent with existing terminology, to refer to a mapping-row or one-row mapping as a "temperament map" as opposed to a temperament mapping. So an unqualified "map" should be assumed to be a temperament map, not a tuning map. Or at least that when it is clear from the context that it is a temperament map, the qualifier "temperament" can be dropped.</ref>. Why isn't this one a "basis", you ask? Well, it can be thought of as a basis too. It depends on the context. When you use the word "mapping" for it, you're treating it like a function, or a machine: it takes in intervals, and spits out new forms of intervals. That's how we've been using it here. But in other places, you may be thinking of this matrix as a basis for the infinite space of possible maps that could be combined to produce a matrix which works the same way as a given mapping, i.e. it tempers out the same commas. In these contexts, it might make more sense to call such a mapping matrix a "mapping-row-basis". | ||
And now you wonder why it's not just "map basis". Well, that's answerable too. It's because "map" is the analogous term to an "interval", but we're looking for the analogous term to a "comma". A comma is an interval which is tempered out. So we need a word that means a map which tempers out, and that term is "mapping-row". | And now you wonder why it's not just "map basis". Well, that's answerable too. It's because "map" is the analogous term to an "interval", but we're looking for the analogous term to a "comma". A comma is an interval which is tempered out. So we need a word that means a map which tempers out, and that term is "mapping-row". | ||
So, yes, that's right: maps are similar to commas insofar as — once you have more than one of them in your matrix — the possibilities for individual members immediately go infinite. Technically speaking, though, while a comma | So, yes, that's right: maps are similar to commas insofar as — once you have more than one of them in your matrix — the possibilities for individual members immediately go infinite. Technically speaking, though, while a comma basis is a basis of the null-space of the mapping, a mapping-row-basis is a ''row''-basis of the ''row''-space of the mapping. | ||
One last note back on the bracket notation before we proceed: you will regularly see matrices across the wiki that use only square brackets on the outside, e.g. [{{map|5 8 12}} {{map|7 11 16}}] or [{{vector|-4 4 -1}} {{vector|-10 -1 5}}]. That's fine because it's unambiguous; if you have a list of rows, it's fairly obvious you've arranged them vertically, and if you've got a list of columns, it's fairly obvious you've arranged them horizontally. I personally prefer the style of using angle brackets at both levels — for slightly more effort, it raises slightly less questions — but using only square brackets on the outside should not be said to be wrong<ref>Besides, in most contexts the null-space of a linear mapping is thought of as a list of vectors, rather than a matrix, but it’s generally more helpful for us here to think of it smooshed together as a matrix.</ref>. | One last note back on the bracket notation before we proceed: you will regularly see matrices across the wiki that use only square brackets on the outside, e.g. [{{map|5 8 12}} {{map|7 11 16}}] or [{{vector|-4 4 -1}} {{vector|-10 -1 5}}]. That's fine because it's unambiguous; if you have a list of rows, it's fairly obvious you've arranged them vertically, and if you've got a list of columns, it's fairly obvious you've arranged them horizontally. I personally prefer the style of using angle brackets at both levels — for slightly more effort, it raises slightly less questions — but using only square brackets on the outside should not be said to be wrong<ref>Besides, in most contexts the null-space of a linear mapping is thought of as a list of vectors, rather than a matrix, but it’s generally more helpful for us here to think of it smooshed together as a matrix.</ref>. | ||
Line 499: | Line 499: | ||
There’s nothing special about the pairing of meantone and magic. We could have chosen meantone|hanson, or magic|negri, etc. A matrix formed out of the meet of any two of these particular commas will capture the same exact null-space of {{ket|{{map|19 30 44}}}}. | There’s nothing special about the pairing of meantone and magic. We could have chosen meantone|hanson, or magic|negri, etc. A matrix formed out of the meet of any two of these particular commas will capture the same exact null-space of {{ket|{{map|19 30 44}}}}. | ||
We already have the tools to check that each of these commas’ vectors is tempered out individually by the mapping-row {{map|19 30 44}}; we learned this bit in the very first section: all we have to do is make sure that the comma maps to zero steps in this ET. But that's not a special relationship between 19-ET and any of these commas ''individually''; each of these commas are tempered out by many different ETs, not just 19-ET. The special relationship 19-ET has is to a null-space which can be expressed in basis form as the meet of ''two'' commas (at least in the 5-limit; more on this later). In this way, the comma | We already have the tools to check that each of these commas’ vectors is tempered out individually by the mapping-row {{map|19 30 44}}; we learned this bit in the very first section: all we have to do is make sure that the comma maps to zero steps in this ET. But that's not a special relationship between 19-ET and any of these commas ''individually''; each of these commas are tempered out by many different ETs, not just 19-ET. The special relationship 19-ET has is to a null-space which can be expressed in basis form as the meet of ''two'' commas (at least in the 5-limit; more on this later). In this way, the comma bases which represent the meet of two commas are greater than the sum of their individual parts. | ||
We can confirm the relationship between an ET and its null-space by converting back and forth between them. There exists a mathematical function which — when input any one of these comma | We can confirm the relationship between an ET and its null-space by converting back and forth between them. There exists a mathematical function which — when input any one of these comma bases — will output {{ket|{{map|19 30 44}}}}, thus demonstrating the various bases' equivalence with respect to it. If the operation called "taking the null-space" is what gets you from {{ket|{{map|19 30 44}}}} to one basis for the null-space, then ''this'' mathematical function is in effect ''undoing'' the null-space operation; maybe we could call it an anti-null-space operation. | ||
And interestingly enough, as you'll soon see, the process is almost the same to take the null-space as it is to undo it. | And interestingly enough, as you'll soon see, the process is almost the same to take the null-space as it is to undo it. | ||
Line 507: | Line 507: | ||
Working this out by hand goes like this (it is a standard linear algebra operation, so if you're comfortable with it already, you can skip this and other similar parts of these materials). | Working this out by hand goes like this (it is a standard linear algebra operation, so if you're comfortable with it already, you can skip this and other similar parts of these materials). | ||
So here's our starting point, the meantone|magic comma | So here's our starting point, the meantone|magic comma basis: | ||
<math> | <math> | ||
Line 603: | Line 603: | ||
</math> | </math> | ||
And ta-da! You’ve found a mapping from a comma | And ta-da! You’ve found a mapping from a comma basis, and it is {{ket|{{map|19 30 44}}}}. In other words, for this temperament, you have converted a basis for its null-space to a row-basis for its mapping row-space. Feel free to try this with any other combination of two commas tempered out by this mapping-row. | ||
So why the anti-transpose sandwich? What we (and everyone) want in a mapping is to have a triangle of zeros in the bottom left corner. What we want in a comma | So why the anti-transpose sandwich? What we (and everyone) want in a mapping is to have a triangle of zeros in the bottom left corner. What we want in a comma basis is also to have a triangle of zeros in the bottom left corner. But the comma basis is on the other side of duality from the mapping, so it must be transposed before we can apply our null-space-basis finding process to it, because that process is designed for mappings. But when we transpose the comma basis we end up with the triangle of zeros in the top right. If we take the null-space of that and then transpose it back again, we don't get a nice form of the mapping, we get a mapping with a triangle of zeros in the top right. The way to fix this is to anti-transpose instead of transpose, before and after taking the null-space. Because when you anti-transpose the comma basis, you still turn columns into rows, but this time the triangle of zeros stays on the bottom left. | ||
Let's try it out in Wolfram Language: | Let's try it out in Wolfram Language: | ||
Line 612: | Line 612: | ||
Out: {{19,30,44}}</nowiki> | Out: {{19,30,44}}</nowiki> | ||
Note that this time we used two sets of curlies around our numbers. That's because these are not technically vectors and covectors, but matrices now. A matrix can be thought of as a list of lists. The comma | Note that this time we used two sets of curlies around our numbers. That's because these are not technically vectors and covectors, but matrices now. A matrix can be thought of as a list of lists. The comma basis here is a list of two lists. The output mapping is a list with only one list in it. | ||
Now the null-space function, to take you from {{ket|{{map|19 30 44}}}} back to the matrix, is pretty much the same thing, but simpler! No need to anti-transpose. Just start at the augmentation step: | Now the null-space function, to take you from {{ket|{{map|19 30 44}}}} back to the matrix, is pretty much the same thing, but simpler! No need to anti-transpose. Just start at the augmentation step: | ||
Line 687: | Line 687: | ||
So we've gotten right back where we've started. | So we've gotten right back where we've started. | ||
The RTT library for Wolfram Language includes a function called <code>dual[]</code>. This will give you the comma | The RTT library for Wolfram Language includes a function called <code>dual[]</code>. This will give you the comma basis for a mapping, or the mapping for a comma basis, depending on which you put it. There's a catch, though. You have to tell it which type you're putting in! Otherwise it can't tell the difference. And of course it needs to know whether or not it needs to do an anti-transpose sandwich. So here's how we provide that: | ||
<nowiki>In: dual[{{{19,30,44}},"mapping"}] | <nowiki>In: dual[{{{19,30,44}},"mapping"}] | ||
Out: {{{-44,0,19},{-30,19,0}},"comma | Out: {{{-44,0,19},{-30,19,0}},"comma basis"} | ||
In: dual[{{{-4,4,-1},{-10,-1,5}},"comma | In: dual[{{{-4,4,-1},{-10,-1,5}},"comma basis"}] | ||
Out: {{{19,30,44}},"mapping"}</nowiki> | Out: {{{19,30,44}},"mapping"}</nowiki> | ||
Line 700: | Line 700: | ||
=== The other side of duality === | === The other side of duality === | ||
So we can now convert back and forth between a mapping-row-basis and a comma | So we can now convert back and forth between a mapping-row-basis and a comma basis. We could imagine drawing a diagram with a line of duality down the center, with a temperament's mapping-row-basis on the left, and its comma basis on the right. Either side ultimately gives the same information, but sometimes you want to come at it in terms of the maps, and sometimes in terms of the commas. | ||
So far we've looked at how to meet comma vectors to form a comma | So far we've looked at how to meet comma vectors to form a comma basis. Next, let's look at the other side of duality, and see how to form a mapping-row-basis out of joining maps. In many ways, the approaches are similar; the line of duality is a lot like a mirror in that way. | ||
When we join two maps, we put them together into a matrix, just like how we put two vectors together into a matrix. But again, where vectors are vertical columns, maps are horizontal rows. So when we combine {{map|5 8 12}} and {{map|7 11 16}}, we get a matrix that looks like | When we join two maps, we put them together into a matrix, just like how we put two vectors together into a matrix. But again, where vectors are vertical columns, maps are horizontal rows. So when we combine {{map|5 8 12}} and {{map|7 11 16}}, we get a matrix that looks like | ||
Line 919: | Line 919: | ||
* We’ve made it to a critical point here: we are now able to explain why RTT is called “regular” temperament theory. Regular here is a mathematical term, and I don’t have a straightforward definition of it for you, but it apparently refers to the fact that all intervals in the tuning are combinations of only these specified generators. So there you go. | * We’ve made it to a critical point here: we are now able to explain why RTT is called “regular” temperament theory. Regular here is a mathematical term, and I don’t have a straightforward definition of it for you, but it apparently refers to the fact that all intervals in the tuning are combinations of only these specified generators. So there you go. | ||
* Both {{ket|{{map|5 8 12}} {{map|7 11 16}}}} and {{ket|{{map|1 1 0}} {{map|0 1 4}}}} are equivalent mappings, then. In other words, they are both mapping-row-bases of the same mapping row-space. Converting between them is sometimes called a “change of basis”, though this is a different sort of “basis” than the basis of a space, like comma | * Both {{ket|{{map|5 8 12}} {{map|7 11 16}}}} and {{ket|{{map|1 1 0}} {{map|0 1 4}}}} are equivalent mappings, then. In other words, they are both mapping-row-bases of the same mapping row-space. Converting between them is sometimes called a “change of basis”, though this is a different sort of “basis” than the basis of a space, like comma bases or mapping-row-bases. Using what we know now, it may be clearer to think of it as a “change of generators”. We’ll look at this idea more in the tuning section later. | ||
* Note well: this is not to say that {{map|1 1 0}} or {{map|0 1 4}} ''are'' the generators for meantone. They are generator ''mappings'': when assembled together, they collectively describe behavior of the generators, but they are ''not'' themselves the generators. At least, the map {{map|1 1 0}} in isolation does not inherently have a connection with the octave generator of meantone. This situation can be confusing; it confused me for many weeks. I thought of it this way: because the first generator is 2/1 — i.e. {{vector|1 0 0}} maps to {{vector|1 0}} — referring to {{map|1 1 0}} as the octave or period seems reasonable and is effective when the context is clear. And similarly, because the second generator is 3/2 — i.e. {{vector|-1 1 0}} maps to {{vector|0 1}} — referring to {{map|0 1 4}} as the fifth or the generator seems reasonable as is effective when the context is clear. But it's critical to understand that the first generator "being" the octave here is ''contingent upon the definition of the second generator'', and vice versa, the second generator "being" the fifth here is ''contingent upon the definition of the first generator''. Considering {{map|1 1 0}} or {{map|0 1 4}} individually, we cannot say what intervals the generators are. What if the mapping was {{ket|{{map|0 1 4}} {{map|1 2 4}}}} instead? We'd still have the first generator mapping as {{map|1 1 0}}, but now that the second generator mapping is {{map|1 2 4}}, the two generators must be the fourth and the fifth. In summary, neither mapping-row describes a generator in a vacuum, but does so in the context of all the other mapping-rows. | * Note well: this is not to say that {{map|1 1 0}} or {{map|0 1 4}} ''are'' the generators for meantone. They are generator ''mappings'': when assembled together, they collectively describe behavior of the generators, but they are ''not'' themselves the generators. At least, the map {{map|1 1 0}} in isolation does not inherently have a connection with the octave generator of meantone. This situation can be confusing; it confused me for many weeks. I thought of it this way: because the first generator is 2/1 — i.e. {{vector|1 0 0}} maps to {{vector|1 0}} — referring to {{map|1 1 0}} as the octave or period seems reasonable and is effective when the context is clear. And similarly, because the second generator is 3/2 — i.e. {{vector|-1 1 0}} maps to {{vector|0 1}} — referring to {{map|0 1 4}} as the fifth or the generator seems reasonable as is effective when the context is clear. But it's critical to understand that the first generator "being" the octave here is ''contingent upon the definition of the second generator'', and vice versa, the second generator "being" the fifth here is ''contingent upon the definition of the first generator''. Considering {{map|1 1 0}} or {{map|0 1 4}} individually, we cannot say what intervals the generators are. What if the mapping was {{ket|{{map|0 1 4}} {{map|1 2 4}}}} instead? We'd still have the first generator mapping as {{map|1 1 0}}, but now that the second generator mapping is {{map|1 2 4}}, the two generators must be the fourth and the fifth. In summary, neither mapping-row describes a generator in a vacuum, but does so in the context of all the other mapping-rows. | ||
* This also gives us a new way to think about the scale tree patterns. Remember how earlier we pointed out that {{map|12 19 28}} was simply {{map|5 8 12}} + {{map|7 11 16}}? Well, if {{ket|{{map|5 8 12}} {{map|7 11 16}}}} is a way of expressing meantone in terms of its two generators, you can imagine that 12-ET is the point where those two generators converge on being the same exact size<ref>For real numbers <math>p,q</math> we can make the two generators respectively <math>\frac{p}{5p+7q}</math> and <math>\frac{q}{5p+7q}</math> of an octave, e.g. <math>(p,q)=(1,0)</math> for 5-ET, <math>(0,1)</math> for 7-ET, <math>(1,1)</math> for 12-ET, and many other possibilities.</ref>. If they become the same size, then they aren’t truly two separate generators, or at least there’s no effect in thinking of them as separate. And so for convenience you can simply combine their mappings into one. You could imagine gradually increasing the size of one generator and decreasing the size of the other until they were both 100¢. As long as you maintain the correct proportion, you'll stay along the meantone line.. | * This also gives us a new way to think about the scale tree patterns. Remember how earlier we pointed out that {{map|12 19 28}} was simply {{map|5 8 12}} + {{map|7 11 16}}? Well, if {{ket|{{map|5 8 12}} {{map|7 11 16}}}} is a way of expressing meantone in terms of its two generators, you can imagine that 12-ET is the point where those two generators converge on being the same exact size<ref>For real numbers <math>p,q</math> we can make the two generators respectively <math>\frac{p}{5p+7q}</math> and <math>\frac{q}{5p+7q}</math> of an octave, e.g. <math>(p,q)=(1,0)</math> for 5-ET, <math>(0,1)</math> for 7-ET, <math>(1,1)</math> for 12-ET, and many other possibilities.</ref>. If they become the same size, then they aren’t truly two separate generators, or at least there’s no effect in thinking of them as separate. And so for convenience you can simply combine their mappings into one. You could imagine gradually increasing the size of one generator and decreasing the size of the other until they were both 100¢. As long as you maintain the correct proportion, you'll stay along the meantone line.. | ||
Line 974: | Line 974: | ||
=== Rank and nullity === | === Rank and nullity === | ||
Let’s review what we’ve seen so far. 5-limit JI is 3-dimensional. When we have a rank-3 temperament of 5-limit JI, 0 commas are tempered out. When we have a rank-2 temperament of 5-limit JI, 1 comma is tempered out. When we have a rank-1 temperament of 5-limit JI, 2 commas are tempered out.<ref>Probably, a rank-0 temperament of 5-limit JI would temper 3 commas out. All I can think a rank-0 temperament could be is a single pitch, or in other words, everything is tempered out. So perhaps in some theoretical sense, a comma | Let’s review what we’ve seen so far. 5-limit JI is 3-dimensional. When we have a rank-3 temperament of 5-limit JI, 0 commas are tempered out. When we have a rank-2 temperament of 5-limit JI, 1 comma is tempered out. When we have a rank-1 temperament of 5-limit JI, 2 commas are tempered out.<ref>Probably, a rank-0 temperament of 5-limit JI would temper 3 commas out. All I can think a rank-0 temperament could be is a single pitch, or in other words, everything is tempered out. So perhaps in some theoretical sense, a comma basis in 5-limit made out of 3 vectors, thus a square 3×3 matrix, as long as none of the lines are parallel, should minimally represent every interval in the space.</ref> | ||
There’s a straightforward formula here: <math>d - n = r</math>, where <math>d</math> is dimensionality, <math>n</math> is nullity, and <math>r</math> is rank. We’ve seen every one of those words so far except '''nullity'''. [[Nullity]] simply means the count of commas tempered out, or in other words, the count of commas in a basis for the null-space ''(see Figure 5c)''. | There’s a straightforward formula here: <math>d - n = r</math>, where <math>d</math> is dimensionality, <math>n</math> is nullity, and <math>r</math> is rank. We’ve seen every one of those words so far except '''nullity'''. [[Nullity]] simply means the count of commas tempered out, or in other words, the count of commas in a basis for the null-space ''(see Figure 5c)''. | ||
Line 1,041: | Line 1,041: | ||
Because we're starting in 4D here, if we temper out one comma, we still have a rank-3 temperament, with 3 independent generators. Temper out two commas, and we have a rank-2 temperament, with 2 generators (remember, one of them is the period, which is usually the octave). And we’d need to temper out 3 commas here to pinpoint a single ET. | Because we're starting in 4D here, if we temper out one comma, we still have a rank-3 temperament, with 3 independent generators. Temper out two commas, and we have a rank-2 temperament, with 2 generators (remember, one of them is the period, which is usually the octave). And we’d need to temper out 3 commas here to pinpoint a single ET. | ||
The particular case I’d like to focus our attention on here is the rank-2 case. This is the first situation we’ve been able to achieve which boasts both an infinitude of matrices made from comma vectors which can represent the temperament by its comma | The particular case I’d like to focus our attention on here is the rank-2 case. This is the first situation we’ve been able to achieve which boasts both an infinitude of matrices made from comma vectors which can represent the temperament by its comma basis, as well as an infinitude of matrices made from ET maps which can represent a temperament by its mapping-row-basis. These are not contradictory. Let’s look at an example: septimal meantone. | ||
Septimal meantone may be thought of as the temperament which tempers out the meantone comma and the starling comma (126/125), or “meantone|starling”. But it may also be thought of as “meantone|marvel”, where the marvel comma is 225/224. We don’t even necessarily need the meantone comma at all: it can even be “starling|marvel”! This speaks to the fact that any temperament with a nullity greater than 1 has an infinitude of equivalent comma | Septimal meantone may be thought of as the temperament which tempers out the meantone comma and the starling comma (126/125), or “meantone|starling”. But it may also be thought of as “meantone|marvel”, where the marvel comma is 225/224. We don’t even necessarily need the meantone comma at all: it can even be “starling|marvel”! This speaks to the fact that any temperament with a nullity greater than 1 has an infinitude of equivalent comma bases. It’s up to you which one to use. | ||
On the other side of duality, septimal meantone’s mapping-row-basis has two rows, corresponding to its two generators. We don’t have PTS for 7-limit JI handy, but because septimal meantone includes, or extends plain meantone, we can still refer to 5-limit PTS, and pick ETs from the meantone line there. The difference is that this time we need to include their 7-term. So the join of {{map|12 19 28 34}} and {{map|19 30 44 53}} would work. But so would {{map|19 30 44 53}} and {{map|31 49 72 87}}. We have an infinitude of options on this side of duality too, but here it’s not because our nullity is greater than 1, but because our rank is greater than 1. | On the other side of duality, septimal meantone’s mapping-row-basis has two rows, corresponding to its two generators. We don’t have PTS for 7-limit JI handy, but because septimal meantone includes, or extends plain meantone, we can still refer to 5-limit PTS, and pick ETs from the meantone line there. The difference is that this time we need to include their 7-term. So the join of {{map|12 19 28 34}} and {{map|19 30 44 53}} would work. But so would {{map|19 30 44 53}} and {{map|31 49 72 87}}. We have an infinitude of options on this side of duality too, but here it’s not because our nullity is greater than 1, but because our rank is greater than 1. | ||
Line 1,082: | Line 1,082: | ||
But there are still more forms! One very important form is called [[defactored Hermite form]], or we may call it here '''canonical form''' for short. | But there are still more forms! One very important form is called [[defactored Hermite form]], or we may call it here '''canonical form''' for short. | ||
It’s often the case that a temperament’s nullity is greater than 1 or its rank is greater than 1, and therefore we have an infinitude of equivalent ways of expressing the comma | It’s often the case that a temperament’s nullity is greater than 1 or its rank is greater than 1, and therefore we have an infinitude of equivalent ways of expressing the comma basis or the mapping-row-basis. This can be problematic, if we want to efficiently communicate about and catalog temperaments. It’s good to have a standardized form in these cases. The approach RTT takes here is to get these matrices into canonical form. In plain words, this just means: we have a function which takes in a matrix and spits out a matrix of the same shape, and no matter which matrix we input from a set of matrices which we consider all to be equivalent to each other, it will spit out the same result. This output is thereby “canonical”, and it can therefore uniquely identify a temperament. | ||
To be clear, canonical form isn’t necessary to avoid ambiguity: you will never find a comma | To be clear, canonical form isn’t necessary to avoid ambiguity: you will never find a comma basis that could represent more than one temperament. | ||
For example, the canonical form of meantone is: | For example, the canonical form of meantone is: | ||
Line 1,131: | Line 1,131: | ||
|map, mapping-row (often an ET) | |map, mapping-row (often an ET) | ||
|mapping, mapping-row-basis | |mapping, mapping-row-basis | ||
|comma | |comma basis | ||
|interval, comma | |interval, comma | ||
|- | |- |