Dual list: Difference between revisions

Wikispaces>genewardsmith
**Imported revision 535838154 - Original comment: **
Sintel (talk | contribs)
-legacy, todo intro, inaccessible
 
(22 intermediate revisions by 9 users not shown)
Line 1: Line 1:
<h2>IMPORTED REVISION FROM WIKISPACES</h2>
{{inacc}}
This is an imported revision from Wikispaces. The revision metadata is included below for reference:<br>
{{todo|intro|inline=1}}
: This revision was by author [[User:genewardsmith|genewardsmith]] and made on <tt>2014-12-23 01:25:10 UTC</tt>.<br>
: ''This page gives a more mathematical take on this topic. For a basic introduction, see [[comma basis]].''
: The original revision id was <tt>535838154</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>
<h4>Original Wikitext 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;white-space: pre-wrap ! important" class="old-revision-html">
=Definition=
If A is an integral matrix, denote by Saturate(A) the integral matrix which is the [[saturation]] of A, defined in terms of the right reducing matrix to Smith normal form. We may clean the result up a little by LLL reduction, so let Sat(A) = LLL(Saturate(A)). The square matrix with rational coefficients A`A, where A` is the pseudoinverse of A, is an nxn projection matrix, where n is the number of columns of A. Let us also define Clear(P) to be the rational number matrix P cleared of denominators by multiplying through the rows by the LCM of the denominators, and Hrm(A) to be the Hermite reduction of A, with any rows consisting of zeros removed. We may combine these into the dual list function: Dulist(A) = Sat(Hrm(Clear(I - A`A))), where I is the nxn identity matrix.


The interest of the dual list stems from the fact that if A is a list of vals defining a temperament, then Dulist(A) is a list of monzos defining the same temperament, and conversely--Dulist applied to a list of monzos defining a temperament gives a list of vls defining the same temperament.
== Definition ==
If '''A''' is an integral matrix, denote by Saturate('''A''') the integral matrix which is the [[Mathematical theory of saturation|saturation]] of '''A''', defined in terms of the right reducing matrix to Smith normal form. We may clean the result up a little by [[LLL reduction]], so let {{nowrap|Sat('''A''') {{=}} LLL(Saturate('''A'''))}}. The square matrix with rational coefficients '''A'''{{+}}'''A''', where {{+}} denotes the {{w|Moore–Penrose pseudoinverse}}, is an ''n''×''n'' projection matrix, where ''n'' is the number of columns of '''A'''. Let us also define clr('''P''') to be the rational number matrix '''P''' cleared of denominators by multiplying through the rows by the LCM of the denominators, and hrm('''A''') to be the Hermite reduction of '''A''', with any rows consisting of zeros removed. We may combine these into the dual list function: {{nowrap|dl('''A''') {{=}} Sat(hrm(clr('''I''' − '''A'''{{+}}'''A''')))}}, where '''I''' is the ''n''×''n'' identity matrix.


=Examples=
The interest of the dual list stems from the fact that if '''A''' is a list of vals defining a temperament, then dl('''A''') is a list of monzos defining the same temperament, and conversely, Dulist applied to a list of monzos defining a temperament gives a list of vals defining the same temperament.
Dulist([&lt;31 49 72 87 107|, &lt;41 65 95 115 142|, &lt;72 114 167 202 249|]) = [|-3 2 -1 2 -1&gt;, |-2 -3 -1 2 1&gt;, |-2 0 3 -3 1&gt;]. Dulist([|-3 2 -1 2 -1&gt;, |-2 -3 -1 2 1&gt;, |-2 0 3 -3 1&gt;]) =
 
[&lt;1 1 3 3 2|, &lt;0 6 -7 -2 15|]. Dulist([&lt;1 1 3 3 2|, &lt;0 6 -7 -2 15|]) = [|-3 2 -1 2 -1&gt;, |-2 -3 -1 2 1&gt;, |-2 0 3 -3 1&gt;].
== Examples ==
</pre></div>
dl[{{map| 31 49 72 87 107 }}, {{map| 41 65 95 115 142 }}, {{map| 72 114 167 202 249 }}]) {{nowrap|{{=}} [{{vector| -3 2 -1 2 -1 }}, {{vector| -2 -3 -1 2 1 }}, {{vector| -2 0 3 -3 1 }}]}}
<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;dual list&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;br /&gt;
In this first example, the mapping contains a redundant row; the third row is a linear combination of the other two ({{nowrap|31 + 41 {{=}} 72|49 + 65 {{=}} 114}}, etc). Therefore, the dual list operation returns a comma basis with nullity 3, because the rank is truly 2 (and the rank and nullity must sum to the dimensionality, which is 5 here, because there are 5 terms in each map and comma, i.e. it is 11-limit).
&lt;!-- ws:start:WikiTextHeadingRule:0:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc0"&gt;&lt;a name="Definition"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:0 --&gt;Definition&lt;/h1&gt;
 
If A is an integral matrix, denote by Saturate(A) the integral matrix which is the &lt;a class="wiki_link" href="/saturation"&gt;saturation&lt;/a&gt; of A, defined in terms of the right reducing matrix to Smith normal form. We may clean the result up a little by LLL reduction, so let Sat(A) = LLL(Saturate(A)). The square matrix with rational coefficients A`A, where A` is the pseudoinverse of A, is an nxn projection matrix, where n is the number of columns of A. Let us also define Clear(P) to be the rational number matrix P cleared of denominators by multiplying through the rows by the LCM of the denominators, and Hrm(A) to be the Hermite reduction of A, with any rows consisting of zeros removed. We may combine these into the dual list function: Dulist(A) = Sat(Hrm(Clear(I - A`A))), where I is the nxn identity matrix.&lt;br /&gt;
dl[{{vector| -3 2 -1 2 -1 }}, {{vector| -2 -3 -1 2 1 }}, {{vector| -2 0 3 -3 1 }}]) {{nowrap|{{=}} [{{map| 1 1 3 3 2 }}, {{map| 0 6 -7 -2 15 }}]}}
&lt;br /&gt;
 
The interest of the dual list stems from the fact that if A is a list of vals defining a temperament, then Dulist(A) is a list of monzos defining the same temperament, and conversely--Dulist applied to a list of monzos defining a temperament gives a list of vls defining the same temperament.&lt;br /&gt;
dl[{{map| 1 1 3 3 2 }}, {{map| 0 6 -7 -2 15 }}]) {{nowrap|{{=}} [{{vector| -3 2 -1 2 -1 }}, {{vector| -2 -3 -1 2 1 }}, {{vector| -2 0 3 -3 1 }}]}}
&lt;br /&gt;
 
&lt;!-- ws:start:WikiTextHeadingRule:2:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc1"&gt;&lt;a name="Examples"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:2 --&gt;Examples&lt;/h1&gt;
[[Category:Regular temperament theory]]
Dulist([&amp;lt;31 49 72 87 107|, &amp;lt;41 65 95 115 142|, &amp;lt;72 114 167 202 249|]) = [|-3 2 -1 2 -1&amp;gt;, |-2 -3 -1 2 1&amp;gt;, |-2 0 3 -3 1&amp;gt;]. Dulist([|-3 2 -1 2 -1&amp;gt;, |-2 -3 -1 2 1&amp;gt;, |-2 0 3 -3 1&amp;gt;]) =&lt;br /&gt;
[[Category:Math]]
[&amp;lt;1 1 3 3 2|, &amp;lt;0 6 -7 -2 15|]. Dulist([&amp;lt;1 1 3 3 2|, &amp;lt;0 6 -7 -2 15|]) = [|-3 2 -1 2 -1&amp;gt;, |-2 -3 -1 2 1&amp;gt;, |-2 0 3 -3 1&amp;gt;].&lt;/body&gt;&lt;/html&gt;</pre></div>