Cross-domain temperament merging: Difference between revisions
Cmloegcmluin (talk | contribs) m update link |
ArrowHead294 (talk | contribs) m Update links and references |
||
| (8 intermediate revisions by one other user not shown) | |||
| Line 2: | Line 2: | ||
= Steps = | = Steps = | ||
== 1. Determine the domain basis for the output temperament == | == 1. Determine the domain basis for the output temperament == | ||
A guiding principle when performing a temperament merge across domains is [[Temperament_merging#Application|described on the main page for temperament merging]]: | A guiding principle when performing a temperament merge across domains is [[Temperament_merging#Application|described on the main page for temperament merging]]: | ||
<blockquote style="background-color: #fbfbfb; border: 1px solid #eeeeee; padding: 10px 20px;"> | <blockquote style="background-color: #fbfbfb; border: 1px solid #eeeeee; padding: 10px 20px;"> | ||
Map-merging produces a temperament that | Map-merging produces a temperament that makes to [[vanish]] ''only'' the commas that are made to vanish by ''all'' of the input temperaments. | ||
<br> | <br> | ||
Conversely, comma-merging produces a temperament that | Conversely, comma-merging produces a temperament that makes to vanish ''every'' comma that is made to vanish by ''any'' of the input temperaments. | ||
</blockquote> | </blockquote> | ||
| Line 17: | Line 15: | ||
''For a comma-merge'', because the output temperament deals with every comma, then its domain basis must be capable of supporting this: specifically, it must include every [[basis element]] from any of the input temperaments' domain bases. Think of it this way: for any given temperament, its domain basis elements are the building blocks for its commas, and so in order to express every comma in the merged temperament, we will need every input temperament's building blocks gathered in one place. In other words, we must find the merge of all the input domain bases. | ''For a comma-merge'', because the output temperament deals with every comma, then its domain basis must be capable of supporting this: specifically, it must include every [[basis element]] from any of the input temperaments' domain bases. Think of it this way: for any given temperament, its domain basis elements are the building blocks for its commas, and so in order to express every comma in the merged temperament, we will need every input temperament's building blocks gathered in one place. In other words, we must find the merge of all the input domain bases. | ||
''For a map-merge'', then, because the output temperament will deal only with tempered commas shared by every input temperament, then its domain basis only needs to include the basis elements that are present in all of the input domain bases. Here's why: a comma built using a basis element that isn't shared by all input temperaments couldn't even be ''built'' in all input temperaments, let alone | ''For a map-merge'', then, because the output temperament will deal only with tempered commas shared by every input temperament, then its domain basis only needs to include the basis elements that are present in all of the input domain bases. Here's why: a comma built using a basis element that isn't shared by all input temperaments couldn't even be ''built'' in all input temperaments, let alone made to vanish by all of them. And so, to build the set of commas that are made to vanish by all temperaments, we only need the building blocks that can be found in all of them. In mathematical terms, we must find the intersection of the input domain bases. | ||
<gallery heights=450px widths=450px> | <gallery heights=450px widths=450px> | ||
| Line 25: | Line 23: | ||
== 2. Convert the input temperaments to the output domain basis == | == 2. Convert the input temperaments to the output domain basis == | ||
After determining the target domain basis, follow the instructions described here to convert the input temperament over: [[Cross-domain temperament merging#Changing basis]]. | After determining the target domain basis, follow the instructions described here to convert the input temperament over: [[Cross-domain temperament merging#Changing basis]]. | ||
== 3. Perform the merge as usual == | == 3. Perform the merge as usual == | ||
See the instructions described here to perform the temperament merge: [[Temperament merging#Merging]]. | See the instructions described here to perform the temperament merge: [[Temperament merging#Merging]]. | ||
= Domains as subspaces of other domains = | = Domains as subspaces of other domains = | ||
In the same way that an ''sub''space is a part of the full space, a subspace can be seen as a part of another larger subspace. So we can say a domain is itself ''a subspace of'' another domain. | In the same way that an ''sub''space is a part of the full space, a subspace can be seen as a part of another larger subspace. So we can say a domain is itself ''a subspace of'' another domain. | ||
| Line 39: | Line 34: | ||
== Examples == | == Examples == | ||
[[File:Interval subspaces 2.3 vs 2.3.7.png|300px|thumb|right|'''Figure 1.''' The domain 2.3 can be clearly seen to be a subspace of 2.3.7. The latter is simply many copies of the former, separated by 7's.]] | [[File:Interval subspaces 2.3 vs 2.3.7.png|300px|thumb|right|'''Figure 1.''' The domain 2.3 can be clearly seen to be a subspace of 2.3.7. The latter is simply many copies of the former, separated by 7's.]] | ||
| Line 51: | Line 45: | ||
== Application: determining whether it is possible to change the domain == | == Application: determining whether it is possible to change the domain == | ||
Understanding which domains are subspaces of each other is important when changing the domain for an interval or temperament. This is because only certain changes are possible: specifically, it is only possible to change between domains where one is a subspace of the other. Otherwise, the domains are incomparable. | Understanding which domains are subspaces of each other is important when changing the domain for an interval or temperament. This is because only certain changes are possible: specifically, it is only possible to change between domains where one is a subspace of the other. Otherwise, the domains are incomparable. | ||
| Line 63: | Line 56: | ||
So from these two opposing bulleted facts above, we can conclude that for any pair of domains where neither one is a subspace of the other, there would be no way for us to express ''either intervals or maps'' from one in the other. And that's why we could say that they're incomparable domains. | So from these two opposing bulleted facts above, we can conclude that for any pair of domains where neither one is a subspace of the other, there would be no way for us to express ''either intervals or maps'' from one in the other. And that's why we could say that they're incomparable domains. | ||
Notably, there is still a way to get intervals to a subspace, and maps to a superspace, but it's indirect. To do so, take the | Notably, there is still a way to get intervals to a subspace, and maps to a superspace, but it's indirect. To do so, [[Dave Keenan & Douglas Blumeyer's guide to RTT/Exploring temperaments#Nullspace|take the dual]] of your object, then change basis, then take the dual again. So for a mapping you would use the nullspace function to convert it to its corresponding comma basis, change domain basis, and then use the nullspace function to convert it back to its corresponding mapping on the other side. | ||
== General method to determine whether a domain is a subspace of another == | == General method to determine whether a domain is a subspace of another == | ||
[[Cross-domain temperament merging#Examples|A couple subsections ago]], we provided a couple examples where we used natural language to explain — between two domains — which one was a subspace of the other. But we still need to describe a method to determine this in general. Let's do that next. | [[Cross-domain temperament merging#Examples|A couple subsections ago]], we provided a couple examples where we used natural language to explain — between two domains — which one was a subspace of the other. But we still need to describe a method to determine this in general. Let's do that next. | ||
| Line 74: | Line 66: | ||
=== Example === | === Example === | ||
For instance, we can demonstrate how 2.25/9.11/7 is a subspace of 2.5/3.7.11 using this approach. If you've really got a knack for this stuff, you may be able to eyeball even this somewhat intense example, but it's obviously good to have a rigorous method like this to fall back on, if only to convince ourselves that we've got the right answer (or to automate things with code, as has been done with these methods in the [[RTT library in Wolfram Language]]). | For instance, we can demonstrate how 2.25/9.11/7 is a subspace of 2.5/3.7.11 using this approach. If you've really got a knack for this stuff, you may be able to eyeball even this somewhat intense example, but it's obviously good to have a rigorous method like this to fall back on, if only to convince ourselves that we've got the right answer (or to automate things with code, as has been done with these methods in the [[RTT library in Wolfram Language]]). | ||
| Line 165: | Line 156: | ||
= Domain basis operations = | = Domain basis operations = | ||
== Merging == | == Merging == | ||
If you happen to already be familiar with [[temperament merging]], merging<ref group="note">The technical mathematical term for this is "sumset", not "union" as we might expect; in many contexts, "union" is the dual operation to "intersection", but for vector spaces, the dual operation to intersection is "sumset" (see page 4 of https://www2.math.upenn.edu/~siegelch/Notes/linalg.pdf). The difference between union and sumset can be explained like this: if we had two planes in a volume, their union would be both the planes, but their sumset would be the volume.</ref> domain bases follows a similar pattern: concatenate, then canonicalize the result. | |||
If you happen to already be familiar with [[temperament merging]], merging<ref>The technical mathematical term for this is "sumset", not "union" as we might expect; in many contexts, "union" is the dual operation to "intersection", but for vector spaces, the dual operation to intersection is "sumset" (see page 4 of https://www2.math.upenn.edu/~siegelch/Notes/linalg.pdf). The difference between union and sumset can be explained like this: if we had two planes in a volume, their union would be both the planes, but their sumset would be the volume.</ref> domain bases follows a similar pattern: concatenate, then canonicalize the result. | |||
=== But first: a gentle introduction === | === But first: a gentle introduction === | ||
Many times, it's easy to eyeball the merge of two domain bases. The basic idea is to just take everything that's in either one basis or the other. So 2.3.7 merged with 2.3.5 should just be 2.3.5.7, easy. Sometimes it can get kind of tricky, though. Like, what's the merge of 2.3.7/5 and 2.9.21/5? Not so obvious now. Hint: it's not 2.3.9.7/5.21/5! | Many times, it's easy to eyeball the merge of two domain bases. The basic idea is to just take everything that's in either one basis or the other. So 2.3.7 merged with 2.3.5 should just be 2.3.5.7, easy. Sometimes it can get kind of tricky, though. Like, what's the merge of 2.3.7/5 and 2.9.21/5? Not so obvious now. Hint: it's not 2.3.9.7/5.21/5! | ||
=== Concatenate === | === Concatenate === | ||
This is the easy part. Suppose we're merging 2.3.5 and 2.3.7; the concatenation of those two is quite simply 2.3.5.2.3.7. Yes, that result contains a lot of repetition. But that's what the next step — the canonicalization step — is there to solve. | This is the easy part. Suppose we're merging 2.3.5 and 2.3.7; the concatenation of those two is quite simply 2.3.5.2.3.7. Yes, that result contains a lot of repetition. But that's what the next step — the canonicalization step — is there to solve. | ||
=== Canonicalize === | === Canonicalize === | ||
See [[Domain basis#Canonical form]]. | See [[Domain basis#Canonical form]]. | ||
=== Notation === | === Notation === | ||
The notation used for merging here is the same as comma-merge: <math>B_1|B_2</math><ref group="note">Using ∩ for intersection, which seems obvious. But the merge notation is tricky. We could use ∪, of course. But technically speaking, it's not a union, but a sumset, and the notation for that is unfortunately just the plus sign +, which could be confusing. Furthermore, in the context of merging temperaments, we don't use either of those symbols. Actually, we use two different symbols there, depending on what we're merging! We use & if it's maps, and | if it's commas. At least, that's the notation used on the [[Meet and join]] and [[Temperament merging]] pages. And because intersections also arise for temperament matrices like mappings and comma bases, this article has gone with consistent notation for domain bases. Domain bases concatenate horizontally, like comma bases, so we use | and consider it a "basis-merge" symbol, i.e. it works on both comma bases and domain bases.</ref>. | |||
The notation used for merging here is the same as comma-merge: <math>B_1|B_2</math><ref>Using ∩ for intersection, which seems obvious. But the merge notation is tricky. We could use ∪, of course. But technically speaking, it's not a union, but a sumset, and the notation for that is unfortunately just the plus sign +, which could be confusing. Furthermore, in the context of merging temperaments, we don't use either of those symbols. Actually, we use two different symbols there, depending on what we're merging! We use & if it's maps, and | if it's commas. At least, that's the notation used on the [[Meet and join]] and [[Temperament merging]] pages. And because intersections also arise for temperament matrices like mappings and comma bases, this article has gone with consistent notation for domain bases. Domain bases concatenate horizontally, like comma bases, so we use | and consider it a "basis-merge" symbol, i.e. it works on both comma bases and domain bases.</ref>. | |||
=== Applications === | === Applications === | ||
Domain merging comes up in two key situations: | Domain merging comes up in two key situations: | ||
# Determining whether one domain is a subspace of another: <math>B_1</math> is a subspace of <math>B_2</math> if <math>B_1|B_2 = B_2</math>. For more details, see: [[Cross-domain temperament merging#General method to determine whether a domain is a subspace of another]]. | # Determining whether one domain is a subspace of another: <math>B_1</math> is a subspace of <math>B_2</math> if <math>B_1|B_2 = B_2</math>. For more details, see: [[Cross-domain temperament merging#General method to determine whether a domain is a subspace of another]]. | ||
| Line 193: | Line 177: | ||
== Intersecting == | == Intersecting == | ||
Finding the intersection of domain bases is surprisingly tricky<ref group="note">This approach was found by Sintel here: https://math.stackexchange.com/questions/1560411/basis-for-the-intersection-of-two-integer-lattices/2472784#2472784</ref>: | |||
Finding the intersection of domain bases is surprisingly tricky<ref>This approach was found by Sintel here: https://math.stackexchange.com/questions/1560411/basis-for-the-intersection-of-two-integer-lattices/2472784#2472784</ref>: | |||
# Convert the domain bases to basis matrices, as with a merge. | # Convert the domain bases to basis matrices, as with a merge. | ||
| Line 202: | Line 185: | ||
# Canonicalize. | # Canonicalize. | ||
The reason this works is that wherever the corresponding top-half columns are all zeros, this was achieved through linear combinations of vectors from both domain bases, which means the information below them represents vectors that are in both of them. In other words, if <math>(x, x) + (y, 0) = (0, z)</math> and <math>x</math> is in <math>B_1</math> and <math>y</math> is in <math>B_2</math>, then we must have <math>x + y = 0</math> and <math>z = x</math><ref>credit this explanation to Tom Price on Discord</ref>. We're sort of abusing HNF as a way to solve a system, kind of like [[Dave Keenan & Douglas Blumeyer's guide to RTT | The reason this works is that wherever the corresponding top-half columns are all zeros, this was achieved through linear combinations of vectors from both domain bases, which means the information below them represents vectors that are in both of them. In other words, if <math>(x, x) + (y, 0) = (0, z)</math> and <math>x</math> is in <math>B_1</math> and <math>y</math> is in <math>B_2</math>, then we must have <math>x + y = 0</math> and <math>z = x</math><ref group="note">credit this explanation to Tom Price on Discord</ref>. We're sort of abusing HNF as a way to solve a system, kind of like [[Dave Keenan & Douglas Blumeyer's guide to RTT/Exploring temperaments#Nullspace|when we calculate the nullspace]]<ref group="note">Credit this explanation to Sintel on Discord</ref>. | ||
=== But first: a gentle introduction === | === But first: a gentle introduction === | ||
As with the domain basis merge, it is sometimes practical to eyeball the answer. The basic idea is just to take only basis elements that in both of the domain bases. So the intersection of 2.3.5 and 2.3.7 is plainly just 2.3. But other times the answer may not be so clear. Such as: What is the intersection of 2.5/3.9/7 and 2.9.5? Hint: It's not just 2! | As with the domain basis merge, it is sometimes practical to eyeball the answer. The basic idea is just to take only basis elements that in both of the domain bases. So the intersection of 2.3.5 and 2.3.7 is plainly just 2.3. But other times the answer may not be so clear. Such as: What is the intersection of 2.5/3.9/7 and 2.9.5? Hint: It's not just 2! | ||
=== Example === | === Example === | ||
Let's find the intersection of 2.5/3 and 2.9.5. | Let's find the intersection of 2.5/3 and 2.9.5. | ||
| Line 312: | Line 293: | ||
<math> | <math> | ||
\left[ \begin{array} {rrrrr} | \left[ \begin{array} {rrrrr} | ||
1 & 0 & 0 & \ | 1 & 0 & 0 & \style{background-color:#F2B2B4;padding:5px}{0} & \style{background-color:#F2B2B4;padding:5px}{0} \\ | ||
0 & 1 & 0 & \ | 0 & 1 & 0 & \style{background-color:#F2B2B4;padding:5px}{0} & \style{background-color:#F2B2B4;padding:5px}{0} \\ | ||
0 & 0 & 1 & \ | 0 & 0 & 1 & \style{background-color:#F2B2B4;padding:5px}{0} & \style{background-color:#F2B2B4;padding:5px}{0} \\ | ||
\hline | \hline | ||
0 & 0 & 0 & \ | 0 & 0 & 0 & \style{background-color:#FFF200;padding:5px}{1} & \style{background-color:#FFF200;padding:5px}{0} \\ | ||
0 & 1 & 0 & \ | 0 & 1 & 0 & \style{background-color:#FFF200;padding:5px}{0} & \style{background-color:#FFF200;padding:5px}{2} \\ | ||
0 & -1 & 0 & \ | 0 & -1 & 0 & \style{background-color:#FFF200;padding:5px}{0} & \style{background-color:#FFF200;padding:5px}{{-2}} \\ | ||
\end{array} \right] | \end{array} \right] | ||
</math> | </math> | ||
| Line 360: | Line 341: | ||
=== Notation === | === Notation === | ||
The notation for domain basis intersecting we'll use here is just the intersection symbol: <math>B_1∩B_2</math>. | The notation for domain basis intersecting we'll use here is just the intersection symbol: <math>B_1∩B_2</math>. | ||
=== Applications === | === Applications === | ||
The intersection of domain bases comes up with doing a map-merge of temperaments. The resulting temperament's domain basis will be the intersection of all the input domain bases. For more information, see: [[Cross-domain temperament merging#Map-merge]]. | The intersection of domain bases comes up with doing a map-merge of temperaments. The resulting temperament's domain basis will be the intersection of all the input domain bases. For more information, see: [[Cross-domain temperament merging#Map-merge]]. | ||
= Changing basis = | = Changing basis = | ||
[[File:Two-way bridge.png|400px|right|thumb|A basis change matrix forms a two-way bridge between an interval superspace basis <math>B_L</math> and a domain basis <math>B_s</math>. But mappings can only use it to go from the superspace to the subspace, and comma bases can only use it to go from the subspace to the superspace.]] | [[File:Two-way bridge.png|400px|right|thumb|A basis change matrix forms a two-way bridge between an interval superspace basis <math>B_L</math> and a domain basis <math>B_s</math>. But mappings can only use it to go from the superspace to the subspace, and comma bases can only use it to go from the subspace to the superspace.]] | ||
Given an interval, comma basis, or mapping — anything that has an associated domain basis — it is possible to change it from one domain basis to another. We can accomplish this using a '''basis change matrix''', an object that works like a two-way bridge between two domain bases. | Given an interval, comma basis, or mapping — anything that has an associated domain basis — it is possible to change it from one domain basis to another. We can accomplish this using a '''basis change matrix''', an object that works like a two-way bridge between two domain bases. | ||
In fact, there is no real difference between a ''basis matrix'', | In fact, there is no real difference between a ''basis matrix'', such as we've been using to represent nonstandard domain bases in terms of the primes, and a basis ''change'' matrix. We can think of the basis matrix as a basis change matrix, from whatever domain ''to the simplest prime-only basis''. And so we use the same symbol for both of these objects, <math>B</math>. When the change is from a basis to the simplest prime-only basis, the subscript on <math>B</math> can simply be the basis being described; if however, the basis change matrix is from one nonprime basis to another nonprime basis, such as 2.49/3.5 to 2.7/3.5, then the subscript should contain the names of both bases, ideally with a "↔" symbol between them, and the superspace on the left and the subspace on the right, as that corresponds to their positions as labels on the matrix. | ||
Elsewhere, these types of matrices have been called [[subgroup basis matrices]], but that terminology will not be used here, for the same reasons as are described in the last section of this article (here: [[Domain basis#Terminology: domain basis vs. subgroup]]). | Elsewhere, these types of matrices have been called [[subgroup basis matrices]], but that terminology will not be used here, for the same reasons as are described in the last section of this article (here: [[Domain basis#Terminology: domain basis vs. subgroup]]). | ||
As discussed earlier, only certain domain basis changes are possible | As discussed earlier, only certain domain basis changes are possible (here: [[Cross-domain temperament merging#Application: determining whether it is possible to change the domain]]). To quickly recap here, it is only possible to change between domains where one is a subspace of the other. So when we say a given basis change matrix works like a two-way bridge, there's a more specific way to say what we mean: a basis change matrix allows us to change either ''from the subspace to the superspace'', or ''from the superspace to the subspace''. Which direction we go just depends on which side we enter the bridge from: the right side or the left side. | ||
== Constructing a basis change matrix == | == Constructing a basis change matrix == | ||
Here are the steps: | Here are the steps: | ||
# Set up a matrix with <math>d_L</math> rows, where <math>d_L</math> is the dimensionality of the superspace, and <math>d_s</math> columns, where <math>d_s</math> is the dimensionality of the subspace<ref>We're borrowing <math>L</math> and <math>s</math> from [[MOS]] scale theory; there's no direct conceptual connection here, nor any need to understand anything about such scale theory at this moment, but if you happen to be familiar with the conventional use of <math>L</math> for "Large" and <math>s</math> for "small" in that other xenharmonic topic, then this variable choice may be particularly helpful for you.</ref>. | # Set up a matrix with <math>d_L</math> rows, where <math>d_L</math> is the dimensionality of the superspace, and <math>d_s</math> columns, where <math>d_s</math> is the dimensionality of the subspace<ref group="note">We're borrowing <math>L</math> and <math>s</math> from [[MOS]] scale theory; there's no direct conceptual connection here, nor any need to understand anything about such scale theory at this moment, but if you happen to be familiar with the conventional use of <math>L</math> for "Large" and <math>s</math> for "small" in that other xenharmonic topic, then this variable choice may be particularly helpful for you.</ref>. | ||
# Label the rows with the superspace basis elements. | # Label the rows with the superspace basis elements. | ||
# Label the columns with the subspace basis elements. | # Label the columns with the subspace basis elements. | ||
# Fill in each entry with the count of basis elements from the interval superspace basis for this row that could be used to build the basis elements in the domain basis for this column. | # Fill in each entry with the count of basis elements from the interval superspace basis for this row that could be used to build the basis elements in the domain basis for this column. | ||
=== Example === | === Example === | ||
Let's construct the basis change matrix <math>B_{L↔s}</math> between 2.25/9.11/7 and 2.5/3.7.11. [[Cross-domain temperament merging#Example|As we proved earlier]], the former is a subspace of the latter. So this will be a 4×3 matrix. | Let's construct the basis change matrix <math>B_{L↔s}</math> between 2.25/9.11/7 and 2.5/3.7.11. [[Cross-domain temperament merging#Example|As we proved earlier]], the former is a subspace of the latter. So this will be a 4×3 matrix. | ||
| Line 434: | Line 410: | ||
== Using the basis change matrix == | == Using the basis change matrix == | ||
For intervals and comma bases, which can only be changed from a subspace to a superspace, we left-multiply by the basis change matrix; this process is identical to the process used when mapping intervals with ordinary temperament mappings, except replacing the mapping with the basis change matrix. | For intervals and comma bases, which can only be changed from a subspace to a superspace, we left-multiply by the basis change matrix; this process is identical to the process used when mapping intervals with ordinary temperament mappings, except replacing the mapping with the basis change matrix. | ||
| Line 440: | Line 415: | ||
=== Examples === | === Examples === | ||
Suppose we have the basis change matrix <math>B_{L↔s}</math> between 2.3.5.7 <math>B_L</math> and 2.9/7.5/3 <math>B_s</math>. The superspace is 2.3.5.7, so that's the rows, and 2.9/7.5/3 is the subspace, so that's the columns. And so here's our <math>B_{L↔s}</math>: | Suppose we have the basis change matrix <math>B_{L↔s}</math> between 2.3.5.7 <math>B_L</math> and 2.9/7.5/3 <math>B_s</math>. The superspace is 2.3.5.7, so that's the rows, and 2.9/7.5/3 is the subspace, so that's the columns. And so here's our <math>B_{L↔s}</math>: | ||
| Line 695: | Line 669: | ||
== Wolfram implementation == | == Wolfram implementation == | ||
The [[RTT library in Wolfram Language]] contains <code>changeBasis[]</code> which you can use directly on any temperament representation. | The [[RTT library in Wolfram Language]] contains <code>changeBasis[]</code> which you can use directly on any temperament representation. | ||
= Examples = | = Examples = | ||
== Comma-merge == | == Comma-merge == | ||
First, let's work through an example of a comma-merge across domain bases: meantone <math>\mathrm{C}_1</math> with archytas <math>\mathrm{C}_2</math>, where meantone is in the 5-limit standard domain basis 2.3.5, which we'll call <math>B_1</math>, and archytas is in the 2.3.7 domain basis, which we'll call <math>B_2</math>. | First, let's work through an example of a comma-merge across domain bases: meantone <math>\mathrm{C}_1</math> with archytas <math>\mathrm{C}_2</math>, where meantone is in the 5-limit standard domain basis 2.3.5, which we'll call <math>B_1</math>, and archytas is in the 2.3.7 domain basis, which we'll call <math>B_2</math>. | ||
| Line 1,145: | Line 1,116: | ||
== Map-merge == | == Map-merge == | ||
Now, let's work through an example of a map-merge of temperaments with different basis elements: 22 equal temperament <math>M_1</math> with 17 equal temperament <math>M_2</math>, where 22-ET has domain basis 2.3.5.11, which we'll call <math>B_1</math>, and 17-ET has domain basis 2.9.7.11, which we'll call <math>B_2</math>. | Now, let's work through an example of a map-merge of temperaments with different basis elements: 22 equal temperament <math>M_1</math> with 17 equal temperament <math>M_2</math>, where 22-ET has domain basis 2.3.5.11, which we'll call <math>B_1</math>, and 17-ET has domain basis 2.9.7.11, which we'll call <math>B_2</math>. | ||
| Line 1,264: | Line 1,234: | ||
<math> | <math> | ||
\left[ \begin{array} {rrrrrrrr} | \left[ \begin{array} {rrrrrrrr} | ||
1 & 0 & 0 & 0 & 0 & \ | 1 & 0 & 0 & 0 & 0 & \style{background-color:#F2B2B4;padding:5px}{0} & \style{background-color:#F2B2B4;padding:5px}{0} & \style{background-color:#F2B2B4;padding:5px}{0} \\ | ||
0 & 1 & 0 & 0 & 0 & \ | 0 & 1 & 0 & 0 & 0 & \style{background-color:#F2B2B4;padding:5px}{0} & \style{background-color:#F2B2B4;padding:5px}{0} & \style{background-color:#F2B2B4;padding:5px}{0} \\ | ||
0 & 0 & 1 & 0 & 0 & \ | 0 & 0 & 1 & 0 & 0 & \style{background-color:#F2B2B4;padding:5px}{0} & \style{background-color:#F2B2B4;padding:5px}{0} & \style{background-color:#F2B2B4;padding:5px}{0} \\ | ||
0 & 0 & 0 & 1 & 0 & \ | 0 & 0 & 0 & 1 & 0 & \style{background-color:#F2B2B4;padding:5px}{0} & \style{background-color:#F2B2B4;padding:5px}{0} & \style{background-color:#F2B2B4;padding:5px}{0} \\ | ||
0 & 0 & 0 & 0 & 1 & \ | 0 & 0 & 0 & 0 & 1 & \style{background-color:#F2B2B4;padding:5px}{0} & \style{background-color:#F2B2B4;padding:5px}{0} & \style{background-color:#F2B2B4;padding:5px}{0} \\ | ||
0 & 0 & 0 & 0 & 0 & \ | 0 & 0 & 0 & 0 & 0 & \style{background-color:#FFF200;padding:5px}{1} & \style{background-color:#FFF200;padding:5px}{0} & \style{background-color:#FFF200;padding:5px}{0} \\ | ||
0 & 1 & 0 & 0 & 0 & \ | 0 & 1 & 0 & 0 & 0 & \style{background-color:#FFF200;padding:5px}{0} & \style{background-color:#FFF200;padding:5px}{2} & \style{background-color:#FFF200;padding:5px}{0} \\ | ||
0 & 0 & 1 & 0 & 0 & \ | 0 & 0 & 1 & 0 & 0 & \style{background-color:#FFF200;padding:5px}{0} & \style{background-color:#FFF200;padding:5px}{0} & \style{background-color:#FFF200;padding:5px}{0} \\ | ||
0 & 0 & 0 & 0 & 0 & \ | 0 & 0 & 0 & 0 & 0 & \style{background-color:#FFF200;padding:5px}{0} & \style{background-color:#FFF200;padding:5px}{0} & \style{background-color:#FFF200;padding:5px}{0} \\ | ||
0 & 0 & 0 & 0 & 0 & \ | 0 & 0 & 0 & 0 & 0 & \style{background-color:#FFF200;padding:5px}{0} & \style{background-color:#FFF200;padding:5px}{0} & \style{background-color:#FFF200;padding:5px}{1} \\ | ||
\end{array} \right] | \end{array} \right] | ||
</math> | </math> | ||
| Line 1,294: | Line 1,264: | ||
Canonicalize (HNF, remove all-zero columns, back to number list form, and make super). So that tells us that the intersected domain basis <math>B_1∩B_2</math> is 2.9.11. | Canonicalize (HNF, remove all-zero columns, back to number list form, and make super). So that tells us that the intersected domain basis <math>B_1∩B_2</math> is 2.9.11. | ||
Now we change the domain basis for each mapping to <math>B_1∩B_2</math>. Let's do 22-ET first. First we need to find our basis change matrix <math>B_{1↔1∩2}</math>: | Now we change the domain basis for each mapping to <math>B_1∩B_2</math>. Let's do 22-ET first. First we need to find our basis change matrix <math>B_{1↔1∩2}</math> : | ||
| Line 1,333: | Line 1,303: | ||
Now we take our mapping <math>M_1</math> and right-multiply it by this <math>B_{1∩2↔1}</math>, just like we would right-multiply it by a list of vectors: | Now we take our mapping <math>M_1</math> and right-multiply it by this <math>B_{1∩2↔1}</math> , just like we would right-multiply it by a list of vectors: | ||
| Line 1,426: | Line 1,396: | ||
Now we find our other <math>B</math>, the one for 17-ET, i.e. <math>B_{2↔1∩2}</math>: | Now we find our other <math>B</math>, the one for 17-ET, i.e. <math>B_{2↔1∩2}</math> : | ||
| Line 1,597: | Line 1,567: | ||
= Footnotes = | = Footnotes = | ||
<references group="note" /> | |||
<references/> | |||
[[Category:Regular temperament theory]] | [[Category:Regular temperament theory]] | ||
[[Category:Terms]] | [[Category:Terms]] | ||
[[Category:Math]] | [[Category:Math]] | ||