Generator complexity: Difference between revisions

Wikispaces>genewardsmith
**Imported revision 480039846 - Original comment: **
Wikispaces>genewardsmith
**Imported revision 480040626 - 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>2013-12-31 16:27:06 UTC</tt>.<br>
: This revision was by author [[User:genewardsmith|genewardsmith]] and made on <tt>2013-12-31 16:35:12 UTC</tt>.<br>
: The original revision id was <tt>480039846</tt>.<br>
: The original revision id was <tt>480040626</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 17: Line 17:
Generator complexity has the nice property that for any MOS of size N, floor(N/(C KE(I))) intervals with pitch class corresponding to I are guaranteed to exist in the MOS. Generator complexity is also useful in making complete searches using [[the wedgie]] for temperaments below a certain complexity and badness bounds, allowing for a more efficient search.
Generator complexity has the nice property that for any MOS of size N, floor(N/(C KE(I))) intervals with pitch class corresponding to I are guaranteed to exist in the MOS. Generator complexity is also useful in making complete searches using [[the wedgie]] for temperaments below a certain complexity and badness bounds, allowing for a more efficient search.


=Proving the relationship between generator complexity and Kees expressibility=
=Generator complexity and Kees expressibility=
The following proof is due to Mike Battaglia.
The following proof is due to Mike Battaglia.


If m = |m2 m3 m5 ... mp&gt; is a vector with weighted coordinates in interval space, then KE(m), the Kees  expressibility of m, is (|m3 + m5+ ... +mp| + |m3| + |m5| + ... + |mp|)/2. The "2" coordinate, m2, plays  no role in Kees expressibility, so we may replace it with anything we choose. If we replace it with -e3 -e5-...-ep, we may define expressibility in terms of the L1 norm, as || |-e3-e5-...-ep  e3  e5 ... ep&gt;  ||/2.
If m = |m2 m3 m5 ... mp&gt; is a vector with weighted coordinates in interval space, then KE(m), the Kees  expressibility of m, is (|m3 + m5+ ... +mp| + |m3| + |m5| + ... + |mp|)/2. The "2" coordinate, m2, plays  no role in Kees expressibility, so we may replace it with anything we choose. If we replace it with -e3 -e5-...-ep, we may define expressibility in terms of the L1 norm, as || |-e3-e5-...-ep  e3  e5 ... ep&gt;  ||/2.


For any vector space X with a subspace A, we may define a quotient space X/A as the equivalence classes of  vectors in X where two vectors are equivalent iff their difference lies in A. Then we have a short exact  sequence 0 → A → X → X/A → 0. Taking the duals of this gives us 0 → (X/A)* → X* → A* → 0. The annihilator  of A is the subspace A⁀ of X* consisting of those functionals f such that &lt;f|A&gt; = 0; that is, it is the  subspace of all the functionals f such that &lt;f|a&gt; = 0 for every a in A. There is a natural isomorphism between the annihilator A⁀ of A and the dual of the quotient (X/A)*, and also between X*/A⁀ and A*.
For any vector space X with a subspace A, we may define a quotient space X/A as the equivalence classes of  vectors in X where two vectors are equivalent iff their difference lies in A. Then we have a short exact  sequence 0 → A → X → X/A → 0. Taking the duals of this gives us 0 → (X/A)* → X* → A* → 0. The annihilator  of A is the subspace A⁀ of X* consisting of those functionals f such that &lt;f|A&gt; equals 0; that is, it is the  subspace of all the functionals f such that &lt;f|a&gt; equals 0 for every a in A. There is a natural isomorphism between the annihilator A⁀ of A and the dual of the quotient (X/A)*, and also between X*/A⁀ and A*.


Now suppose X is a finite dimensional real normed vector space. A is then also a finite dimensional real normed vector space, inheriting its norm from X, and X/A is a finite dimensional real normed vector space, with a norm given by, for an equivalence class [x], ||[x]|| = inf {||x + a||, a∈ A}. Algebraically X is (noncanonically) isomorphic to X*, but in general they are no longer isomorphic as normed spaces. Instead, we have the [[dual norm]] on X*, defined by setting, over all nonzero x ∈ X, ||f||* = sup &lt;f|x&gt;/||x||. Under the dual norm X* is also a finite dimensional normed vector space, A⁀ is isometrically isomorphic to (X/A)*, and X*/A⁀ is isometrically isomorphic to A*.
Now suppose X is a finite dimensional real normed vector space. A is then also a finite dimensional real normed vector space, inheriting its norm from X, and X/A is a finite dimensional real normed vector space, with a norm given by, for an equivalence class [x], ||[x]|| equals inf {||x + a||, a∈ A}. Algebraically X is (noncanonically) isomorphic to X*, but in general they are no longer isomorphic as normed spaces. Instead, we have the [[dual norm]] on X*, defined by setting, over all nonzero x ∈ X, ||f||* = sup &lt;f|x&gt;/||x||. Under the dual norm X* is also a finite dimensional normed vector space, A⁀ is isometrically isomorphic to (X/A)*, and X*/A⁀ is isometrically isomorphic to A*.


In the situation which concerns us, X is the p-limit interval space of dimension n under a norm of one half times the L1 norm, A is a subspace of dimension n-1, whose coordinates sum to 0; hence A can be described as having the one-dimensional subspace A⁀ = {kJ}, where J is the JIP, as its annihilator. X has a norm of half the L1 norm, and hence X* has a norm of twice the L∞ norm. The norm on A* is defined by its isomorphism with X*/A⁀; the minimum defining inf {||f + kJ||}  occurs for the value of k where the maximum of f + kJ and minus the minimum of f+kj are the same. In that case, 2||f + kJ||_L∞ = span(f), which is the generator complexity of f. Hence generator complexity is the dual norm for Kees expressibility as a norm on pitch classes.</pre></div>
In the situation which concerns us, X is the p-limit interval space of dimension n under a norm of one half times the L1 norm, A is a subspace of dimension n-1, whose coordinates sum to 0; hence A can be described as having the one-dimensional subspace A⁀ = {kJ}, where J is the JIP, as its annihilator. X has a norm of half the L1 norm, and hence X* has a norm of twice the L∞ norm. The norm on A* is defined by its isomorphism with X*/A⁀; the minimum defining inf {||f + kJ||}  occurs for the value of k where the maximum of f + kJ and minus the minimum of f + kj are the same. In that case, 2||f + kJ||_L∞ = span(f), which is the generator complexity of f. Hence generator complexity is the dual norm for Kees expressibility as a norm on pitch classes.</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;Generator complexity&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;!-- ws:start:WikiTextTocRule:8:&amp;lt;img id=&amp;quot;wikitext@@toc@@flat&amp;quot; class=&amp;quot;WikiMedia WikiMediaTocFlat&amp;quot; title=&amp;quot;Table of Contents&amp;quot; src=&amp;quot;/site/embedthumbnail/toc/flat?w=100&amp;amp;h=16&amp;quot;/&amp;gt; --&gt;&lt;!-- ws:end:WikiTextTocRule:8 --&gt;&lt;!-- ws:start:WikiTextTocRule:9: --&gt;&lt;a href="#Definition"&gt;Definition&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:9 --&gt;&lt;!-- ws:start:WikiTextTocRule:10: --&gt; | &lt;a href="#Proving the relationship between generator complexity and Kees expressibility"&gt;Proving the relationship between generator complexity and Kees expressibility&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:10 --&gt;&lt;!-- ws:start:WikiTextTocRule:11: --&gt; | &lt;a href="#x0; that is, it is the  subspace of all the functionals f such that"&gt; 0; that is, it is the  subspace of all the functionals f such that &amp;lt;f|a&amp;gt; &lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:11 --&gt;&lt;!-- ws:start:WikiTextTocRule:12: --&gt; | &lt;a href="#inf {||x + a||, a∈ A}. Algebraically X is (noncanonically) isomorphic to X*, but in general they are no longer isomorphic as normed spaces. Instead, we have the dual norm on X*, defined by setting, over all nonzero x ∈ X, ||f||*"&gt; inf {||x + a||, a∈ A}. Algebraically X is (noncanonically) isomorphic to X*, but in general they are no longer isomorphic as normed spaces. Instead, we have the dual norm on X*, defined by setting, over all nonzero x ∈ X, ||f||* &lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:12 --&gt;&lt;!-- ws:start:WikiTextTocRule:13: --&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;Generator complexity&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;!-- ws:start:WikiTextTocRule:4:&amp;lt;img id=&amp;quot;wikitext@@toc@@flat&amp;quot; class=&amp;quot;WikiMedia WikiMediaTocFlat&amp;quot; title=&amp;quot;Table of Contents&amp;quot; src=&amp;quot;/site/embedthumbnail/toc/flat?w=100&amp;amp;h=16&amp;quot;/&amp;gt; --&gt;&lt;!-- ws:end:WikiTextTocRule:4 --&gt;&lt;!-- ws:start:WikiTextTocRule:5: --&gt;&lt;a href="#Definition"&gt;Definition&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:5 --&gt;&lt;!-- ws:start:WikiTextTocRule:6: --&gt; | &lt;a href="#Generator complexity and Kees expressibility"&gt;Generator complexity and Kees expressibility&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:6 --&gt;&lt;!-- ws:start:WikiTextTocRule:7: --&gt;
&lt;!-- ws:end:WikiTextTocRule:13 --&gt;&lt;br /&gt;
&lt;!-- ws:end:WikiTextTocRule:7 --&gt;&lt;br /&gt;
&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;
&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;
Suppose A = &amp;lt;0 A₃ A₅ A₇ ... Ap| is the generator mapping val for a rank two temperament with P periods to the octave, and B = &amp;lt;0 B₃ B₅ B₇ ... Bp| is the same val in weighted coordinates. For instance, &amp;lt;0 1 -2 -2| is the generator mapping val for seven limit &lt;a class="wiki_link" href="/pajara"&gt;pajara&lt;/a&gt;, and &amp;lt;0 1/log2(3) -2/log2(5) -2/log2(7)| ≅ &amp;lt;0 0.631 -0.831 -0.712| is the val in weighted coordinates. For any vector V, let max(V) - min(V) = span(V). The &lt;em&gt;generator complexity&lt;/em&gt; of the temperament is P span(B). In the case of pajara, which has two periods to the octave, this would be 2*(0.631 - (-0.861)) = 2.984. This can also be described in terms of the wedgie W of the temperament, as span(2∨W), which is the span of 0 followed by the first n-1 elements of W, where n is the number of primes in the p-limit. &lt;br /&gt;
Suppose A = &amp;lt;0 A₃ A₅ A₇ ... Ap| is the generator mapping val for a rank two temperament with P periods to the octave, and B = &amp;lt;0 B₃ B₅ B₇ ... Bp| is the same val in weighted coordinates. For instance, &amp;lt;0 1 -2 -2| is the generator mapping val for seven limit &lt;a class="wiki_link" href="/pajara"&gt;pajara&lt;/a&gt;, and &amp;lt;0 1/log2(3) -2/log2(5) -2/log2(7)| ≅ &amp;lt;0 0.631 -0.831 -0.712| is the val in weighted coordinates. For any vector V, let max(V) - min(V) = span(V). The &lt;em&gt;generator complexity&lt;/em&gt; of the temperament is P span(B). In the case of pajara, which has two periods to the octave, this would be 2*(0.631 - (-0.861)) = 2.984. This can also be described in terms of the wedgie W of the temperament, as span(2∨W), which is the span of 0 followed by the first n-1 elements of W, where n is the number of primes in the p-limit. &lt;br /&gt;
Line 39: Line 39:
Generator complexity has the nice property that for any MOS of size N, floor(N/(C KE(I))) intervals with pitch class corresponding to I are guaranteed to exist in the MOS. Generator complexity is also useful in making complete searches using &lt;a class="wiki_link" href="/the%20wedgie"&gt;the wedgie&lt;/a&gt; for temperaments below a certain complexity and badness bounds, allowing for a more efficient search.&lt;br /&gt;
Generator complexity has the nice property that for any MOS of size N, floor(N/(C KE(I))) intervals with pitch class corresponding to I are guaranteed to exist in the MOS. Generator complexity is also useful in making complete searches using &lt;a class="wiki_link" href="/the%20wedgie"&gt;the wedgie&lt;/a&gt; for temperaments below a certain complexity and badness bounds, allowing for a more efficient search.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- ws:start:WikiTextHeadingRule:2:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc1"&gt;&lt;a name="Proving the relationship between generator complexity and Kees expressibility"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:2 --&gt;Proving the relationship between generator complexity and Kees expressibility&lt;/h1&gt;
&lt;!-- ws:start:WikiTextHeadingRule:2:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc1"&gt;&lt;a name="Generator complexity and Kees expressibility"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:2 --&gt;Generator complexity and Kees expressibility&lt;/h1&gt;
The following proof is due to Mike Battaglia.&lt;br /&gt;
The following proof is due to Mike Battaglia.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If m = |m2 m3 m5 ... mp&amp;gt; is a vector with weighted coordinates in interval space, then KE(m), the Kees  expressibility of m, is (|m3 + m5+ ... +mp| + |m3| + |m5| + ... + |mp|)/2. The &amp;quot;2&amp;quot; coordinate, m2, plays  no role in Kees expressibility, so we may replace it with anything we choose. If we replace it with -e3 -e5-...-ep, we may define expressibility in terms of the L1 norm, as || |-e3-e5-...-ep  e3  e5 ... ep&amp;gt;  ||/2.&lt;br /&gt;
If m = |m2 m3 m5 ... mp&amp;gt; is a vector with weighted coordinates in interval space, then KE(m), the Kees  expressibility of m, is (|m3 + m5+ ... +mp| + |m3| + |m5| + ... + |mp|)/2. The &amp;quot;2&amp;quot; coordinate, m2, plays  no role in Kees expressibility, so we may replace it with anything we choose. If we replace it with -e3 -e5-...-ep, we may define expressibility in terms of the L1 norm, as || |-e3-e5-...-ep  e3  e5 ... ep&amp;gt;  ||/2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For any vector space X with a subspace A, we may define a quotient space X/A as the equivalence classes of  vectors in X where two vectors are equivalent iff their difference lies in A. Then we have a short exact  sequence 0 → A → X → X/A → 0. Taking the duals of this gives us 0 → (X/A)* → X* → A* → 0. The annihilator  of A is the subspace A⁀ of X* consisting of those functionals f such that &amp;lt;f|A&amp;gt; &lt;!-- ws:start:WikiTextHeadingRule:4:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc2"&gt;&lt;a name="x0; that is, it is the  subspace of all the functionals f such that"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:4 --&gt; 0; that is, it is the  subspace of all the functionals f such that &amp;lt;f|a&amp;gt; &lt;/h1&gt;
For any vector space X with a subspace A, we may define a quotient space X/A as the equivalence classes of  vectors in X where two vectors are equivalent iff their difference lies in A. Then we have a short exact  sequence 0 → A → X → X/A → 0. Taking the duals of this gives us 0 → (X/A)* → X* → A* → 0. The annihilator  of A is the subspace A⁀ of X* consisting of those functionals f such that &amp;lt;f|A&amp;gt; equals 0; that is, it is the  subspace of all the functionals f such that &amp;lt;f|a&amp;gt; equals 0 for every a in A. There is a natural isomorphism between the annihilator A⁀ of A and the dual of the quotient (X/A)*, and also between X*/A⁀ and A*.&lt;br /&gt;
0 for every a in A. There is a natural isomorphism between the annihilator A⁀ of A and the dual of the quotient (X/A)*, and also between X*/A⁀ and A*.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now suppose X is a finite dimensional real normed vector space. A is then also a finite dimensional real normed vector space, inheriting its norm from X, and X/A is a finite dimensional real normed vector space, with a norm given by, for an equivalence class [x], ||[x]|| &lt;!-- ws:start:WikiTextHeadingRule:6:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc3"&gt;&lt;a name="inf {||x + a||, a∈ A}. Algebraically X is (noncanonically) isomorphic to X*, but in general they are no longer isomorphic as normed spaces. Instead, we have the dual norm on X*, defined by setting, over all nonzero x ∈ X, ||f||*"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:6 --&gt; inf {||x + a||, a∈ A}. Algebraically X is (noncanonically) isomorphic to X*, but in general they are no longer isomorphic as normed spaces. Instead, we have the &lt;a class="wiki_link" href="/dual%20norm"&gt;dual norm&lt;/a&gt; on X*, defined by setting, over all nonzero x ∈ X, ||f||* &lt;/h1&gt;
Now suppose X is a finite dimensional real normed vector space. A is then also a finite dimensional real normed vector space, inheriting its norm from X, and X/A is a finite dimensional real normed vector space, with a norm given by, for an equivalence class [x], ||[x]|| equals inf {||x + a||, a∈ A}. Algebraically X is (noncanonically) isomorphic to X*, but in general they are no longer isomorphic as normed spaces. Instead, we have the &lt;a class="wiki_link" href="/dual%20norm"&gt;dual norm&lt;/a&gt; on X*, defined by setting, over all nonzero x ∈ X, ||f||* = sup &amp;lt;f|x&amp;gt;/||x||. Under the dual norm X* is also a finite dimensional normed vector space, A⁀ is isometrically isomorphic to (X/A)*, and X*/A⁀ is isometrically isomorphic to A*.&lt;br /&gt;
sup &amp;lt;f|x&amp;gt;/||x||. Under the dual norm X* is also a finite dimensional normed vector space, A⁀ is isometrically isomorphic to (X/A)*, and X*/A⁀ is isometrically isomorphic to A*.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the situation which concerns us, X is the p-limit interval space of dimension n under a norm of one half times the L1 norm, A is a subspace of dimension n-1, whose coordinates sum to 0; hence A can be described as having the one-dimensional subspace A⁀ = {kJ}, where J is the JIP, as its annihilator. X has a norm of half the L1 norm, and hence X* has a norm of twice the L∞ norm. The norm on A* is defined by its isomorphism with X*/A⁀; the minimum defining inf {||f + kJ||}  occurs for the value of k where the maximum of f + kJ and minus the minimum of f+kj are the same. In that case, 2||f + kJ||_L∞ = span(f), which is the generator complexity of f. Hence generator complexity is the dual norm for Kees expressibility as a norm on pitch classes.&lt;/body&gt;&lt;/html&gt;</pre></div>
In the situation which concerns us, X is the p-limit interval space of dimension n under a norm of one half times the L1 norm, A is a subspace of dimension n-1, whose coordinates sum to 0; hence A can be described as having the one-dimensional subspace A⁀ = {kJ}, where J is the JIP, as its annihilator. X has a norm of half the L1 norm, and hence X* has a norm of twice the L∞ norm. The norm on A* is defined by its isomorphism with X*/A⁀; the minimum defining inf {||f + kJ||}  occurs for the value of k where the maximum of f + kJ and minus the minimum of f + kj are the same. In that case, 2||f + kJ||_L∞ = span(f), which is the generator complexity of f. Hence generator complexity is the dual norm for Kees expressibility as a norm on pitch classes.&lt;/body&gt;&lt;/html&gt;</pre></div>