Normal forms: Difference between revisions

Wikispaces>genewardsmith
**Imported revision 153447167 - Original comment: **
Wikispaces>genewardsmith
**Imported revision 153448943 - 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:genewardsmith|genewardsmith]] and made on <tt>2010-07-21 06:14:27 UTC</tt>.<br>
: This revision was by author [[User:genewardsmith|genewardsmith]] and made on <tt>2010-07-21 06:49:09 UTC</tt>.<br>
: The original revision id was <tt>153447167</tt>.<br>
: The original revision id was <tt>153448943</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 58: Line 58:
(2) Throw away all rows which consist of nothing but zeros, resulting in a kxm matrix
(2) Throw away all rows which consist of nothing but zeros, resulting in a kxm matrix


(3) Find the [[http://en.wikipedia.org/wiki/Moore%E2%80%93Penrose_pseudoinverse|Moore-Penrose pseudoinverse]] of the kxm matrix, take its transpose, and multiply this from the left by the row vector [1 log2(3) log2(5) ... log2(p)]. If the ith entry in the result is negative, multiply the corresponding val by -1. Return the result as the normalized val list.
(3) Find the [[http://en.wikipedia.org/wiki/Moore%E2%80%93Penrose_pseudoinverse|Moore-Penrose pseudoinverse]] of the kxm matrix, and multiply this from the left by the row vector [1 log2(3) log2(5) ... log2(p)]. If the ith entry in the result is negative, multiply the corresponding val by -1. Return the result as the normalized val list.


The point of steps two and three is that now the vals on the list correspond to a list of generators which are all positive (written additively) or equivalently greater than 1 (written multiplicatively.) Just as a normal comma list can be used to classify an abstract regular temperament, so can a normal val list. The val list is what on [[Graham Breed]]'s [[http://x31eq.com/temper/|web site]]  is called a "mapping", put into a canonical form.
The point of steps two and three is that now the vals on the list correspond to a list of generators which are all positive (written additively) or equivalently greater than 1 (written multiplicatively.) Just as a normal comma list can be used to classify an abstract regular temperament, so can a normal val list. The val list is what on [[Graham Breed]]'s [[http://x31eq.com/temper/|web site]]  is called a "mapping", put into a canonical form.
Line 168: Line 168:
v := v,u[i] od;
v := v,u[i] od;
v := [v];
v := [v];
u := psu(v);
u := pseudo(v);
w := pril(n);
w := pril(nops(l[1]));
a := op(matmul(w, u));
a := op(matmul(w, u));
u := NULL;
u := NULL;
Line 175: Line 175:
if a[i] &lt; 0 then u := u,-v[i] fi;
if a[i] &lt; 0 then u := u,-v[i] fi;
if a[i] &gt;= 0 then u := u,v[i] fi od;
if a[i] &gt;= 0 then u := u,v[i] fi od;
[u] end:
[u] end:</pre></div>
</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;Normal lists&lt;/title&gt;&lt;/head&gt;&lt;body&gt;An integral matrix is a matrix whose entries are all integers. An important normalized form for integral matricies is &lt;a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Hermite_normal_form" rel="nofollow"&gt;Hermite normal form&lt;/a&gt;, and by using Hermite normal form we may define normalized forms of lists of &lt;a class="wiki_link" href="/Harmonic%20Limit"&gt;p-limit&lt;/a&gt; musical intervals (or &lt;a class="wiki_link" href="/Monzos%20and%20Interval%20Space"&gt;monzos&lt;/a&gt;) or lists of &lt;a class="wiki_link" href="/Vals%20and%20Tuning%20Space"&gt;vals&lt;/a&gt;, the normal interval (or monzo) list and the normal val list.&lt;br /&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;Normal lists&lt;/title&gt;&lt;/head&gt;&lt;body&gt;An integral matrix is a matrix whose entries are all integers. An important normalized form for integral matricies is &lt;a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Hermite_normal_form" rel="nofollow"&gt;Hermite normal form&lt;/a&gt;, and by using Hermite normal form we may define normalized forms of lists of &lt;a class="wiki_link" href="/Harmonic%20Limit"&gt;p-limit&lt;/a&gt; musical intervals (or &lt;a class="wiki_link" href="/Monzos%20and%20Interval%20Space"&gt;monzos&lt;/a&gt;) or lists of &lt;a class="wiki_link" href="/Vals%20and%20Tuning%20Space"&gt;vals&lt;/a&gt;, the normal interval (or monzo) list and the normal val list.&lt;br /&gt;
Line 230: Line 229:
(2) Throw away all rows which consist of nothing but zeros, resulting in a kxm matrix&lt;br /&gt;
(2) Throw away all rows which consist of nothing but zeros, resulting in a kxm matrix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(3) Find the &lt;a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Moore%E2%80%93Penrose_pseudoinverse" rel="nofollow"&gt;Moore-Penrose pseudoinverse&lt;/a&gt; of the kxm matrix, take its transpose, and multiply this from the left by the row vector [1 log2(3) log2(5) ... log2(p)]. If the ith entry in the result is negative, multiply the corresponding val by -1. Return the result as the normalized val list.&lt;br /&gt;
(3) Find the &lt;a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Moore%E2%80%93Penrose_pseudoinverse" rel="nofollow"&gt;Moore-Penrose pseudoinverse&lt;/a&gt; of the kxm matrix, and multiply this from the left by the row vector [1 log2(3) log2(5) ... log2(p)]. If the ith entry in the result is negative, multiply the corresponding val by -1. Return the result as the normalized val list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The point of steps two and three is that now the vals on the list correspond to a list of generators which are all positive (written additively) or equivalently greater than 1 (written multiplicatively.) Just as a normal comma list can be used to classify an abstract regular temperament, so can a normal val list. The val list is what on &lt;a class="wiki_link" href="/Graham%20Breed"&gt;Graham Breed&lt;/a&gt;'s &lt;a class="wiki_link_ext" href="http://x31eq.com/temper/" rel="nofollow"&gt;web site&lt;/a&gt;  is called a &amp;quot;mapping&amp;quot;, put into a canonical form.&lt;br /&gt;
The point of steps two and three is that now the vals on the list correspond to a list of generators which are all positive (written additively) or equivalently greater than 1 (written multiplicatively.) Just as a normal comma list can be used to classify an abstract regular temperament, so can a normal val list. The val list is what on &lt;a class="wiki_link" href="/Graham%20Breed"&gt;Graham Breed&lt;/a&gt;'s &lt;a class="wiki_link_ext" href="http://x31eq.com/temper/" rel="nofollow"&gt;web site&lt;/a&gt;  is called a &amp;quot;mapping&amp;quot;, put into a canonical form.&lt;br /&gt;
Line 340: Line 339:
v := v,u[i] od;&lt;br /&gt;
v := v,u[i] od;&lt;br /&gt;
v := [v];&lt;br /&gt;
v := [v];&lt;br /&gt;
u := psu(v);&lt;br /&gt;
u := pseudo(v);&lt;br /&gt;
w := pril(n);&lt;br /&gt;
w := pril(nops(l[1]));&lt;br /&gt;
a := op(matmul(w, u));&lt;br /&gt;
a := op(matmul(w, u));&lt;br /&gt;
u := NULL;&lt;br /&gt;
u := NULL;&lt;br /&gt;