Temperament mapping matrix: Difference between revisions
Wikispaces>mbattaglia1 **Imported revision 355688262 - Original comment: ** |
Wikispaces>mbattaglia1 **Imported revision 355689440 - Original comment: ** |
||
| Line 1: | Line 1: | ||
<h2>IMPORTED REVISION FROM WIKISPACES</h2> | <h2>IMPORTED REVISION FROM WIKISPACES</h2> | ||
This is an imported revision from Wikispaces. The revision metadata is included below for reference:<br> | This is an imported revision from Wikispaces. The revision metadata is included below for reference:<br> | ||
: This revision was by author [[User:mbattaglia1|mbattaglia1]] and made on <tt>2012-07-31 10: | : This revision was by author [[User:mbattaglia1|mbattaglia1]] and made on <tt>2012-07-31 10:25:30 UTC</tt>.<br> | ||
: The original revision id was <tt> | : The original revision id was <tt>355689440</tt>.<br> | ||
: The revision comment was: <tt></tt><br> | : The revision comment was: <tt></tt><br> | ||
The revision contents are below, presented both in the original Wikispaces Wikitext format, and in HTML exactly as Wikispaces rendered it.<br> | The revision contents are below, presented both in the original Wikispaces Wikitext format, and in HTML exactly as Wikispaces rendered it.<br> | ||
| Line 23: | Line 23: | ||
11-limit porcupine tempers out 55/54, 64/63, and 100/99, and is supported by the patent vals for [[15-EDO]] and [[22-EDO]]. Since these two vals form a saturated submodule of the module of 11-limit vals, then the matrix formed by setting the rows to these vals is a valid mapping matrix for porcupine: | 11-limit porcupine tempers out 55/54, 64/63, and 100/99, and is supported by the patent vals for [[15-EDO]] and [[22-EDO]]. Since these two vals form a saturated submodule of the module of 11-limit vals, then the matrix formed by setting the rows to these vals is a valid mapping matrix for porcupine: | ||
[[ | [[math]] | ||
\begin{bmatrix} | |||
\langle 15 & 24 & 35 & 42 & 52|\\ | |||
[[ | \langle 22 & 35 & 51 & 62 & 76| | ||
\end{bmatrix} | |||
[[math]] | |||
where the row vectors are still placed in bras as a notational device to signify that these are vals. If we put this in [[xenharmonic/Normal lists#x-Normal%20val%20lists|normal val list]] form, we get | where the row vectors are still placed in bras as a notational device to signify that these are vals. If we put this in [[xenharmonic/Normal lists#x-Normal%20val%20lists|normal val list]] form, we get | ||
[[math]] | |||
\begin{bmatrix} | |||
\langle 1 & 2 & 3 & 2 & 4|\\ | |||
\langle 0 & -3 & -5 & 6 & -4| | |||
\end{bmatrix} | |||
[[math]] | |||
or, in shorthand, [<1 2 3 2 4|, <0 -3 -5 6 -4|]. We'll call this matrix **P**. | or, in shorthand, [<1 2 3 2 4|, <0 -3 -5 6 -4|]. We'll call this matrix **P**. | ||
| Line 37: | Line 44: | ||
We'll now right-multiply **P** by the following matrix **M** of two monzos, representing 2/1 and 3/2: | We'll now right-multiply **P** by the following matrix **M** of two monzos, representing 2/1 and 3/2: | ||
[[math] | |||
\begin{bmatrix} | |||
1 & -1\\ | |||
0 & 1\\ | |||
0 & 0\\ | |||
0 & 0\\ | |||
0 & 0 | |||
\end{bmatrix} | |||
[[math]] | |||
we can also write this matrix as | we can also write this matrix as | ||
[[math]] | |||
\begin{bmatrix} | |||
|1 & 0 & 0 & 0 & 0\rangle\\ | |||
|-1 & 1 & 0 & 0 & 0\rangle | |||
\end{bmatrix} | |||
[[math]] | |||
or, in shorthand, [|1 0 0 0 0>, |-1 1 0 0 0>], where it's understood in both cases that the kets represent columns. | or, in shorthand, [|1 0 0 0 0>, |-1 1 0 0 0>], where it's understood in both cases that the kets represent columns. | ||
| Line 56: | Line 71: | ||
**The Dual Transformation** | **The Dual Transformation** | ||
To explore the dual transformation implied by **P**, we'll look at the tval matrix [<7 1|, <15 2|], where again the bras signify that the tvals represent matrix rows. The first tval maps the first generator (for which 2/1 is a [[Transversal generators|transversal]]) to 7 steps and the second generator (for which 10/9 is a transversal) to 1 step, and similarly with the second tval. If we call this matrix | To explore the dual transformation implied by **P**, we'll look at the tval matrix [<7 1|, <15 2|], where again the bras signify that the tvals represent matrix rows. The first tval maps the first generator (for which 2/1 is a [[Transversal generators|transversal]]) to 7 steps and the second generator (for which 10/9 is a transversal) to 1 step, and similarly with the second tval. If we call this matrix V, then the result of V*P is the matrix | ||
[[math]] | |||
\begin{bmatrix} | |||
\langle 7 & 11 & 16 & 20 & 24|\\ | |||
\langle 15 & 24 & 35 & 42 & 52| | |||
\end{bmatrix} | |||
[[math]] | |||
for which the rows are the patent vals for [[7-EDO]] and [[15-EDO]], respectively. Since the dual transformation is injective, these vals can be interpreted as the full-limit vals which are implied by the <7 1| and <15 2| tvals. Additionally, since the image of the dual transformation is the set of vals supporting porcupine, and since the above two vals are linearly independent, the resulting matrix **V*P** is another valid mapping matrix for porcupine. We can confirm this by putting the matrix back into normal val list form and getting [<1 2 3 2 4|, <0 -3 -5 6 -4|] as a result again.</pre></div> | for which the rows are the patent vals for [[7-EDO]] and [[15-EDO]], respectively. Since the dual transformation is injective, these vals can be interpreted as the full-limit vals which are implied by the <7 1| and <15 2| tvals. Additionally, since the image of the dual transformation is the set of vals supporting porcupine, and since the above two vals are linearly independent, the resulting matrix **V*P** is another valid mapping matrix for porcupine. We can confirm this by putting the matrix back into normal val list form and getting [<1 2 3 2 4|, <0 -3 -5 6 -4|] as a result again.</pre></div> | ||
<h4>Original HTML content:</h4> | <h4>Original HTML content:</h4> | ||
<div style="width:100%; max-height:400pt; overflow:auto; background-color:#f8f9fa; border: 1px solid #eaecf0; padding:0em"><pre style="margin:0px;border:none;background:none;word-wrap:break-word;width:200%;white-space: pre-wrap ! important" class="old-revision-html"><html><head><title>Temperament Mapping Matrices (M-maps)</title></head><body><!-- ws:start:WikiTextHeadingRule: | <div style="width:100%; max-height:400pt; overflow:auto; background-color:#f8f9fa; border: 1px solid #eaecf0; padding:0em"><pre style="margin:0px;border:none;background:none;word-wrap:break-word;width:200%;white-space: pre-wrap ! important" class="old-revision-html"><html><head><title>Temperament Mapping Matrices (M-maps)</title></head><body><!-- ws:start:WikiTextHeadingRule:4:&lt;h1&gt; --><h1 id="toc0"><a name="Basics"></a><!-- ws:end:WikiTextHeadingRule:4 -->Basics</h1> | ||
The multiplicative group of any set of rational numbers, which is an r-rank free abelian group, also naturally has the structure of being a Z-module. Thus, a <a class="wiki_link" href="/Regular%20Temperaments">regular temperament</a>, which is a group homomorphism <strong>T</strong>: J -&gt; K from the group J of JI rationals to a group K of tempered intervals, also has the structure of being a module homomorphism between Z-modules. This homomorphism can also be represented by a integer matrix, called a <strong>mapping matrix</strong> or <strong>mapping</strong> for the temperament. Since there is more than one type of mapping matrix which appears in music theory, it has also more rarely been called a &quot;monzo-map&quot; or <strong>M-map</strong> when context demands, as opposed to the <a class="wiki_link" href="/Subgroup%20Mapping%20Matrices%20%28V-maps%29">V-map</a> which is a mapping on vals.<br /> | The multiplicative group of any set of rational numbers, which is an r-rank free abelian group, also naturally has the structure of being a Z-module. Thus, a <a class="wiki_link" href="/Regular%20Temperaments">regular temperament</a>, which is a group homomorphism <strong>T</strong>: J -&gt; K from the group J of JI rationals to a group K of tempered intervals, also has the structure of being a module homomorphism between Z-modules. This homomorphism can also be represented by a integer matrix, called a <strong>mapping matrix</strong> or <strong>mapping</strong> for the temperament. Since there is more than one type of mapping matrix which appears in music theory, it has also more rarely been called a &quot;monzo-map&quot; or <strong>M-map</strong> when context demands, as opposed to the <a class="wiki_link" href="/Subgroup%20Mapping%20Matrices%20%28V-maps%29">V-map</a> which is a mapping on vals.<br /> | ||
<br /> | <br /> | ||
| Line 72: | Line 91: | ||
Note also that since all mapping matrices for T will have the same row module, we can easily check to see if two matrices represent the same temperament by checking to see if they generate the same <a class="wiki_link" href="/Normal%20lists#x-Normal%20val%20lists">normal val list</a>, or more generally if they have the same Hermite normal form.<br /> | Note also that since all mapping matrices for T will have the same row module, we can easily check to see if two matrices represent the same temperament by checking to see if they generate the same <a class="wiki_link" href="/Normal%20lists#x-Normal%20val%20lists">normal val list</a>, or more generally if they have the same Hermite normal form.<br /> | ||
<br /> | <br /> | ||
<!-- ws:start:WikiTextHeadingRule: | <!-- ws:start:WikiTextHeadingRule:6:&lt;h1&gt; --><h1 id="toc1"><a name="Dual Transformation"></a><!-- ws:end:WikiTextHeadingRule:6 -->Dual Transformation</h1> | ||
Any mapping matrix can be said to represent a linear map <strong>M:</strong> J -&gt; K, where J is a module of JI intervals and K is a module of tempered intervals. There is thus an associated dual transformation <strong>M*:</strong> K* -&gt; J*, where J* and K* are the dual modules to J and K, respectively. J* is the module of vals on J, and K* is the module of <a class="wiki_link" href="http://xenharmonic.wikispaces.com/tmonzos%20and%20tvals">tvals</a> on K, so <strong>M</strong>* represents a linear transformation mapping from tvals to vals. This mapping will generally be injective but not surjective; its image is the submodule of vals supporting the associated temperament, and no two tvals map to the same val.<br /> | Any mapping matrix can be said to represent a linear map <strong>M:</strong> J -&gt; K, where J is a module of JI intervals and K is a module of tempered intervals. There is thus an associated dual transformation <strong>M*:</strong> K* -&gt; J*, where J* and K* are the dual modules to J and K, respectively. J* is the module of vals on J, and K* is the module of <a class="wiki_link" href="http://xenharmonic.wikispaces.com/tmonzos%20and%20tvals">tvals</a> on K, so <strong>M</strong>* represents a linear transformation mapping from tvals to vals. This mapping will generally be injective but not surjective; its image is the submodule of vals supporting the associated temperament, and no two tvals map to the same val.<br /> | ||
<br /> | <br /> | ||
These two transformations correspond to different types of matrix multiplication: the ordinary transformation <strong>M</strong> corresponds to multiplication with the mapping on the left and a matrix whose columns are monzos on the right, and the dual transformation <strong>M</strong>* corresponds to multiplication with the mapping on the right and a matrix whose rows are tvals on the left.<br /> | These two transformations correspond to different types of matrix multiplication: the ordinary transformation <strong>M</strong> corresponds to multiplication with the mapping on the left and a matrix whose columns are monzos on the right, and the dual transformation <strong>M</strong>* corresponds to multiplication with the mapping on the right and a matrix whose rows are tvals on the left.<br /> | ||
<br /> | <br /> | ||
<!-- ws:start:WikiTextHeadingRule: | <!-- ws:start:WikiTextHeadingRule:8:&lt;h1&gt; --><h1 id="toc2"><a name="Example"></a><!-- ws:end:WikiTextHeadingRule:8 -->Example</h1> | ||
11-limit porcupine tempers out 55/54, 64/63, and 100/99, and is supported by the patent vals for <a class="wiki_link" href="/15-EDO">15-EDO</a> and <a class="wiki_link" href="/22-EDO">22-EDO</a>. Since these two vals form a saturated submodule of the module of 11-limit vals, then the matrix formed by setting the rows to these vals is a valid mapping matrix for porcupine:<br /> | 11-limit porcupine tempers out 55/54, 64/63, and 100/99, and is supported by the patent vals for <a class="wiki_link" href="/15-EDO">15-EDO</a> and <a class="wiki_link" href="/22-EDO">22-EDO</a>. Since these two vals form a saturated submodule of the module of 11-limit vals, then the matrix formed by setting the rows to these vals is a valid mapping matrix for porcupine:<br /> | ||
<br /> | <br /> | ||
<!-- ws:start: | <!-- ws:start:WikiTextMathRule:0: | ||
&lt; | [[math]]&lt;br/&gt; | ||
\begin{bmatrix}&lt;br /&gt; | |||
\langle 15 &amp; 24 &amp; 35 &amp; 42 &amp; 52|\\&lt;br /&gt; | |||
\langle 22 &amp; 35 &amp; 51 &amp; 62 &amp; 76|&lt;br /&gt; | |||
\end{bmatrix}&lt;br/&gt;[[math]] | |||
--><script type="math/tex">\begin{bmatrix} | |||
\langle 15 & 24 & 35 & 42 & 52|\\ | |||
\langle 22 & 35 & 51 & 62 & 76| | |||
\end{bmatrix}</script><!-- ws:end:WikiTextMathRule:0 --><br /> | |||
<br /> | |||
where the row vectors are still placed in bras as a notational device to signify that these are vals. If we put this in <a class="wiki_link" href="http://xenharmonic.wikispaces.com/Normal%20lists#x-Normal%20val%20lists">normal val list</a> form, we get<br /> | |||
--> | |||
</ | |||
<!-- ws:end: | |||
<br /> | <br /> | ||
< | <!-- ws:start:WikiTextMathRule:1: | ||
[[math]]&lt;br/&gt; | |||
\begin{bmatrix}&lt;br /&gt; | |||
\langle 1 &amp; 2 &amp; 3 &amp; 2 &amp; 4|\\&lt;br /&gt; | |||
\langle 0 &amp; -3 &amp; -5 &amp; 6 &amp; -4|&lt;br /&gt; | |||
\end{bmatrix}&lt;br/&gt;[[math]] | |||
--><script type="math/tex">\begin{bmatrix} | |||
\langle 1 & 2 & 3 & 2 & 4|\\ | |||
\langle 0 & -3 & -5 & 6 & -4| | |||
\end{bmatrix}</script><!-- ws:end:WikiTextMathRule:1 --><br /> | |||
<br /> | <br /> | ||
or, in shorthand, [&lt;1 2 3 2 4|, &lt;0 -3 -5 6 -4|]. We'll call this matrix <strong>P</strong>.<br /> | or, in shorthand, [&lt;1 2 3 2 4|, &lt;0 -3 -5 6 -4|]. We'll call this matrix <strong>P</strong>.<br /> | ||
| Line 106: | Line 128: | ||
We'll now right-multiply <strong>P</strong> by the following matrix <strong>M</strong> of two monzos, representing 2/1 and 3/2:<br /> | We'll now right-multiply <strong>P</strong> by the following matrix <strong>M</strong> of two monzos, representing 2/1 and 3/2:<br /> | ||
<br /> | <br /> | ||
& | [[math]\begin{bmatrix}1 &amp; -1\\0 &amp; 1\\0 &amp; 0\\0 &amp; 0\\0 &amp; 0\end{bmatrix}<!-- ws:start:WikiTextMathRule:2: | ||
& | [[math]]&lt;br/&gt; | ||
& | we can also write this matrix as&lt;br /&gt; | ||
&lt;br/&gt;[[math]] | |||
--><script type="math/tex">we can also write this matrix as | |||
</script><!-- ws:end:WikiTextMathRule:2 -->\begin{bmatrix}|1 &amp; 0 &amp; 0 &amp; 0 &amp; 0\rangle\\|-1 &amp; 1 &amp; 0 &amp; 0 &amp; 0\rangle\end{bmatrix}<!-- ws:start:WikiTextMathRule:3: | |||
we can also write this matrix as | [[math]]&lt;br/&gt; | ||
< | or, in shorthand, [|1 0 0 0 0&gt;, |-1 1 0 0 0&gt;], where it's understood in both cases that the kets represent columns.&lt;br /&gt; | ||
< | &lt;br /&gt; | ||
& | The result of **P*****M** is the matrix [|1 0&gt;, |1 -3&gt;], telling us that 2/1 maps to the tmonzo |1 0&gt;, and that 3/2 maps to the tmonzo |1 -3&gt;. This tells us that 2/1 maps to one of the generators for porcupine and that 3/2 is made up of one 2/1 minus three of the other generator. It so happens that the other generator is 10/9, which maps to |0 1&gt;.&lt;br /&gt; | ||
&lt;br /&gt; | |||
or, in shorthand, [|1 0 0 0 0&gt;, |-1 1 0 0 0&gt;], where it's understood in both cases that the kets represent columns.<br /> | We can use this technique to indeed confirm that 55/54, 64/63, and 100/99 form a basis for the null module of **P** by putting these intervals in monzo form as columns of a matrix **N**, which works out to be [|-1 -3 1 0 1&gt;, |6 -2 0 -1 0&gt;, |2 -2 2 0 -1&gt;]. If we then evaluate the product **P*N** we get the matrix [|0 0&gt;, |0 0&gt;, |0 0&gt;], meaning that all of these intervals map to the unison tmonzo. This confirms that the kernel of porcupine does indeed lie in the null module of **P**.&lt;br /&gt; | ||
<br /> | &lt;br /&gt; | ||
The result of | &lt;br /&gt; | ||
<br /> | **The Dual Transformation**&lt;br /&gt; | ||
We can use this technique to indeed confirm that 55/54, 64/63, and 100/99 form a basis for the null module of | To explore the dual transformation implied by **P**, we'll look at the tval matrix [&lt;7 1|, &lt;15 2|], where again the bras signify that the tvals represent matrix rows. The first tval maps the first generator (for which 2/1 is a [[Transversal generators|transversal]]) to 7 steps and the second generator (for which 10/9 is a transversal) to 1 step, and similarly with the second tval. If we call this matrix V, then the result of V*P is the matrix&lt;br /&gt; | ||
<br /> | &lt;br/&gt;[[math]] | ||
<br /> | --><script type="math/tex">or, in shorthand, [|1 0 0 0 0>, |-1 1 0 0 0>], where it's understood in both cases that the kets represent columns. | ||
To explore the dual transformation implied by | The result of **P*****M** is the matrix [|1 0>, |1 -3>], telling us that 2/1 maps to the tmonzo |1 0>, and that 3/2 maps to the tmonzo |1 -3>. This tells us that 2/1 maps to one of the generators for porcupine and that 3/2 is made up of one 2/1 minus three of the other generator. It so happens that the other generator is 10/9, which maps to |0 1>. | ||
& | |||
& | We can use this technique to indeed confirm that 55/54, 64/63, and 100/99 form a basis for the null module of **P** by putting these intervals in monzo form as columns of a matrix **N**, which works out to be [|-1 -3 1 0 1>, |6 -2 0 -1 0>, |2 -2 2 0 -1>]. If we then evaluate the product **P*N** we get the matrix [|0 0>, |0 0>, |0 0>], meaning that all of these intervals map to the unison tmonzo. This confirms that the kernel of porcupine does indeed lie in the null module of **P**. | ||
& | |||
**The Dual Transformation** | |||
To explore the dual transformation implied by **P**, we'll look at the tval matrix [<7 1|, <15 2|], where again the bras signify that the tvals represent matrix rows. The first tval maps the first generator (for which 2/1 is a [[Transversal generators|transversal]]) to 7 steps and the second generator (for which 10/9 is a transversal) to 1 step, and similarly with the second tval. If we call this matrix V, then the result of V*P is the matrix | |||
</script><!-- ws:end:WikiTextMathRule:3 -->\begin{bmatrix}\langle 7 &amp; 11 &amp; 16 &amp; 20 &amp; 24|\\\langle 15 &amp; 24 &amp; 35 &amp; 42 &amp; 52|\end{bmatrix}<a class="wiki_link" href="/math">math</a><br /> | |||
<br /> | <br /> | ||
for which the rows are the patent vals for <a class="wiki_link" href="/7-EDO">7-EDO</a> and <a class="wiki_link" href="/15-EDO">15-EDO</a>, respectively. Since the dual transformation is injective, these vals can be interpreted as the full-limit vals which are implied by the &lt;7 1| and &lt;15 2| tvals. Additionally, since the image of the dual transformation is the set of vals supporting porcupine, and since the above two vals are linearly independent, the resulting matrix <strong>V*P</strong> is another valid mapping matrix for porcupine. We can confirm this by putting the matrix back into normal val list form and getting [&lt;1 2 3 2 4|, &lt;0 -3 -5 6 -4|] as a result again.</body></html></pre></div> | for which the rows are the patent vals for <a class="wiki_link" href="/7-EDO">7-EDO</a> and <a class="wiki_link" href="/15-EDO">15-EDO</a>, respectively. Since the dual transformation is injective, these vals can be interpreted as the full-limit vals which are implied by the &lt;7 1| and &lt;15 2| tvals. Additionally, since the image of the dual transformation is the set of vals supporting porcupine, and since the above two vals are linearly independent, the resulting matrix <strong>V*P</strong> is another valid mapping matrix for porcupine. We can confirm this by putting the matrix back into normal val list form and getting [&lt;1 2 3 2 4|, &lt;0 -3 -5 6 -4|] as a result again.</body></html></pre></div> | ||