Kite's thoughts on pergens: Difference between revisions

Wikispaces>TallKite
**Imported revision 624962099 - Original comment: **
Wikispaces>TallKite
**Imported revision 624970849 - 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:TallKite|TallKite]] and made on <tt>2018-01-16 21:35:20 UTC</tt>.<br>
: This revision was by author [[User:TallKite|TallKite]] and made on <tt>2018-01-17 04:20:44 UTC</tt>.<br>
: The original revision id was <tt>624962099</tt>.<br>
: The original revision id was <tt>624970849</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 69: Line 69:
3/1 = P12 = y·P + z·G, thus G = [P12 - y·(P8/x)] / z = [-y·P8 + x·P12] / xz = (-y, x) / xz
3/1 = P12 = y·P + z·G, thus G = [P12 - y·(P8/x)] / z = [-y·P8 + x·P12] / xz = (-y, x) / xz


M's 3-limit monzo is (-y, x). To get alternate generators, add i periods to G, with i ranging from -x (subtracting a full octave) to +x (adding a full octave).  
M's 3-limit monzo is (-y, x), or (y, -x) if z is negative. To get alternate generators, add i periods to G, with i ranging from -x (subtracting a full octave) to +x (adding a full octave).  
G' = G + i·P = (-y, x) / xz + i·P8/x = (i·z - y, x) / xz
G' = G + i·P = (-y, x) / xz + i·P8/x = (i·z - y, x) / xz


Line 620: Line 620:
Given:
Given:
A square mapping [(x, y), (0, z)] creates the pergen (P8/x, (i·z - y, x) / xz), with x &gt; 0, z ≠ 0, and |i| &lt;= x
A square mapping [(x, y), (0, z)] creates the pergen (P8/x, (i·z - y, x) / xz), with x &gt; 0, z ≠ 0, and |i| &lt;= x
If z = 1, let i = y - x, and the pergen = (P8/x, P5)
If z = 1, let i = y - x, and the pergen = (P8/x, P5)
If z = -1, let i = 2x - y, and the pergen = (P8/x, P4) = (P8/x, P5)
If z = -1, let i = 2x - y, and the pergen = (P8/x, P4) = (P8/x, P5)
Therefore if |z| = 1, n = 1
Therefore if |z| = 1, n = 1
Since P12 = y·P + z·G, n = GCD (y,z)
Since P5 = P12 - P8 = (y-x)·P + z·G, n = GCD (y,z)
A pergen (P8/m, (a,b)/n) arises from a square mapping [(m, m-am/b), (0, n/b)]
A pergen (P8/m, (a,b)/n) arises from a square mapping [(m, m-am/b), (0, n/b)]
The GCD is always &gt; 0: GCD (-3,6) = GCD (3,-6) = GCD (-3, -6) = 3
 
m = x
ka = iz - y
kb = x
kn = xz
k = GCD (iz - y, x)
m = kb, therefore k = m/b
 
x = m
z = kn/x = kn/kb = n/b
y = iz - ka = iz - am/b
 
P8 = mP, P12 = mP - (am/b)P + (n/b)·(G + iP)
(a,b) = amP + bmP - amP + nG + inP = bmP + inP + nG
(P8/m, (i·n/b - m + am/b, m) / mn/b), M/n = (i·n/m - b + a, b) / n), i = m·(b/n)
 


To prove: inverse of unreducing is also unreducing
To prove: inverse of unreducing is also unreducing
Line 632: Line 648:
(P8/m, (a',b')/n') unreduced is (P8/m, (n'-a'm, -b'm) / mn') = (P8/m, (mn-(n-am)m, bmm) / mmn) = (P8/m, (a,b)/n)
(P8/m, (a',b')/n') unreduced is (P8/m, (n'-a'm, -b'm) / mn') = (P8/m, (mn-(n-am)m, bmm) / mmn) = (P8/m, (a,b)/n)


To prove: n is always a multiple of b, and unless n = 1, n &gt; |b|
 
To prove: n is always a multiple of b, and n = |b| if and only if n = 1
b = x/k and n = xz/k, where k = sign (z) · GCD (iz-y, x)
b = x/k and n = xz/k, where k = sign (z) · GCD (iz-y, x)
The GCD is defined here as always positive: GCD (-3,6) = GCD (3,-6) = GCD (-3, -6) = 3
n = zb = |z|·|b|
n = zb = |z|·|b|
Therefore multigens like M9/3 or M3/5 never occur, because they always reduce to something simpler
Therefore multigens like M9/3 or M3/5 never occur, because they always reduce to something simpler
Line 639: Line 657:
Therefore a and b must be coprime, otherwise M/n could be simplified by GCD (a,b)
Therefore a and b must be coprime, otherwise M/n could be simplified by GCD (a,b)


To prove: (a,b)/n splits P8 into b periods
To prove: test for explicitly false
M - b·P5 = (a,b) - (-b,b) = (a+b,0) = (a+b)·P8
If m = |b|, is the pergen explicitly false?
Because n is a multiple of b, M/b is a multiple of M/n = G
Does (a,b)/n split P8 into |b| periods?
(a+b)·P8 = (a+b,0) = (a,b) - (-b,b) = M - b·P5
Because n is a multiple of b, n/b is an integer
M/b = (n/b)·M/n = (n/b)·G
M/b = (n/b)·M/n = (n/b)·G
(a+b)·P8 = b·(M/b - P5) = b·((n/b)·G - P5)
(a+b)·P8 = b·(M/b - P5) = b·((n/b)·G - P5)
Let c and d be the bezout pair of a+b and b such that c·(a+b) + d·b = 1
Let c and d be the bezout pair of a+b and b such that c·(a+b) + d·b = 1
Since the pergen is a double-split, m &gt; 1, therefore |b| &gt; 1, therefore c ≠ 0
c·(a+b)·P8 = c·b·((n/b)·G - P5)
c·(a+b)·P8 = c·b·((n/b)·G - P5)
(1 - d·b)·P8 = c·b·((n/b)·G - P5)
(1 - d·b)·P8 = c·b·((n/b)·G - P5)
P8 = d·b·P8 + c·b·((n/b)·G - P5) = b · (d·P8 + c·(n/b)·G - c·P5)
P8 = d·b·P8 + c·b·((n/b)·G - P5) = b · (d·P8 + c·(n/b)·G - c·P5)
P8/b = (c+d,-c) + c·(n/b)·G
P8/|b| = sign (b) · (d·P8 - c·P5 + c·(n/b)·G)
Therefore P8 is split into b periods
Therefore P8 is split into |b| periods
 
Therefore, since b = x and n = xz, (a,b) splits P8 into |b| periods
(actually b = x/k and n = xz/k, where k = GCD (nz-y, x), but still GCD (b,n) = x/k = b)
Therefore if m = |b|, the pergen is explicitly false
Therefore if m = |b|, the pergen is explicitly false


To prove: true/false test
To prove: true/false test
If GCD (m,n) = b, is the pergen a false double?
If GCD (m,n) = |b|, is the pergen a false double?
 
If m = |b|, the pergen is explicitly false
 
Therefore assume m &gt; |b| and unreduce
(P8/m, (a,b)/n) unreduced is (P8/m, (n-am, -bm) / mn) = (P8/m, M'/n')
Simplify by dividing M' and n' by b to get (P8/m, (n/b - a(m/b), -m) / m(n/b))
b' = -m, therefore m = |b'|, and the unreduced pergen is explicitly false
Therefore the original pergen is a false double


To prove: alternate true/false test
To prove: alternate true/false test
Line 669: Line 691:
GCD (b', n') = m
GCD (b', n') = m
GCD (n/b, m) = 1
GCD (n/b, m) = 1
GCD (
|b'| = m, so the unreduced pergen is explicitly false, and the test works
|b'| = m, so the unreduced pergen is explicitly false, and the test works
(P8/3, P4/2) --&gt; (P8/3, M6/6) = (-4,3)/6
M6/6 --&gt; (18,-9)/18 = (2,-1)/2 = P4/2
--&gt; (6,-3)/6 = m10/6


Pergens were discovered by Kite Giedraitis in 2017, and developed with the help of Praveen Venkataramana.
Pergens were discovered by Kite Giedraitis in 2017, and developed with the help of Praveen Venkataramana.
Line 988: Line 1,007:
3/1 = P12 = y·P + z·G, thus G = [P12 - y·(P8/x)] / z = [-y·P8 + x·P12] / xz = (-y, x) / xz&lt;br /&gt;
3/1 = P12 = y·P + z·G, thus G = [P12 - y·(P8/x)] / z = [-y·P8 + x·P12] / xz = (-y, x) / xz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
M's 3-limit monzo is (-y, x). To get alternate generators, add i periods to G, with i ranging from -x (subtracting a full octave) to +x (adding a full octave). &lt;br /&gt;
M's 3-limit monzo is (-y, x), or (y, -x) if z is negative. To get alternate generators, add i periods to G, with i ranging from -x (subtracting a full octave) to +x (adding a full octave). &lt;br /&gt;
G' = G + i·P = (-y, x) / xz + i·P8/x = (i·z - y, x) / xz&lt;br /&gt;
G' = G + i·P = (-y, x) / xz + i·P8/x = (i·z - y, x) / xz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Line 3,246: Line 3,265:
  &lt;br /&gt;
  &lt;br /&gt;
This PDF is a rank-2 notation guide that shows the full lattice for the first 15 pergens, up through the third-splits block.&lt;br /&gt;
This PDF is a rank-2 notation guide that shows the full lattice for the first 15 pergens, up through the third-splits block.&lt;br /&gt;
&lt;!-- ws:start:WikiTextUrlRule:3984:http://www.tallkite.com/misc_files/pergens.pdf --&gt;&lt;a class="wiki_link_ext" href="http://www.tallkite.com/misc_files/pergens.pdf" rel="nofollow"&gt;http://www.tallkite.com/misc_files/pergens.pdf&lt;/a&gt;&lt;!-- ws:end:WikiTextUrlRule:3984 --&gt;&lt;br /&gt;
&lt;!-- ws:start:WikiTextUrlRule:4003:http://www.tallkite.com/misc_files/pergens.pdf --&gt;&lt;a class="wiki_link_ext" href="http://www.tallkite.com/misc_files/pergens.pdf" rel="nofollow"&gt;http://www.tallkite.com/misc_files/pergens.pdf&lt;/a&gt;&lt;!-- ws:end:WikiTextUrlRule:4003 --&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alt-pergenLister lists out thousands of pergens, and suggests periods, generators and enharmonics for each one. It can also list only those pergens supported by a specific edo. Written in Jesusonic, runs inside Reaper.&lt;br /&gt;
Alt-pergenLister lists out thousands of pergens, and suggests periods, generators and enharmonics for each one. It can also list only those pergens supported by a specific edo. Written in Jesusonic, runs inside Reaper.&lt;br /&gt;
&lt;!-- ws:start:WikiTextUrlRule:3985:http://www.tallkite.com/misc_files/alt-pergensLister.zip --&gt;&lt;a class="wiki_link_ext" href="http://www.tallkite.com/misc_files/alt-pergensLister.zip" rel="nofollow"&gt;http://www.tallkite.com/misc_files/alt-pergensLister.zip&lt;/a&gt;&lt;!-- ws:end:WikiTextUrlRule:3985 --&gt;&lt;br /&gt;
&lt;!-- ws:start:WikiTextUrlRule:4004:http://www.tallkite.com/misc_files/alt-pergensLister.zip --&gt;&lt;a class="wiki_link_ext" href="http://www.tallkite.com/misc_files/alt-pergensLister.zip" rel="nofollow"&gt;http://www.tallkite.com/misc_files/alt-pergensLister.zip&lt;/a&gt;&lt;!-- ws:end:WikiTextUrlRule:4004 --&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Screenshot of the first 38 pergens:&lt;br /&gt;
Screenshot of the first 38 pergens:&lt;br /&gt;
Line 3,258: Line 3,277:
Given:&lt;br /&gt;
Given:&lt;br /&gt;
A square mapping [(x, y), (0, z)] creates the pergen (P8/x, (i·z - y, x) / xz), with x &amp;gt; 0, z ≠ 0, and |i| &amp;lt;= x&lt;br /&gt;
A square mapping [(x, y), (0, z)] creates the pergen (P8/x, (i·z - y, x) / xz), with x &amp;gt; 0, z ≠ 0, and |i| &amp;lt;= x&lt;br /&gt;
&lt;br /&gt;
If z = 1, let i = y - x, and the pergen = (P8/x, P5)&lt;br /&gt;
If z = 1, let i = y - x, and the pergen = (P8/x, P5)&lt;br /&gt;
If z = -1, let i = 2x - y, and the pergen = (P8/x, P4) = (P8/x, P5)&lt;br /&gt;
If z = -1, let i = 2x - y, and the pergen = (P8/x, P4) = (P8/x, P5)&lt;br /&gt;
Therefore if |z| = 1, n = 1&lt;br /&gt;
Therefore if |z| = 1, n = 1&lt;br /&gt;
Since P12 = y·P + z·G, n = GCD (y,z)&lt;br /&gt;
Since P5 = P12 - P8 = (y-x)·P + z·G, n = GCD (y,z)&lt;br /&gt;
A pergen (P8/m, (a,b)/n) arises from a square mapping [(m, m-am/b), (0, n/b)]&lt;br /&gt;
A pergen (P8/m, (a,b)/n) arises from a square mapping [(m, m-am/b), (0, n/b)]&lt;br /&gt;
The GCD is always &amp;gt; 0: GCD (-3,6) = GCD (3,-6) = GCD (-3, -6) = 3&lt;br /&gt;
&lt;br /&gt;
m = x&lt;br /&gt;
ka = iz - y&lt;br /&gt;
kb = x&lt;br /&gt;
kn = xz&lt;br /&gt;
k = GCD (iz - y, x)&lt;br /&gt;
m = kb, therefore k = m/b&lt;br /&gt;
&lt;br /&gt;
x = m&lt;br /&gt;
z = kn/x = kn/kb = n/b&lt;br /&gt;
y = iz - ka = iz - am/b&lt;br /&gt;
&lt;br /&gt;
P8 = mP, P12 = mP - (am/b)P + (n/b)·(G + iP)&lt;br /&gt;
(a,b) = amP + bmP - amP + nG + inP = bmP + inP + nG&lt;br /&gt;
(P8/m, (i·n/b - m + am/b, m) / mn/b), M/n = (i·n/m - b + a, b) / n), i = m·(b/n)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To prove: inverse of unreducing is also unreducing&lt;br /&gt;
To prove: inverse of unreducing is also unreducing&lt;br /&gt;
Line 3,270: Line 3,305:
(P8/m, (a',b')/n') unreduced is (P8/m, (n'-a'm, -b'm) / mn') = (P8/m, (mn-(n-am)m, bmm) / mmn) = (P8/m, (a,b)/n)&lt;br /&gt;
(P8/m, (a',b')/n') unreduced is (P8/m, (n'-a'm, -b'm) / mn') = (P8/m, (mn-(n-am)m, bmm) / mmn) = (P8/m, (a,b)/n)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To prove: n is always a multiple of b, and unless n = 1, n &amp;gt; |b|&lt;br /&gt;
&lt;br /&gt;
To prove: n is always a multiple of b, and n = |b| if and only if n = 1&lt;br /&gt;
b = x/k and n = xz/k, where k = sign (z) · GCD (iz-y, x)&lt;br /&gt;
b = x/k and n = xz/k, where k = sign (z) · GCD (iz-y, x)&lt;br /&gt;
The GCD is defined here as always positive: GCD (-3,6) = GCD (3,-6) = GCD (-3, -6) = 3&lt;br /&gt;
n = zb = |z|·|b|&lt;br /&gt;
n = zb = |z|·|b|&lt;br /&gt;
Therefore multigens like M9/3 or M3/5 never occur, because they always reduce to something simpler&lt;br /&gt;
Therefore multigens like M9/3 or M3/5 never occur, because they always reduce to something simpler&lt;br /&gt;
Line 3,277: Line 3,314:
Therefore a and b must be coprime, otherwise M/n could be simplified by GCD (a,b)&lt;br /&gt;
Therefore a and b must be coprime, otherwise M/n could be simplified by GCD (a,b)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To prove: (a,b)/n splits P8 into b periods&lt;br /&gt;
To prove: test for explicitly false&lt;br /&gt;
M - b·P5 = (a,b) - (-b,b) = (a+b,0) = (a+b)·P8&lt;br /&gt;
If m = |b|, is the pergen explicitly false?&lt;br /&gt;
Because n is a multiple of b, M/b is a multiple of M/n = G&lt;br /&gt;
Does (a,b)/n split P8 into |b| periods?&lt;br /&gt;
(a+b)·P8 = (a+b,0) = (a,b) - (-b,b) = M - b·P5&lt;br /&gt;
Because n is a multiple of b, n/b is an integer&lt;br /&gt;
M/b = (n/b)·M/n = (n/b)·G&lt;br /&gt;
M/b = (n/b)·M/n = (n/b)·G&lt;br /&gt;
(a+b)·P8 = b·(M/b - P5) = b·((n/b)·G - P5)&lt;br /&gt;
(a+b)·P8 = b·(M/b - P5) = b·((n/b)·G - P5)&lt;br /&gt;
Let c and d be the bezout pair of a+b and b such that c·(a+b) + d·b = 1&lt;br /&gt;
Let c and d be the bezout pair of a+b and b such that c·(a+b) + d·b = 1&lt;br /&gt;
Since the pergen is a double-split, m &amp;gt; 1, therefore |b| &amp;gt; 1, therefore c ≠ 0&lt;br /&gt;
c·(a+b)·P8 = c·b·((n/b)·G - P5)&lt;br /&gt;
c·(a+b)·P8 = c·b·((n/b)·G - P5)&lt;br /&gt;
(1 - d·b)·P8 = c·b·((n/b)·G - P5)&lt;br /&gt;
(1 - d·b)·P8 = c·b·((n/b)·G - P5)&lt;br /&gt;
P8 = d·b·P8 + c·b·((n/b)·G - P5) = b · (d·P8 + c·(n/b)·G - c·P5)&lt;br /&gt;
P8 = d·b·P8 + c·b·((n/b)·G - P5) = b · (d·P8 + c·(n/b)·G - c·P5)&lt;br /&gt;
P8/b = (c+d,-c) + c·(n/b)·G&lt;br /&gt;
P8/|b| = sign (b) · (d·P8 - c·P5 + c·(n/b)·G)&lt;br /&gt;
Therefore P8 is split into b periods&lt;br /&gt;
Therefore P8 is split into |b| periods&lt;br /&gt;
&lt;br /&gt;
Therefore, since b = x and n = xz, (a,b) splits P8 into |b| periods&lt;br /&gt;
(actually b = x/k and n = xz/k, where k = GCD (nz-y, x), but still GCD (b,n) = x/k = b)&lt;br /&gt;
Therefore if m = |b|, the pergen is explicitly false&lt;br /&gt;
Therefore if m = |b|, the pergen is explicitly false&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To prove: true/false test&lt;br /&gt;
To prove: true/false test&lt;br /&gt;
If GCD (m,n) = b, is the pergen a false double?&lt;br /&gt;
If GCD (m,n) = |b|, is the pergen a false double?&lt;br /&gt;
&lt;br /&gt;
If m = |b|, the pergen is explicitly false&lt;br /&gt;
&lt;br /&gt;
Therefore assume m &amp;gt; |b| and unreduce&lt;br /&gt;
(P8/m, (a,b)/n) unreduced is (P8/m, (n-am, -bm) / mn) = (P8/m, M'/n')&lt;br /&gt;
Simplify by dividing M' and n' by b to get (P8/m, (n/b - a(m/b), -m) / m(n/b))&lt;br /&gt;
b' = -m, therefore m = |b'|, and the unreduced pergen is explicitly false&lt;br /&gt;
Therefore the original pergen is a false double&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To prove: alternate true/false test&lt;br /&gt;
To prove: alternate true/false test&lt;br /&gt;
Line 3,307: Line 3,348:
GCD (b', n') = m&lt;br /&gt;
GCD (b', n') = m&lt;br /&gt;
GCD (n/b, m) = 1&lt;br /&gt;
GCD (n/b, m) = 1&lt;br /&gt;
GCD (&lt;br /&gt;
|b'| = m, so the unreduced pergen is explicitly false, and the test works&lt;br /&gt;
|b'| = m, so the unreduced pergen is explicitly false, and the test works&lt;br /&gt;
&lt;br /&gt;
(P8/3, P4/2) --&amp;gt; (P8/3, M6/6) = (-4,3)/6&lt;br /&gt;
M6/6 --&amp;gt; (18,-9)/18 = (2,-1)/2 = P4/2&lt;br /&gt;
--&amp;gt; (6,-3)/6 = m10/6&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pergens were discovered by Kite Giedraitis in 2017, and developed with the help of Praveen Venkataramana.&lt;br /&gt;
Pergens were discovered by Kite Giedraitis in 2017, and developed with the help of Praveen Venkataramana.&lt;br /&gt;