Dual list: Difference between revisions

From Xenharmonic Wiki
Jump to navigation Jump to search
Wikispaces>genewardsmith
**Imported revision 535836282 - Original comment: **
Sintel (talk | contribs)
-legacy, todo intro, inaccessible
 
(23 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-22 23:09:32 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>535836282</tt>.<br>
 
: The revision comment was: <tt></tt><br>
== Definition ==
The revision contents are below, presented both in the original Wikispaces Wikitext format, and in HTML exactly as Wikispaces rendered it.<br>
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.
<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">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 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.
</pre></div>
 
<h4>Original HTML content:</h4>
== Examples ==
<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;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;/body&gt;&lt;/html&gt;</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 }}]}}
 
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).
 
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 }}]}}
 
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 }}]}}
 
[[Category:Regular temperament theory]]
[[Category:Math]]

Latest revision as of 17:59, 29 March 2025

This page or section may be difficult to understand to those unfamiliar with the mathematical concepts involved. A more accessible version will be worked on; in the meantime, feel free to ask questions in the Xenharmonic Alliance Discord server or Facebook group.
Todo: intro
This page gives a more mathematical take on this topic. For a basic introduction, see comma basis.

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 + denotes the 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: dl(A) = Sat(hrm(clr(IA+A))), where I is the n×n identity matrix.

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.

Examples

dl[31 49 72 87 107], 41 65 95 115 142], 72 114 167 202 249]]) = [[-3 2 -1 2 -1, [-2 -3 -1 2 1, [-2 0 3 -3 1]

In this first example, the mapping contains a redundant row; the third row is a linear combination of the other two (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).

dl[[-3 2 -1 2 -1, [-2 -3 -1 2 1, [-2 0 3 -3 1]) = [1 1 3 3 2], 0 6 -7 -2 15]]

dl[1 1 3 3 2], 0 6 -7 -2 15]]) = [[-3 2 -1 2 -1, [-2 -3 -1 2 1, [-2 0 3 -3 1]