Temperament merging: Difference between revisions
Cmloegcmluin (talk | contribs) →Parallel intersections: format diagrams better |
m Update the terminology. Style |
||
| (22 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
{{Beginner|Meet and join}} | |||
'''Temperament merging''' is a way to find new [[regular temperaments]] by merging others. There are two ways to merge temperaments: '''joining''' (or map-merge), which works by merging the temperaments' [[mapping]]s, and '''comma-merge''', which works by merging the temperaments' [[comma basis|comma bases]]. | |||
These are multiple ways in which a temperament can be defined in terms of the properties of another temperament. | |||
'''Joining''' two temperaments ''a'' and ''b'' (notated ''a'' & ''b'') results in a higher-rank temperament which tempers out only the commas that both ''a'' and ''b'' temper out. Usually, this is done with two [[equal temperament]]s ([[vals]], usually written in [[wart notation]]) to receive a rank-2 temperament (sometimes called cross-breeding), and indeed, all possible rank-2 temperaments can be written as a combination of two equal temperaments. The resulting rank-2 essentially captures the similarities between the two equal temperaments: [[15edo|15]] & [[22edo|22]] is [[porcupine]], because both equal temperaments have an [[11/10]] that doubles to [[6/5]] and triples to [[4/3]]. Similarly, [[19edo|19]] & [[26edo|26]] is [[flattone]], because in the diatonic scale of both edos, the [[major third]] is 5/4 and the [[major sixth #As a diatonic interval category|diminished seventh]] is 7/4. Higher-rank temperaments can also be joined; [[garibaldi]] & [[rodan]] is [[aberschismic]], because both garibaldi and rodan conflate [[81/80]] and [[64/63]] into a single comma-sized interval. | |||
'''Comma-merging''' two temperaments ''a'' and ''b'' (notated ''a'' | ''b'') results in a lower-rank temperament which tempers out all of the commas that either ''a'' or ''b'' temper out. This can be done with two rank-2 temperaments to find the equal temperament which [[support]]s them both. For example, [[meantone]] | [[augmented (temperament)|augmented]] is [[12edo|12et]], since 12et both has 5/4 as its diatonic major third and has that 5/4 equal to [[3edo|1\3]] of the [[octave]]. | |||
For | More than two temperaments may be merged at once. For example, joining three equal temperaments results in a [[rank-3 temperament]] (e.g. 22 & 34d & 37 is [[ares]]). | ||
Note that while a given temperament merging expression unambiguously refers to a single temperament, a given temperament can be expressed by many possible different temperament merging expressions. | |||
== With mappings == | |||
To perform the join with mappings, we vertically concatenate the matrices. In this form, the mapping does represent the temperament (and is the form used in [[Diatonic, chromatic, enharmonic, and subchromatic steps|diatonic, chromatic, enharmonic, and subchromatic]] theory), but to get a more conventional mapping, we can then [[Temperament merging #Canonicalization|canonicalize]] it. | |||
Similarly, to perform the join with comma bases, we horizontally concatenate them, and then canonicalize the result. | |||
<math> | <math> | ||
\hspace{1cm} | \hspace{1cm} | ||
\begin{array} {ccc} | \begin{array} {ccc} | ||
\left[ \begin{matrix} | |||
\left[ \begin{ | |||
12 & 19 & 28 \\ | 12 & 19 & 28 \\ | ||
\end{ | \end{matrix} \right] \\ | ||
\text{map-merge} \\ | \text{map-merge} \\ | ||
\left[ \begin{ | \left[ \begin{matrix} | ||
19 & 30 & 44 \\ | 19 & 30 & 44 \\ | ||
\end{ | \end{matrix} \right] \\ | ||
↓ \\ | ↓ \\ | ||
\left[ \begin{ | \left[ \begin{matrix} | ||
12 & 19 & 28 \\ | 12 & 19 & 28 \\ | ||
19 & 30 & 44 \\ | 19 & 30 & 44 \\ | ||
\end{ | \end{matrix} \right] \\ | ||
\text{which canonicalizes to} \\ | \text{which canonicalizes to} \\ | ||
\left[ \begin{ | \left[ \begin{matrix} | ||
1 & 0 & -4 \\ | 1 & 0 & -4 \\ | ||
0 & 1 & 4 \\ | 0 & 1 & 4 \\ | ||
\end{ | \end{matrix} \right] \\ | ||
\end{array} | \end{array} | ||
| Line 45: | Line 49: | ||
\hspace{1cm} | \hspace{1cm} | ||
\left[ \begin{ | \left[ \begin{matrix} | ||
-4 \\ | -4 \\ | ||
4 \\ | 4 \\ | ||
-1 \\ | -1 \\ | ||
\end{ | \end{matrix} \right] | ||
\text{comma-merge} | \text{comma-merge} | ||
\left[ \begin{ | \left[ \begin{matrix} | ||
7 \\ | 7 \\ | ||
0 \\ | 0 \\ | ||
-3 \\ | -3 \\ | ||
\end{ | \end{matrix} \right] | ||
→ | → | ||
\left[ \begin{ | \left[ \begin{matrix} | ||
-4 & 7 \\ | -4 & 7 \\ | ||
4 & 0 \\ | 4 & 0 \\ | ||
-1 & -3 \\ | -1 & -3 \\ | ||
\end{ | \end{matrix} \right] | ||
\text{which canonicalizes to} | \text{which canonicalizes to} | ||
\left[ \begin{ | \left[ \begin{matrix} | ||
-19 & -15 \\ | -19 & -15 \\ | ||
12 & 8 \\ | 12 & 8 \\ | ||
0 & 1 \\ | 0 & 1 \\ | ||
\end{ | \end{matrix} \right] | ||
</math> | </math> | ||
== With multivals == | |||
== | Joining is equivalent to the [[wedge product]], and can be calculated in that manner. Wedging two vals results in the same temperament (in [[wedgie]] form) as joining them does. | ||
== Canonicalization == | == Canonicalization == | ||
The canonicalization step is important for eliminating any redundancies that may have been introduced by merging related temperaments, such as [[rank-deficient|rank-deficiencies]] or [[enfactoring]]. | |||
=== Rank-deficiencies === | |||
Sometimes when temperaments are merged, rank-deficiencies may occur. For example, comma-merging septimal meantone and miracle temperaments: | |||
=== | |||
Sometimes when temperaments are merged, | |||
<math> | <math> | ||
\left[ \begin{array} { | \left[ \begin{array} {r|r} | ||
4 & 13 \\ | 4 & 13 \\ | ||
-4 & -10 \\ | -4 & -10 \\ | ||
| Line 122: | Line 100: | ||
| | | | ||
\left[ \begin{array} { | \left[ \begin{array} {r|r} | ||
-25 & -20 \\ | -25 & -20 \\ | ||
7 & 5 \\ | 7 & 5 \\ | ||
| Line 131: | Line 109: | ||
→ | → | ||
\left[ \begin{array} { | \left[ \begin{array} {r|r|r|r} | ||
4 & 13 & -25 & -20 \\ | 4 & 13 & -25 & -20 \\ | ||
-4 & -10 & 7 & 5 \\ | -4 & -10 & 7 & 5 \\ | ||
| Line 138: | Line 116: | ||
\end{array} \right] | \end{array} \right] | ||
\text{which | \text{which in canonical form* is} | ||
\left[ \begin{array} {r|r|r|r} | |||
\style{background-color:#F2B2B4;padding:5px}{0} & -49 & -45 & -36 \\ | |||
\style{background-color:#F2B2B4;padding:5px}{0} & 31 & 27 & 21 \\ | |||
\style{background-color:#F2B2B4;padding:5px}{0} & 0 & 1 & 0 \\ | |||
\style{background-color:#F2B2B4;padding:5px}{0} & 0 & 0 & 1 \\ | |||
\end{array} \right] | \end{array} \right] | ||
</math> | </math> | ||
We have not ''completely'' canonicalized yet; we did not remove the all-zero column (highlighted in red) that was created by the [[Hermite normal form]] step. The existence of any all-zero columns like this tells us that our matrix was column-rank-deficient, or in layperson's terms, that it contained redundant commas. In other words, these two temperaments make some of the same commas vanish, and so when we merged them—even though the input temperaments required 2 vectors each to represent—their merged result does not require all 4 vectors; it can be completely represented using only 3 vectors. So once we fully [[canonical form|canonicalize]], any all-zero column(s) are removed, and we end up with: | |||
<math> | <math> | ||
\left[ \begin{array} {r|r|r} | |||
\left[ \begin{array} { | |||
-49 & -45 & -36 \\ | -49 & -45 & -36 \\ | ||
31 & 27 & 21 \\ | 31 & 27 & 21 \\ | ||
| Line 165: | Line 136: | ||
0 & 0 & 1 \\ | 0 & 0 & 1 \\ | ||
\end{array} \right] | \end{array} \right] | ||
</math> | </math> | ||
=== Enfactoring === | === Enfactoring === | ||
Sometimes when temperaments are merged, enfactoring may occur. For example: | Sometimes when temperaments are merged, enfactoring may occur. For example: | ||
<math> | <math> | ||
\begin{array} {ccc} | \begin{array} {ccc} | ||
| Line 194: | Line 160: | ||
19 & 30 & 44 \\ | 19 & 30 & 44 \\ | ||
\end{array} \right] \\ | \end{array} \right] \\ | ||
\end{array} | \end{array} | ||
</math> | </math> | ||
The greatest factor of this matrix is 2, because we can produce the row {{val| 24 38 56 }} as a coprime linear combination of its rows (that's {{val| 5 8 12 }} + {{val| 19 30 44 }}), and the entries of this row have a GCD of 2, so in other words this matrix is 2-enfactored. If we merely put it into Hermite normal form, we receive: | |||
The greatest factor of this matrix is 2, because we can produce the row {{ | |||
<math> | <math> | ||
\left[ \begin{array} {rrr} | \left[ \begin{array} {rrr} | ||
1 & 0 & -4 \\ | 1 & 0 & -4 \\ | ||
| Line 212: | Line 173: | ||
</math> | </math> | ||
which is a 2-enfactored meantone mapping, and it reveals the greatest factor as the GCD of the second row. But if we fully canonicalize it (defactor, and put into normal form), then we get: | |||
which is a 2-enfactored meantone mapping, and it reveals the greatest factor as the GCD of the second row. But if we fully canonicalize it (defactor, and | |||
<math> | <math> | ||
\left[ \begin{array} {rrr} | \left[ \begin{array} {rrr} | ||
1 & 0 & -4 \\ | 1 & 0 & -4 \\ | ||
0 & 1 & 4 \\ | 0 & 1 & 4 \\ | ||
\end{array} \right] | \end{array} \right] | ||
</math> | </math> | ||
which is simply the canonical mapping for meantone temperament. | which is simply the canonical mapping for meantone temperament. | ||
=== Non-canonicalizing definition === | === Non-canonicalizing definition === | ||
By some definitions of the & operator, the [[defactoring]] part of canonicalization is not included—for example on [http://x31eq.com/temper/ Graham Breed's temperament finding tool]. This allows for things like {{nowrap| 5 & 19 }} to represent 2-enfactored meantone, rather than meantone itself. Instead of a full canonicalization, then, this definition merely puts the result into Hermite normal form and removes any all-zero rows or columns resulting from rank-deficiencies. | |||
By some definitions of the & operator, the [[defactoring]] part of canonicalization is not | |||
== Parallel intersections == | == Parallel intersections == | ||
Every temperament mapping has a dual comma basis, and every comma basis has a dual mapping. Because of this duality, a special parallelism exists. | Every temperament mapping has a dual comma basis, and every comma basis has a dual mapping. Because of this duality, a special parallelism exists. | ||
| Line 248: | Line 202: | ||
== Example system of temperaments related by merging == | == Example system of temperaments related by merging == | ||
Here we have a group of temperaments that are related by merges. Moving up in this diagram corresponds with map-merges, and downward movement corresponds with comma-merges. Temperaments lower on the chart [[support]] ones higher on the chart. | |||
[[File: | [[File:Temperament merging 7-limit example.png|1000px|frameless|center]] | ||
It is possible to merge temperaments from different | == Cross-domain temperament merging == | ||
It is possible to merge temperaments from different domains. For more information, see [[Cross-domain temperament merging]]. | |||
== Wolfram implementation == | == Wolfram implementation == | ||
Temperament merging has been implemented as the functions <code>mapMerge</code> and <code>commaMerge</code> in the [[RTT library in Wolfram Language]]. | Temperament merging has been implemented as the functions <code>mapMerge</code> and <code>commaMerge</code> in the [[RTT library in Wolfram Language]]. | ||