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: | : 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> | : 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 | (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 := | u := pseudo(v); | ||
w := pril( | 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] < 0 then u := u,-v[i] fi; | if a[i] < 0 then u := u,-v[i] fi; | ||
if a[i] >= 0 then u := u,v[i] fi od; | if a[i] >= 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"><html><head><title>Normal lists</title></head><body>An integral matrix is a matrix whose entries are all integers. An important normalized form for integral matricies is <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Hermite_normal_form" rel="nofollow">Hermite normal form</a>, and by using Hermite normal form we may define normalized forms of lists of <a class="wiki_link" href="/Harmonic%20Limit">p-limit</a> musical intervals (or <a class="wiki_link" href="/Monzos%20and%20Interval%20Space">monzos</a>) or lists of <a class="wiki_link" href="/Vals%20and%20Tuning%20Space">vals</a>, the normal interval (or monzo) list and the normal val list.<br /> | <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>Normal lists</title></head><body>An integral matrix is a matrix whose entries are all integers. An important normalized form for integral matricies is <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Hermite_normal_form" rel="nofollow">Hermite normal form</a>, and by using Hermite normal form we may define normalized forms of lists of <a class="wiki_link" href="/Harmonic%20Limit">p-limit</a> musical intervals (or <a class="wiki_link" href="/Monzos%20and%20Interval%20Space">monzos</a>) or lists of <a class="wiki_link" href="/Vals%20and%20Tuning%20Space">vals</a>, the normal interval (or monzo) list and the normal val list.<br /> | ||
| Line 230: | Line 229: | ||
(2) Throw away all rows which consist of nothing but zeros, resulting in a kxm matrix<br /> | (2) Throw away all rows which consist of nothing but zeros, resulting in a kxm matrix<br /> | ||
<br /> | <br /> | ||
(3) Find the <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Moore%E2%80%93Penrose_pseudoinverse" rel="nofollow">Moore-Penrose pseudoinverse</a> of the kxm matrix | (3) Find the <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Moore%E2%80%93Penrose_pseudoinverse" rel="nofollow">Moore-Penrose pseudoinverse</a> 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.<br /> | ||
<br /> | <br /> | ||
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 <a class="wiki_link" href="/Graham%20Breed">Graham Breed</a>'s <a class="wiki_link_ext" href="http://x31eq.com/temper/" rel="nofollow">web site</a> is called a &quot;mapping&quot;, put into a canonical form.<br /> | 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 <a class="wiki_link" href="/Graham%20Breed">Graham Breed</a>'s <a class="wiki_link_ext" href="http://x31eq.com/temper/" rel="nofollow">web site</a> is called a &quot;mapping&quot;, put into a canonical form.<br /> | ||
| Line 340: | Line 339: | ||
v := v,u[i] od;<br /> | v := v,u[i] od;<br /> | ||
v := [v];<br /> | v := [v];<br /> | ||
u := | u := pseudo(v);<br /> | ||
w := pril( | w := pril(nops(l[1]));<br /> | ||
a := op(matmul(w, u));<br /> | a := op(matmul(w, u));<br /> | ||
u := NULL;<br /> | u := NULL;<br /> | ||