Temperament mapping matrix: Difference between revisions

Wikispaces>mbattaglia1
**Imported revision 355689440 - Original comment: **
Wikispaces>mbattaglia1
**Imported revision 355691458 - 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:25:30 UTC</tt>.<br>
: This revision was by author [[User:mbattaglia1|mbattaglia1]] and made on <tt>2012-07-31 10:36:14 UTC</tt>.<br>
: The original revision id was <tt>355689440</tt>.<br>
: The original revision id was <tt>355691458</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 24: Line 24:


[[math]]
[[math]]
\begin{bmatrix}
\[ \left[ \begin{array}{rrrrrrl}
\langle 15 &amp; 24 &amp; 35 &amp; 42 &amp; 52|\\
\langle &amp; 15 &amp; 24 &amp; 35 &amp; 42 &amp; 52 &amp; |\\
\langle 22 &amp; 35 &amp; 51 &amp; 62 &amp; 76|
\langle &amp; 22 &amp; 35 &amp; 51 &amp; 62 &amp; 76 &amp; |
\end{bmatrix}
\end{array} \right] \]
[[math]]
[[math]]


Line 33: Line 33:


[[math]]
[[math]]
\begin{bmatrix}
\[ \left[ \begin{array}{rrrrrrl}
\langle 1 &amp; 2 &amp; 3 &amp; 2 &amp; 4|\\
\langle &amp; 1 &amp; 2 &amp; 3 &amp; 2 &amp; 4 &amp; |\\
\langle 0 &amp; -3 &amp; -5 &amp; 6 &amp; -4|
\langle &amp; 0 &amp; -3 &amp; -5 &amp; 6 &amp; -4 &amp; |
\end{bmatrix}
\end{array} \right] \]
[[math]]
[[math]]


Line 44: 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]
[[math]]
\begin{bmatrix}
\[ \left[ \begin{array}{rr}
1 &amp; -1\\
1 &amp; -1\\
0 &amp; 1\\
0 &amp; 1\\
Line 51: Line 51:
0 &amp; 0\\
0 &amp; 0\\
0 &amp; 0
0 &amp; 0
\end{bmatrix}
\end{array} \right] \]
[[math]]
[[math]]


Line 57: Line 57:


[[math]]
[[math]]
\begin{bmatrix}
\[ \left[ \begin{array}{rrrrrrl}
|1 &amp; 0 &amp; 0 &amp; 0 &amp; 0\rangle\\
| &amp; 1 &amp; 0 &amp; 0 &amp; 0 &amp; 0 &amp; \rangle\\
|-1 &amp; 1 &amp; 0 &amp; 0 &amp; 0\rangle
| &amp; -1 &amp; 1 &amp; 0 &amp; 0 &amp; 0 &amp; \rangle
\end{bmatrix}
\end{array} \right] \]
[[math]]
[[math]]


Line 74: Line 74:


[[math]]
[[math]]
\begin{bmatrix}
\[ \left[ \begin{array}{rrrrrrl}
\langle 7 &amp; 11 &amp; 16 &amp; 20 &amp; 24|\\
\langle &amp; 7 &amp; 11 &amp; 16 &amp; 20 &amp; 24 &amp; |\\
\langle 15 &amp; 24 &amp; 35 &amp; 42 &amp; 52|
\langle &amp; 15 &amp; 24 &amp; 35 &amp; 42 &amp; 52 &amp; |
\end{bmatrix}
\end{array} \right] \]
[[math]]
[[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 &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 **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 [&lt;1 2 3 2 4|, &lt;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 &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 **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 [&lt;1 2 3 2 4|, &lt;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">&lt;html&gt;&lt;head&gt;&lt;title&gt;Temperament Mapping Matrices (M-maps)&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;!-- ws:start:WikiTextHeadingRule:4:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc0"&gt;&lt;a name="Basics"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:4 --&gt;Basics&lt;/h1&gt;
<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">&lt;html&gt;&lt;head&gt;&lt;title&gt;Temperament Mapping Matrices (M-maps)&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;!-- ws:start:WikiTextHeadingRule:5:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc0"&gt;&lt;a name="Basics"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:5 --&gt;Basics&lt;/h1&gt;
  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 &lt;a class="wiki_link" href="/Regular%20Temperaments"&gt;regular temperament&lt;/a&gt;, which is a group homomorphism &lt;strong&gt;T&lt;/strong&gt;: J -&amp;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 &lt;strong&gt;mapping matrix&lt;/strong&gt; or &lt;strong&gt;mapping&lt;/strong&gt; 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 &amp;quot;monzo-map&amp;quot; or &lt;strong&gt;M-map&lt;/strong&gt; when context demands, as opposed to the &lt;a class="wiki_link" href="/Subgroup%20Mapping%20Matrices%20%28V-maps%29"&gt;V-map&lt;/a&gt; which is a mapping on vals.&lt;br /&gt;
  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 &lt;a class="wiki_link" href="/Regular%20Temperaments"&gt;regular temperament&lt;/a&gt;, which is a group homomorphism &lt;strong&gt;T&lt;/strong&gt;: J -&amp;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 &lt;strong&gt;mapping matrix&lt;/strong&gt; or &lt;strong&gt;mapping&lt;/strong&gt; 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 &amp;quot;monzo-map&amp;quot; or &lt;strong&gt;M-map&lt;/strong&gt; when context demands, as opposed to the &lt;a class="wiki_link" href="/Subgroup%20Mapping%20Matrices%20%28V-maps%29"&gt;V-map&lt;/a&gt; which is a mapping on vals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Line 91: 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 &lt;a class="wiki_link" href="/Normal%20lists#x-Normal%20val%20lists"&gt;normal val list&lt;/a&gt;, or more generally if they have the same Hermite normal form.&lt;br /&gt;
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 &lt;a class="wiki_link" href="/Normal%20lists#x-Normal%20val%20lists"&gt;normal val list&lt;/a&gt;, or more generally if they have the same Hermite normal form.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- ws:start:WikiTextHeadingRule:6:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc1"&gt;&lt;a name="Dual Transformation"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:6 --&gt;Dual Transformation&lt;/h1&gt;
&lt;!-- ws:start:WikiTextHeadingRule:7:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc1"&gt;&lt;a name="Dual Transformation"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:7 --&gt;Dual Transformation&lt;/h1&gt;
  Any mapping matrix can be said to represent a linear map &lt;strong&gt;M:&lt;/strong&gt; J -&amp;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 &lt;strong&gt;M*:&lt;/strong&gt; K* -&amp;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 &lt;a class="wiki_link" href="http://xenharmonic.wikispaces.com/tmonzos%20and%20tvals"&gt;tvals&lt;/a&gt; on K, so &lt;strong&gt;M&lt;/strong&gt;* 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.&lt;br /&gt;
  Any mapping matrix can be said to represent a linear map &lt;strong&gt;M:&lt;/strong&gt; J -&amp;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 &lt;strong&gt;M*:&lt;/strong&gt; K* -&amp;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 &lt;a class="wiki_link" href="http://xenharmonic.wikispaces.com/tmonzos%20and%20tvals"&gt;tvals&lt;/a&gt; on K, so &lt;strong&gt;M&lt;/strong&gt;* 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.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These two transformations correspond to different types of matrix multiplication: the ordinary transformation &lt;strong&gt;M&lt;/strong&gt; corresponds to multiplication with the mapping on the left and a matrix whose columns are monzos on the right, and the dual transformation &lt;strong&gt;M&lt;/strong&gt;* corresponds to multiplication with the mapping on the right and a matrix whose rows are tvals on the left.&lt;br /&gt;
These two transformations correspond to different types of matrix multiplication: the ordinary transformation &lt;strong&gt;M&lt;/strong&gt; corresponds to multiplication with the mapping on the left and a matrix whose columns are monzos on the right, and the dual transformation &lt;strong&gt;M&lt;/strong&gt;* corresponds to multiplication with the mapping on the right and a matrix whose rows are tvals on the left.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- ws:start:WikiTextHeadingRule:8:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc2"&gt;&lt;a name="Example"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:8 --&gt;Example&lt;/h1&gt;
&lt;!-- ws:start:WikiTextHeadingRule:9:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc2"&gt;&lt;a name="Example"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:9 --&gt;Example&lt;/h1&gt;
  11-limit porcupine tempers out 55/54, 64/63, and 100/99, and is supported by the patent vals for &lt;a class="wiki_link" href="/15-EDO"&gt;15-EDO&lt;/a&gt; and &lt;a class="wiki_link" href="/22-EDO"&gt;22-EDO&lt;/a&gt;. 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:&lt;br /&gt;
  11-limit porcupine tempers out 55/54, 64/63, and 100/99, and is supported by the patent vals for &lt;a class="wiki_link" href="/15-EDO"&gt;15-EDO&lt;/a&gt; and &lt;a class="wiki_link" href="/22-EDO"&gt;22-EDO&lt;/a&gt;. 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:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- ws:start:WikiTextMathRule:0:
&lt;!-- ws:start:WikiTextMathRule:0:
[[math]]&amp;lt;br/&amp;gt;
[[math]]&amp;lt;br/&amp;gt;
\begin{bmatrix}&amp;lt;br /&amp;gt;
\[ \left[ \begin{array}{rrrrrrl}&amp;lt;br /&amp;gt;
\langle 15 &amp;amp; 24 &amp;amp; 35 &amp;amp; 42 &amp;amp; 52|\\&amp;lt;br /&amp;gt;
\langle &amp;amp; 15 &amp;amp; 24 &amp;amp; 35 &amp;amp; 42 &amp;amp; 52 &amp;amp; |\\&amp;lt;br /&amp;gt;
\langle 22 &amp;amp; 35 &amp;amp; 51 &amp;amp; 62 &amp;amp; 76|&amp;lt;br /&amp;gt;
\langle &amp;amp; 22 &amp;amp; 35 &amp;amp; 51 &amp;amp; 62 &amp;amp; 76 &amp;amp; |&amp;lt;br /&amp;gt;
\end{bmatrix}&amp;lt;br/&amp;gt;[[math]]
\end{array} \right] \]&amp;lt;br/&amp;gt;[[math]]
  --&gt;&lt;script type="math/tex"&gt;\begin{bmatrix}
  --&gt;&lt;script type="math/tex"&gt;\[ \left[ \begin{array}{rrrrrrl}
\langle 15 &amp; 24 &amp; 35 &amp; 42 &amp; 52|\\
\langle &amp; 15 &amp; 24 &amp; 35 &amp; 42 &amp; 52 &amp; |\\
\langle 22 &amp; 35 &amp; 51 &amp; 62 &amp; 76|
\langle &amp; 22 &amp; 35 &amp; 51 &amp; 62 &amp; 76 &amp; |
\end{bmatrix}&lt;/script&gt;&lt;!-- ws:end:WikiTextMathRule:0 --&gt;&lt;br /&gt;
\end{array} \right] \]&lt;/script&gt;&lt;!-- ws:end:WikiTextMathRule:0 --&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
where the row vectors are still placed in bras as a notational device to signify that these are vals. If we put this in &lt;a class="wiki_link" href="http://xenharmonic.wikispaces.com/Normal%20lists#x-Normal%20val%20lists"&gt;normal val list&lt;/a&gt; form, we get&lt;br /&gt;
where the row vectors are still placed in bras as a notational device to signify that these are vals. If we put this in &lt;a class="wiki_link" href="http://xenharmonic.wikispaces.com/Normal%20lists#x-Normal%20val%20lists"&gt;normal val list&lt;/a&gt; form, we get&lt;br /&gt;
Line 114: Line 114:
&lt;!-- ws:start:WikiTextMathRule:1:
&lt;!-- ws:start:WikiTextMathRule:1:
[[math]]&amp;lt;br/&amp;gt;
[[math]]&amp;lt;br/&amp;gt;
\begin{bmatrix}&amp;lt;br /&amp;gt;
\[ \left[ \begin{array}{rrrrrrl}&amp;lt;br /&amp;gt;
\langle 1 &amp;amp; 2 &amp;amp; 3 &amp;amp; 2 &amp;amp; 4|\\&amp;lt;br /&amp;gt;
\langle &amp;amp; 1 &amp;amp; 2 &amp;amp; 3 &amp;amp; 2 &amp;amp; 4 &amp;amp; |\\&amp;lt;br /&amp;gt;
\langle 0 &amp;amp; -3 &amp;amp; -5 &amp;amp; 6 &amp;amp; -4|&amp;lt;br /&amp;gt;
\langle &amp;amp; 0 &amp;amp; -3 &amp;amp; -5 &amp;amp; 6 &amp;amp; -4 &amp;amp; |&amp;lt;br /&amp;gt;
\end{bmatrix}&amp;lt;br/&amp;gt;[[math]]
\end{array} \right] \]&amp;lt;br/&amp;gt;[[math]]
  --&gt;&lt;script type="math/tex"&gt;\begin{bmatrix}
  --&gt;&lt;script type="math/tex"&gt;\[ \left[ \begin{array}{rrrrrrl}
\langle 1 &amp; 2 &amp; 3 &amp; 2 &amp; 4|\\
\langle &amp; 1 &amp; 2 &amp; 3 &amp; 2 &amp; 4 &amp; |\\
\langle 0 &amp; -3 &amp; -5 &amp; 6 &amp; -4|
\langle &amp; 0 &amp; -3 &amp; -5 &amp; 6 &amp; -4 &amp; |
\end{bmatrix}&lt;/script&gt;&lt;!-- ws:end:WikiTextMathRule:1 --&gt;&lt;br /&gt;
\end{array} \right] \]&lt;/script&gt;&lt;!-- ws:end:WikiTextMathRule:1 --&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
or, in shorthand, [&amp;lt;1 2 3 2 4|, &amp;lt;0 -3 -5 6 -4|]. We'll call this matrix &lt;strong&gt;P&lt;/strong&gt;.&lt;br /&gt;
or, in shorthand, [&amp;lt;1 2 3 2 4|, &amp;lt;0 -3 -5 6 -4|]. We'll call this matrix &lt;strong&gt;P&lt;/strong&gt;.&lt;br /&gt;
Line 128: Line 128:
We'll now right-multiply &lt;strong&gt;P&lt;/strong&gt; by the following matrix &lt;strong&gt;M&lt;/strong&gt; of two monzos, representing 2/1 and 3/2:&lt;br /&gt;
We'll now right-multiply &lt;strong&gt;P&lt;/strong&gt; by the following matrix &lt;strong&gt;M&lt;/strong&gt; of two monzos, representing 2/1 and 3/2:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[math]\begin{bmatrix}1 &amp;amp; -1\\0 &amp;amp; 1\\0 &amp;amp; 0\\0 &amp;amp; 0\\0 &amp;amp; 0\end{bmatrix}&lt;!-- ws:start:WikiTextMathRule:2:
&lt;!-- ws:start:WikiTextMathRule:2:
[[math]]&amp;lt;br/&amp;gt;
[[math]]&amp;lt;br/&amp;gt;
we can also write this matrix as&amp;lt;br /&amp;gt;
\[ \left[ \begin{array}{rr}&amp;lt;br /&amp;gt;
&amp;lt;br/&amp;gt;[[math]]
1 &amp;amp; -1\\&amp;lt;br /&amp;gt;
--&gt;&lt;script type="math/tex"&gt;we can also write this matrix as
0 &amp;amp; 1\\&amp;lt;br /&amp;gt;
&lt;/script&gt;&lt;!-- ws:end:WikiTextMathRule:2 --&gt;\begin{bmatrix}|1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0\rangle\\|-1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0\rangle\end{bmatrix}&lt;!-- ws:start:WikiTextMathRule:3:
0 &amp;amp; 0\\&amp;lt;br /&amp;gt;
0 &amp;amp; 0\\&amp;lt;br /&amp;gt;
0 &amp;amp; 0&amp;lt;br /&amp;gt;
\end{array} \right] \]&amp;lt;br/&amp;gt;[[math]]
--&gt;&lt;script type="math/tex"&gt;\[ \left[ \begin{array}{rr}
1 &amp; -1\\
0 &amp; 1\\
0 &amp; 0\\
0 &amp; 0\\
0 &amp; 0
\end{array} \right] \]&lt;/script&gt;&lt;!-- ws:end:WikiTextMathRule:2 --&gt;&lt;br /&gt;
&lt;br /&gt;
we can also write this matrix as&lt;br /&gt;
&lt;br /&gt;
&lt;!-- ws:start:WikiTextMathRule:3:
[[math]]&amp;lt;br/&amp;gt;
[[math]]&amp;lt;br/&amp;gt;
or, in shorthand, [|1 0 0 0 0&amp;gt;, |-1 1 0 0 0&amp;gt;], where it's understood in both cases that the kets represent columns.&amp;lt;br /&amp;gt;
\[ \left[ \begin{array}{rrrrrrl}&amp;lt;br /&amp;gt;
&amp;lt;br /&amp;gt;
| &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; \rangle\\&amp;lt;br /&amp;gt;
The result of **P*****M** is the matrix [|1 0&amp;gt;, |1 -3&amp;gt;], telling us that 2/1 maps to the tmonzo |1 0&amp;gt;, and that 3/2 maps to the tmonzo |1 -3&amp;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&amp;gt;.&amp;lt;br /&amp;gt;
| &amp;amp; -1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; \rangle&amp;lt;br /&amp;gt;
&amp;lt;br /&amp;gt;
\end{array} \right] \]&amp;lt;br/&amp;gt;[[math]]
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&amp;gt;, |6 -2 0 -1 0&amp;gt;, |2 -2 2 0 -1&amp;gt;]. If we then evaluate the product **P*N** we get the matrix [|0 0&amp;gt;, |0 0&amp;gt;, |0 0&amp;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**.&amp;lt;br /&amp;gt;
--&gt;&lt;script type="math/tex"&gt;\[ \left[ \begin{array}{rrrrrrl}
&amp;lt;br /&amp;gt;
| &amp; 1 &amp; 0 &amp; 0 &amp; 0 &amp; 0 &amp; \rangle\\
&amp;lt;br /&amp;gt;
| &amp; -1 &amp; 1 &amp; 0 &amp; 0 &amp; 0 &amp; \rangle
**The Dual Transformation**&amp;lt;br /&amp;gt;
\end{array} \right] \]&lt;/script&gt;&lt;!-- ws:end:WikiTextMathRule:3 --&gt;&lt;br /&gt;
To explore the dual transformation implied by **P**, we'll look at the tval matrix [&amp;lt;7 1|, &amp;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&amp;lt;br /&amp;gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;[[math]]
or, in shorthand, [|1 0 0 0 0&amp;gt;, |-1 1 0 0 0&amp;gt;], where it's understood in both cases that the kets represent columns.&lt;br /&gt;
--&gt;&lt;script type="math/tex"&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;
 
The result of &lt;strong&gt;P&lt;/strong&gt;&lt;strong&gt;*M&lt;/strong&gt; is the matrix [|1 0&amp;gt;, |1 -3&amp;gt;], telling us that 2/1 maps to the tmonzo |1 0&amp;gt;, and that 3/2 maps to the tmonzo |1 -3&amp;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&amp;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;
 
We can use this technique to indeed confirm that 55/54, 64/63, and 100/99 form a basis for the null module of &lt;strong&gt;P&lt;/strong&gt; by putting these intervals in monzo form as columns of a matrix &lt;strong&gt;N&lt;/strong&gt;, which works out to be [|-1 -3 1 0 1&amp;gt;, |6 -2 0 -1 0&amp;gt;, |2 -2 2 0 -1&amp;gt;]. If we then evaluate the product &lt;strong&gt;P*N&lt;/strong&gt; we get the matrix [|0 0&amp;gt;, |0 0&amp;gt;, |0 0&amp;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 &lt;strong&gt;P&lt;/strong&gt;.&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 **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;
 
&lt;br /&gt;
 
&lt;strong&gt;The Dual Transformation&lt;/strong&gt;&lt;br /&gt;
**The Dual Transformation**
To explore the dual transformation implied by &lt;strong&gt;P&lt;/strong&gt;, we'll look at the tval matrix [&amp;lt;7 1|, &amp;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 &lt;a class="wiki_link" href="/Transversal%20generators"&gt;transversal&lt;/a&gt;) 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;
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;
&lt;/script&gt;&lt;!-- ws:end:WikiTextMathRule:3 --&gt;\begin{bmatrix}\langle 7 &amp;amp; 11 &amp;amp; 16 &amp;amp; 20 &amp;amp; 24|\\\langle 15 &amp;amp; 24 &amp;amp; 35 &amp;amp; 42 &amp;amp; 52|\end{bmatrix}&lt;a class="wiki_link" href="/math"&gt;math&lt;/a&gt;&lt;br /&gt;
&lt;!-- ws:start:WikiTextMathRule:4:
[[math]]&amp;lt;br/&amp;gt;
\[ \left[ \begin{array}{rrrrrrl}&amp;lt;br /&amp;gt;
\langle &amp;amp; 7 &amp;amp; 11 &amp;amp; 16 &amp;amp; 20 &amp;amp; 24 &amp;amp; |\\&amp;lt;br /&amp;gt;
\langle &amp;amp; 15 &amp;amp; 24 &amp;amp; 35 &amp;amp; 42 &amp;amp; 52 &amp;amp; |&amp;lt;br /&amp;gt;
\end{array} \right] \]&amp;lt;br/&amp;gt;[[math]]
--&gt;&lt;script type="math/tex"&gt;\[ \left[ \begin{array}{rrrrrrl}
\langle &amp; 7 &amp; 11 &amp; 16 &amp; 20 &amp; 24 &amp; |\\
\langle &amp; 15 &amp; 24 &amp; 35 &amp; 42 &amp; 52 &amp; |
\end{array} \right] \]&lt;/script&gt;&lt;!-- ws:end:WikiTextMathRule:4 --&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for which the rows are the patent vals for &lt;a class="wiki_link" href="/7-EDO"&gt;7-EDO&lt;/a&gt; and &lt;a class="wiki_link" href="/15-EDO"&gt;15-EDO&lt;/a&gt;, respectively. Since the dual transformation is injective, these vals can be interpreted as the full-limit vals which are implied by the &amp;lt;7 1| and &amp;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 &lt;strong&gt;V*P&lt;/strong&gt; is another valid mapping matrix for porcupine. We can confirm this by putting the matrix back into normal val list form and getting [&amp;lt;1 2 3 2 4|, &amp;lt;0 -3 -5 6 -4|] as a result again.&lt;/body&gt;&lt;/html&gt;</pre></div>
for which the rows are the patent vals for &lt;a class="wiki_link" href="/7-EDO"&gt;7-EDO&lt;/a&gt; and &lt;a class="wiki_link" href="/15-EDO"&gt;15-EDO&lt;/a&gt;, respectively. Since the dual transformation is injective, these vals can be interpreted as the full-limit vals which are implied by the &amp;lt;7 1| and &amp;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 &lt;strong&gt;V*P&lt;/strong&gt; is another valid mapping matrix for porcupine. We can confirm this by putting the matrix back into normal val list form and getting [&amp;lt;1 2 3 2 4|, &amp;lt;0 -3 -5 6 -4|] as a result again.&lt;/body&gt;&lt;/html&gt;</pre></div>