Fokker block: Difference between revisions

Wikispaces>genewardsmith
**Imported revision 509471662 - Original comment: **
Wikispaces>xenjacob
**Imported revision 509566684 - 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>2014-05-17 01:26:52 UTC</tt>.<br>
: This revision was by author [[User:xenjacob|xenjacob]] and made on <tt>2014-05-17 20:30:09 UTC</tt>.<br>
: The original revision id was <tt>509471662</tt>.<br>
: The original revision id was <tt>509566684</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>
<h4>Original Wikitext content:</h4>
<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">[[toc|flat]]
<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">[[image:mathhazard.jpg align="center"]]
 
[[toc|flat]]
The **Fokker block** is one of the most notable inventions of the physicist and music theorist [[http://en.wikipedia.org/wiki/Adriaan_Fokker|Adriaan Fokker]]. While the idea generalizes easily to [[just intonation subgroups]] and tempered groups, for ease of exposition we will suppose that we are in a [[Harmonic Limit|p-limit]] situation with n=pi(p) primes up to an including p.
The **Fokker block** is one of the most notable inventions of the physicist and music theorist [[http://en.wikipedia.org/wiki/Adriaan_Fokker|Adriaan Fokker]]. While the idea generalizes easily to [[just intonation subgroups]] and tempered groups, for ease of exposition we will suppose that we are in a [[Harmonic Limit|p-limit]] situation with n=pi(p) primes up to an including p.


Line 35: Line 35:
Let us define a new set of vals by uk = P*vk - vk(2)*vn. To apply these vals to S[i], note first that floor((en*i+an)/P) = floor(i+an/P) = i, so that vn(S[i]) = i. Hence un(S[i]) = P*vn - vn(2)*vn = 0, while for k&lt;n, uk(S[i]) = P*vk(S[i]) - vk(2)*i. Since x-1 &lt; floor(x) ≤ x, we have (ek*i + ak)/P-1 &lt; floor((ek*i + ak)/P) ≤ (ek*i + ak)/P, so that ek*i + ak - P &lt; P*vk(S[i]) ≤ ek*i + ak. Since ek = vk(2), this gives us ak - P &lt; uk(S[i]) ≤ ak. This means that for each of the vals uk, the scale is mapped to a set of P integers.
Let us define a new set of vals by uk = P*vk - vk(2)*vn. To apply these vals to S[i], note first that floor((en*i+an)/P) = floor(i+an/P) = i, so that vn(S[i]) = i. Hence un(S[i]) = P*vn - vn(2)*vn = 0, while for k&lt;n, uk(S[i]) = P*vk(S[i]) - vk(2)*i. Since x-1 &lt; floor(x) ≤ x, we have (ek*i + ak)/P-1 &lt; floor((ek*i + ak)/P) ≤ (ek*i + ak)/P, so that ek*i + ak - P &lt; P*vk(S[i]) ≤ ek*i + ak. Since ek = vk(2), this gives us ak - P &lt; uk(S[i]) ≤ ak. This means that for each of the vals uk, the scale is mapped to a set of P integers.


The val uk is a linear combination of vk and vn, which are both vals of the rank two temperament defined by the set of chromas minus {ck}. Since uk(2)=0, uk is a multiple of the generator step val of a [[Normal lists|normal val list]], or map, for this rank two temperament; in fact it is ±mGk, where Gk is the generator step val and m is the number of periods to the octave. If we take the wedge product vn∧Gk and reduce it to a [[The wedgie|wedgie]] Wk, then the [[Interior product|interior products]] Wk∨S[i] for i from 1 to P are P distinct vals wi, each of which have wi(2) in a range of P successive values. The Wk are a basis for the [[Minkowski reduced bases for Fokker groups of certain vals|Fokker group]] of the epimorph V. It follows that the abstract [[periodic scale]] Wk∨S represents a MOS of the temperament defined by Wk. The Fokker block can be tempered in n-1 distinct rank two temperament ways to n-1 distinct MOS, and this provides another definition of a Fokker block: a periodic JI scale is Fokker if and only if from the rank n JI group it generates it can be tempered in n-1 ways to n-1 distinct MOS. The arena of the Fokker block is defined equally well by the n-1 wedgies defining the n-1 distinct temperings as by the n-1 chromas introduced previously; these are dual points of view: if we take all but one of the n-1 chromas, they define one of the wedgies, and if we take all but one of the wedgies, they define a chroma. The Fokker group basis is the dual basis of the chroma basis, and conversely.
The val uk is a linear combination of vk and vn, which are both vals of the rank two temperament defined by the set of chromas minus {ck}. Since uk(2)=0, uk is a multiple of the generator step val of a [[Normal lists|normal val list]], or map, for this rank two temperament; in fact it is ±mGk, where Gk is the generator step val and m is the number of periods to the octave. If we take the wedge product vn∧Gk and reduce it to a [[The wedgie|wedgie]] Wk, then the [[Interior product|interior products]] Wk∨S[i] for i from 1 to P are P distinct vals wi, each of which have wi(2) in a range of P successive values. The Wk are a basis for the [[Minkowski reduced bases for Fokker groups of certain vals|Fokker group]] of the epimorph V. It follows that the abstract [[periodic scale]] Wk∨S represents a MOS of the temperament defined by Wk. The Fokker block can be tempered in n-1 distinct rank two temperament ways to n-1 distinct MOS, and this provides another definition of a Fokker block: a periodic JI scale is Fokker if and only if from the rank n JI group it generates it can be tempered in n-1 ways to n-1 distinct MOS. The arena of the Fokker block is defined equally well by the n-1 wedgies defining the n-1 distinct temperings as by the n-1 chromas introduced previously; these are dual points of view: if we take all but one of the n-1 chromas, they define one of the wedgies, and if we take all but one of the wedgies, they define a chroma. The Fokker group basis is the dual basis of the chroma basis, and conversely.


=Third definition of a Fokker block=  
=Third definition of a Fokker block=  
Line 64: Line 64:


==Generator range and the first definition of a Fokker block==  
==Generator range and the first definition of a Fokker block==  
From the values for T[i] for each of the four temperaments, we find that the generator range for pajara is -7 to 3, since we obtain the even numbers from -14 to 6. The others are magic from -9 to 12, orwell from -4 to 17 and porcupine from -8 to 13.  
From the values for T[i] for each of the four temperaments, we find that the generator range for pajara is -7 to 3, since we obtain the even numbers from -14 to 6. The others are magic from -9 to 12, orwell from -4 to 17 and porcupine from -8 to 13.


We can pass from a Fokker group basis to a chroma basis in various ways. One way begins by finding the [[Tenney-Euclidean Tuning#The Frobenius projection map|Frobenius projection map]] P_k corresponding to each temperament wedgie W_k, and from that the dual projection map Q_k. Q_k has the property that each chroma except c_k is an eigenvector with eigenvalue 1. Hence, the matrix product of the Q_i with i≠k has a single eigenvalue of 1, corresponding to c_k, which allows us to find c_k. From the Fokker group basis [pajara, magic, orwell, porccupine] we may find in this way the dual chroma basis [385/384, 176/175, 100/99, 225/224]. Taking the monzo matrix for 385/384, 175/176, 100/99, 225/224 and 36/35, inverting and transposing, we obtain &lt;12 19 28 34 42|, -&lt;3 5 7 9 10|, &lt;9 14 21 25 31|, -&lt;7 11 16 20 24|], [&lt;22 35 51 62 76|, . From this and the previously obtained generator ranges, we find that
We can pass from a Fokker group basis to a chroma basis in various ways. One way begins by finding the [[Tenney-Euclidean Tuning#The%20Frobenius%20projection%20map|Frobenius projection map]] P_k corresponding to each temperament wedgie W_k, and from that the dual projection map Q_k. Q_k has the property that each chroma except c_k is an eigenvector with eigenvalue 1. Hence, the matrix product of the Q_i with i≠k has a single eigenvalue of 1, corresponding to c_k, which allows us to find c_k. From the Fokker group basis [pajara, magic, orwell, porccupine] we may find in this way the dual chroma basis [385/384, 176/175, 100/99, 225/224]. Taking the monzo matrix for 385/384, 175/176, 100/99, 225/224 and 36/35, inverting and transposing, we obtain &lt;12 19 28 34 42|, -&lt;3 5 7 9 10|, &lt;9 14 21 25 31|, -&lt;7 11 16 20 24|], [&lt;22 35 51 62 76|, . From this and the previously obtained generator ranges, we find that


S[i] = (36/35)^i * (385/384)^floor((12*i+14)/22) * (175/176)^floor((-3*i+9)/22) * (100/99)^floor((9*i+4)/22) * (224/225)^floor((-7*i+13)/22)
S[i] = (36/35)^i * (385/384)^floor((12*i+14)/22) * (175/176)^floor((-3*i+9)/22) * (100/99)^floor((9*i+4)/22) * (224/225)^floor((-7*i+13)/22)
Line 104: Line 104:
The reconstitution can be obtained as follows: for every note of S[i] except S[0], S[i] will be either the rational number obtained by finding the monzo of the wedge products of the r-1 abstract MOS vals for i, taking the dual, and dividing by i^(r-1), or else the inverse of this number. Hence we may choose an ordering of the correct parity, and find the value associated to S[i] by (v1∧v2∧...∧v_(r-1))º/i^(r-1).
The reconstitution can be obtained as follows: for every note of S[i] except S[0], S[i] will be either the rational number obtained by finding the monzo of the wedge products of the r-1 abstract MOS vals for i, taking the dual, and dividing by i^(r-1), or else the inverse of this number. Hence we may choose an ordering of the correct parity, and find the value associated to S[i] by (v1∧v2∧...∧v_(r-1))º/i^(r-1).


=The Fokblock function and modal UDP notation=
=The Fokblock function and modal UDP notation=  
Using the first definition of Fokker block, since the epimorph V may be calculated from the chroma basis, the choice of uniformizer does not affect the resulting block, and the corresponding an plays no role and may be taken as 0, the block is entirely determined by the chroma basis, C = [c1, c2, ..., c_(n-1)] together with the offet values A = [a1, a2, ..., a_(n-1)]. Hence we may define a function Fokblock(C, A) from n-1 element listings of the chroma basis and corresponding offset values to a Fokker block within the arena defined by C. If the list of wedgies [w1, w2, ..., w_(n-1)] is the dual Fokker group basis to the chroma basis C, then the period Pi of wi may as usual be found by taking the GCD of the first n-1 elements of wi. If S = Fokblock(C, A) is a Fokker block, the smallest value of ai giving S is always divisble by Pi, and fixing the other elements of A there are Pi successive values for ai which all give S. In terms of [[modal UDP notation]], the value of U for the MOS resulting from tempering S by Wi is ai/Pk, where ai is the smallest value giving S, and the value for D is V(2)/Pk - U - 1. Hence, the UDP notation for the MOS is U|D(Pk), with these values.  
Using the first definition of Fokker block, since the epimorph V may be calculated from the chroma basis, the choice of uniformizer does not affect the resulting block, and the corresponding an plays no role and may be taken as 0, the block is entirely determined by the chroma basis, C = [c1, c2, ..., c_(n-1)] together with the offet values A = [a1, a2, ..., a_(n-1)]. Hence we may define a function Fokblock(C, A) from n-1 element listings of the chroma basis and corresponding offset values to a Fokker block within the arena defined by C. If the list of wedgies [w1, w2, ..., w_(n-1)] is the dual Fokker group basis to the chroma basis C, then the period Pi of wi may as usual be found by taking the GCD of the first n-1 elements of wi. If S = Fokblock(C, A) is a Fokker block, the smallest value of ai giving S is always divisble by Pi, and fixing the other elements of A there are Pi successive values for ai which all give S. In terms of [[modal UDP notation]], the value of U for the MOS resulting from tempering S by Wi is ai/Pk, where ai is the smallest value giving S, and the value for D is V(2)/Pk - U - 1. Hence, the UDP notation for the MOS is U|D(Pk), with these values.


Returning to our pajmagorpor22 example, we have that pajmagorpor22 = Fokblock([385/384, 176/175, 100/99, 225/224], [14, 9, 4, 13]). It is also equal to Fokblock([385/384, 176/175, 100/99, 225/224], [15, 9, 4, 13]), reflecting the fact that pajara has a period of half on octave, ie that P1 = 2. Hence the pajara MOS mode is 7|3(2) in UDP notation. Finding the others by the fact that for them Pk=1 and ak=U, we have that the block, in product word form, is (pajara 7|3(2))*(magic 9|12)*(orwell 4|17)*(porcupine 13|8). We can easily reverse this process, finding the chroma basis from the Fokker group basis, and the offset ai from the corresponding U and Pi as Pi*U, and so display S in terms of Fokblock.
Returning to our pajmagorpor22 example, we have that pajmagorpor22 = Fokblock([385/384, 176/175, 100/99, 225/224], [14, 9, 4, 13]). It is also equal to Fokblock([385/384, 176/175, 100/99, 225/224], [15, 9, 4, 13]), reflecting the fact that pajara has a period of half on octave, ie that P1 = 2. Hence the pajara MOS mode is 7|3(2) in UDP notation. Finding the others by the fact that for them Pk=1 and ak=U, we have that the block, in product word form, is (pajara 7|3(2))*(magic 9|12)*(orwell 4|17)*(porcupine 13|8). We can easily reverse this process, finding the chroma basis from the Fokker group basis, and the offset ai from the corresponding U and Pi as Pi*U, and so display S in terms of Fokblock.
Line 113: Line 113:
If we want to compute Fokker blocks in subgroups resulting from excluding one or more odd primes, we can do so by adding the primes to the list of chromas. For instance [[nofives]] is Fokblock([64/63, 729/686, 5], [3, 4, 0]).</pre></div>
If we want to compute Fokker blocks in subgroups resulting from excluding one or more odd primes, we can do so by adding the primes to the list of chromas. For instance [[nofives]] is Fokblock([64/63, 729/686, 5], [3, 4, 0]).</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;Fokker blocks&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;!-- ws:start:WikiTextTocRule:30:&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:30 --&gt;&lt;!-- ws:start:WikiTextTocRule:31: --&gt;&lt;a href="#Preliminaries"&gt;Preliminaries&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:31 --&gt;&lt;!-- ws:start:WikiTextTocRule:32: --&gt; | &lt;a href="#First definition of a Fokker block"&gt;First definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:32 --&gt;&lt;!-- ws:start:WikiTextTocRule:33: --&gt; | &lt;a href="#Second definition of a Fokker block"&gt;Second definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:33 --&gt;&lt;!-- ws:start:WikiTextTocRule:34: --&gt; | &lt;a href="#Third definition of a Fokker block"&gt;Third definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:34 --&gt;&lt;!-- ws:start:WikiTextTocRule:35: --&gt; | &lt;a href="#Fourth definition of a Fokker block"&gt;Fourth definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:35 --&gt;&lt;!-- ws:start:WikiTextTocRule:36: --&gt; | &lt;a href="#Determining if a scale is a Fokker block"&gt;Determining if a scale is a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:36 --&gt;&lt;!-- ws:start:WikiTextTocRule:37: --&gt; | &lt;a href="#Expanding the definition"&gt;Expanding the definition&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:37 --&gt;&lt;!-- ws:start:WikiTextTocRule:38: --&gt; | &lt;a href="#Example"&gt;Example&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:38 --&gt;&lt;!-- ws:start:WikiTextTocRule:39: --&gt;&lt;!-- ws:end:WikiTextTocRule:39 --&gt;&lt;!-- ws:start:WikiTextTocRule:40: --&gt;&lt;!-- ws:end:WikiTextTocRule:40 --&gt;&lt;!-- ws:start:WikiTextTocRule:41: --&gt;&lt;!-- ws:end:WikiTextTocRule:41 --&gt;&lt;!-- ws:start:WikiTextTocRule:42: --&gt;&lt;!-- ws:end:WikiTextTocRule:42 --&gt;&lt;!-- ws:start:WikiTextTocRule:43: --&gt;&lt;!-- ws:end:WikiTextTocRule:43 --&gt;&lt;!-- ws:start:WikiTextTocRule:44: --&gt; | &lt;a href="#Scale properties of Fokker blocks"&gt;Scale properties of Fokker blocks&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:44 --&gt;&lt;!-- ws:start:WikiTextTocRule:45: --&gt; | &lt;a href="#The Fokblock function and modal UDP notation"&gt;The Fokblock function and modal UDP notation&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:45 --&gt;&lt;!-- ws:start:WikiTextTocRule:46: --&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;Fokker blocks&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;!-- ws:start:WikiTextLocalImageRule:47:&amp;lt;div style=&amp;quot;text-align: center&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;/file/view/mathhazard.jpg&amp;quot; alt=&amp;quot;&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/div&amp;gt; --&gt;&lt;div style="text-align: center"&gt;&lt;img src="/file/view/mathhazard.jpg" alt="mathhazard.jpg" title="mathhazard.jpg" /&gt;&lt;/div&gt;&lt;!-- ws:end:WikiTextLocalImageRule:47 --&gt;&lt;!-- ws:start:WikiTextTocRule:30:&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:30 --&gt;&lt;!-- ws:start:WikiTextTocRule:31: --&gt;&lt;a href="#Preliminaries"&gt;Preliminaries&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:31 --&gt;&lt;!-- ws:start:WikiTextTocRule:32: --&gt; | &lt;a href="#First definition of a Fokker block"&gt;First definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:32 --&gt;&lt;!-- ws:start:WikiTextTocRule:33: --&gt; | &lt;a href="#Second definition of a Fokker block"&gt;Second definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:33 --&gt;&lt;!-- ws:start:WikiTextTocRule:34: --&gt; | &lt;a href="#Third definition of a Fokker block"&gt;Third definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:34 --&gt;&lt;!-- ws:start:WikiTextTocRule:35: --&gt; | &lt;a href="#Fourth definition of a Fokker block"&gt;Fourth definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:35 --&gt;&lt;!-- ws:start:WikiTextTocRule:36: --&gt; | &lt;a href="#Determining if a scale is a Fokker block"&gt;Determining if a scale is a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:36 --&gt;&lt;!-- ws:start:WikiTextTocRule:37: --&gt; | &lt;a href="#Expanding the definition"&gt;Expanding the definition&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:37 --&gt;&lt;!-- ws:start:WikiTextTocRule:38: --&gt; | &lt;a href="#Example"&gt;Example&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:38 --&gt;&lt;!-- ws:start:WikiTextTocRule:39: --&gt;&lt;!-- ws:end:WikiTextTocRule:39 --&gt;&lt;!-- ws:start:WikiTextTocRule:40: --&gt;&lt;!-- ws:end:WikiTextTocRule:40 --&gt;&lt;!-- ws:start:WikiTextTocRule:41: --&gt;&lt;!-- ws:end:WikiTextTocRule:41 --&gt;&lt;!-- ws:start:WikiTextTocRule:42: --&gt;&lt;!-- ws:end:WikiTextTocRule:42 --&gt;&lt;!-- ws:start:WikiTextTocRule:43: --&gt;&lt;!-- ws:end:WikiTextTocRule:43 --&gt;&lt;!-- ws:start:WikiTextTocRule:44: --&gt; | &lt;a href="#Scale properties of Fokker blocks"&gt;Scale properties of Fokker blocks&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:44 --&gt;&lt;!-- ws:start:WikiTextTocRule:45: --&gt; | &lt;a href="#The Fokblock function and modal UDP notation"&gt;The Fokblock function and modal UDP notation&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:45 --&gt;&lt;!-- ws:start:WikiTextTocRule:46: --&gt;
&lt;!-- ws:end:WikiTextTocRule:46 --&gt;&lt;br /&gt;
&lt;!-- ws:end:WikiTextTocRule:46 --&gt;The &lt;strong&gt;Fokker block&lt;/strong&gt; is one of the most notable inventions of the physicist and music theorist &lt;a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Adriaan_Fokker" rel="nofollow"&gt;Adriaan Fokker&lt;/a&gt;. While the idea generalizes easily to &lt;a class="wiki_link" href="/just%20intonation%20subgroups"&gt;just intonation subgroups&lt;/a&gt; and tempered groups, for ease of exposition we will suppose that we are in a &lt;a class="wiki_link" href="/Harmonic%20Limit"&gt;p-limit&lt;/a&gt; situation with n=pi(p) primes up to an including p.&lt;br /&gt;
The &lt;strong&gt;Fokker block&lt;/strong&gt; is one of the most notable inventions of the physicist and music theorist &lt;a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Adriaan_Fokker" rel="nofollow"&gt;Adriaan Fokker&lt;/a&gt;. While the idea generalizes easily to &lt;a class="wiki_link" href="/just%20intonation%20subgroups"&gt;just intonation subgroups&lt;/a&gt; and tempered groups, for ease of exposition we will suppose that we are in a &lt;a class="wiki_link" href="/Harmonic%20Limit"&gt;p-limit&lt;/a&gt; situation with n=pi(p) primes up to an including p.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- ws:start:WikiTextHeadingRule:0:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc0"&gt;&lt;a name="Preliminaries"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:0 --&gt;Preliminaries&lt;/h1&gt;
&lt;!-- ws:start:WikiTextHeadingRule:0:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc0"&gt;&lt;a name="Preliminaries"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:0 --&gt;Preliminaries&lt;/h1&gt;
Line 142: Line 141:
  Let us define a new set of vals by uk = P*vk - vk(2)*vn. To apply these vals to S[i], note first that floor((en*i+an)/P) = floor(i+an/P) = i, so that vn(S[i]) = i. Hence un(S[i]) = P*vn - vn(2)*vn = 0, while for k&amp;lt;n, uk(S[i]) = P*vk(S[i]) - vk(2)*i. Since x-1 &amp;lt; floor(x) ≤ x, we have (ek*i + ak)/P-1 &amp;lt; floor((ek*i + ak)/P) ≤ (ek*i + ak)/P, so that ek*i + ak - P &amp;lt; P*vk(S[i]) ≤ ek*i + ak. Since ek = vk(2), this gives us ak - P &amp;lt; uk(S[i]) ≤ ak. This means that for each of the vals uk, the scale is mapped to a set of P integers.&lt;br /&gt;
  Let us define a new set of vals by uk = P*vk - vk(2)*vn. To apply these vals to S[i], note first that floor((en*i+an)/P) = floor(i+an/P) = i, so that vn(S[i]) = i. Hence un(S[i]) = P*vn - vn(2)*vn = 0, while for k&amp;lt;n, uk(S[i]) = P*vk(S[i]) - vk(2)*i. Since x-1 &amp;lt; floor(x) ≤ x, we have (ek*i + ak)/P-1 &amp;lt; floor((ek*i + ak)/P) ≤ (ek*i + ak)/P, so that ek*i + ak - P &amp;lt; P*vk(S[i]) ≤ ek*i + ak. Since ek = vk(2), this gives us ak - P &amp;lt; uk(S[i]) ≤ ak. This means that for each of the vals uk, the scale is mapped to a set of P integers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The val uk is a linear combination of vk and vn, which are both vals of the rank two temperament defined by the set of chromas minus {ck}. Since uk(2)=0, uk is a multiple of the generator step val of a &lt;a class="wiki_link" href="/Normal%20lists"&gt;normal val list&lt;/a&gt;, or map, for this rank two temperament; in fact it is ±mGk, where Gk is the generator step val and m is the number of periods to the octave. If we take the wedge product vn∧Gk and reduce it to a &lt;a class="wiki_link" href="/The%20wedgie"&gt;wedgie&lt;/a&gt; Wk, then the &lt;a class="wiki_link" href="/Interior%20product"&gt;interior products&lt;/a&gt; Wk∨S[i] for i from 1 to P are P distinct vals wi, each of which have wi(2) in a range of P successive values. The Wk are a basis for the &lt;a class="wiki_link" href="/Minkowski%20reduced%20bases%20for%20Fokker%20groups%20of%20certain%20vals"&gt;Fokker group&lt;/a&gt; of the epimorph V. It follows that the abstract &lt;a class="wiki_link" href="/periodic%20scale"&gt;periodic scale&lt;/a&gt; Wk∨S represents a MOS of the temperament defined by Wk. The Fokker block can be tempered in n-1 distinct rank two temperament ways to n-1 distinct MOS, and this provides another definition of a Fokker block: a periodic JI scale is Fokker if and only if from the rank n JI group it generates it can be tempered in n-1 ways to n-1 distinct MOS. The arena of the Fokker block is defined equally well by the n-1 wedgies defining the n-1 distinct temperings as by the n-1 chromas introduced previously; these are dual points of view: if we take all but one of the n-1 chromas, they define one of the wedgies, and if we take all but one of the wedgies, they define a chroma. The Fokker group basis is the dual basis of the chroma basis, and conversely.&lt;br /&gt;
The val uk is a linear combination of vk and vn, which are both vals of the rank two temperament defined by the set of chromas minus {ck}. Since uk(2)=0, uk is a multiple of the generator step val of a &lt;a class="wiki_link" href="/Normal%20lists"&gt;normal val list&lt;/a&gt;, or map, for this rank two temperament; in fact it is ±mGk, where Gk is the generator step val and m is the number of periods to the octave. If we take the wedge product vn∧Gk and reduce it to a &lt;a class="wiki_link" href="/The%20wedgie"&gt;wedgie&lt;/a&gt; Wk, then the &lt;a class="wiki_link" href="/Interior%20product"&gt;interior products&lt;/a&gt; Wk∨S[i] for i from 1 to P are P distinct vals wi, each of which have wi(2) in a range of P successive values. The Wk are a basis for the &lt;a class="wiki_link" href="/Minkowski%20reduced%20bases%20for%20Fokker%20groups%20of%20certain%20vals"&gt;Fokker group&lt;/a&gt; of the epimorph V. It follows that the abstract &lt;a class="wiki_link" href="/periodic%20scale"&gt;periodic scale&lt;/a&gt; Wk∨S represents a MOS of the temperament defined by Wk. The Fokker block can be tempered in n-1 distinct rank two temperament ways to n-1 distinct MOS, and this provides another definition of a Fokker block: a periodic JI scale is Fokker if and only if from the rank n JI group it generates it can be tempered in n-1 ways to n-1 distinct MOS. The arena of the Fokker block is defined equally well by the n-1 wedgies defining the n-1 distinct temperings as by the n-1 chromas introduced previously; these are dual points of view: if we take all but one of the n-1 chromas, they define one of the wedgies, and if we take all but one of the wedgies, they define a chroma. The Fokker group basis is the dual basis of the chroma basis, and conversely.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- ws:start:WikiTextHeadingRule:6:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc3"&gt;&lt;a name="Third definition of a Fokker block"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:6 --&gt;Third definition of a Fokker block&lt;/h1&gt;
&lt;!-- ws:start:WikiTextHeadingRule:6:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc3"&gt;&lt;a name="Third definition of a Fokker block"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:6 --&gt;Third definition of a Fokker block&lt;/h1&gt;
Line 171: Line 170:
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- ws:start:WikiTextHeadingRule:18:&amp;lt;h2&amp;gt; --&gt;&lt;h2 id="toc9"&gt;&lt;a name="Example-Generator range and the first definition of a Fokker block"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:18 --&gt;Generator range and the first definition of a Fokker block&lt;/h2&gt;
&lt;!-- ws:start:WikiTextHeadingRule:18:&amp;lt;h2&amp;gt; --&gt;&lt;h2 id="toc9"&gt;&lt;a name="Example-Generator range and the first definition of a Fokker block"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:18 --&gt;Generator range and the first definition of a Fokker block&lt;/h2&gt;
  From the values for T[i] for each of the four temperaments, we find that the generator range for pajara is -7 to 3, since we obtain the even numbers from -14 to 6. The others are magic from -9 to 12, orwell from -4 to 17 and porcupine from -8 to 13. &lt;br /&gt;
  From the values for T[i] for each of the four temperaments, we find that the generator range for pajara is -7 to 3, since we obtain the even numbers from -14 to 6. The others are magic from -9 to 12, orwell from -4 to 17 and porcupine from -8 to 13.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We can pass from a Fokker group basis to a chroma basis in various ways. One way begins by finding the &lt;a class="wiki_link" href="/Tenney-Euclidean%20Tuning#The Frobenius projection map"&gt;Frobenius projection map&lt;/a&gt; P_k corresponding to each temperament wedgie W_k, and from that the dual projection map Q_k. Q_k has the property that each chroma except c_k is an eigenvector with eigenvalue 1. Hence, the matrix product of the Q_i with i≠k has a single eigenvalue of 1, corresponding to c_k, which allows us to find c_k. From the Fokker group basis [pajara, magic, orwell, porccupine] we may find in this way the dual chroma basis [385/384, 176/175, 100/99, 225/224]. Taking the monzo matrix for 385/384, 175/176, 100/99, 225/224 and 36/35, inverting and transposing, we obtain &amp;lt;12 19 28 34 42|, -&amp;lt;3 5 7 9 10|, &amp;lt;9 14 21 25 31|, -&amp;lt;7 11 16 20 24|], [&amp;lt;22 35 51 62 76|, . From this and the previously obtained generator ranges, we find that&lt;br /&gt;
We can pass from a Fokker group basis to a chroma basis in various ways. One way begins by finding the &lt;a class="wiki_link" href="/Tenney-Euclidean%20Tuning#The%20Frobenius%20projection%20map"&gt;Frobenius projection map&lt;/a&gt; P_k corresponding to each temperament wedgie W_k, and from that the dual projection map Q_k. Q_k has the property that each chroma except c_k is an eigenvector with eigenvalue 1. Hence, the matrix product of the Q_i with i≠k has a single eigenvalue of 1, corresponding to c_k, which allows us to find c_k. From the Fokker group basis [pajara, magic, orwell, porccupine] we may find in this way the dual chroma basis [385/384, 176/175, 100/99, 225/224]. Taking the monzo matrix for 385/384, 175/176, 100/99, 225/224 and 36/35, inverting and transposing, we obtain &amp;lt;12 19 28 34 42|, -&amp;lt;3 5 7 9 10|, &amp;lt;9 14 21 25 31|, -&amp;lt;7 11 16 20 24|], [&amp;lt;22 35 51 62 76|, . From this and the previously obtained generator ranges, we find that&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
S[i] = (36/35)^i * (385/384)^floor((12*i+14)/22) * (175/176)^floor((-3*i+9)/22) * (100/99)^floor((9*i+4)/22) * (224/225)^floor((-7*i+13)/22)&lt;br /&gt;
S[i] = (36/35)^i * (385/384)^floor((12*i+14)/22) * (175/176)^floor((-3*i+9)/22) * (100/99)^floor((9*i+4)/22) * (224/225)^floor((-7*i+13)/22)&lt;br /&gt;
Line 187: Line 186:
  A Fokker block is not just a scale, but a little scale universe of tempered versions of that scale which identify various steps of the scale, as depicted below.&lt;br /&gt;
  A Fokker block is not just a scale, but a little scale universe of tempered versions of that scale which identify various steps of the scale, as depicted below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- ws:start:WikiTextRemoteImageRule:48:&amp;lt;a href=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Pajmagorpor22_temperament_support_lattice.svg/2000px-Pajmagorpor22_temperament_support_lattice.svg.png&amp;quot; rel=&amp;quot;nofollow&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Pajmagorpor22_temperament_support_lattice.svg/2000px-Pajmagorpor22_temperament_support_lattice.svg.png&amp;quot; alt=&amp;quot;&amp;quot; title=&amp;quot;&amp;quot; style=&amp;quot;height: 170px; width: 714px;&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt; --&gt;&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Pajmagorpor22_temperament_support_lattice.svg/2000px-Pajmagorpor22_temperament_support_lattice.svg.png" rel="nofollow"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Pajmagorpor22_temperament_support_lattice.svg/2000px-Pajmagorpor22_temperament_support_lattice.svg.png" alt="external image 2000px-Pajmagorpor22_temperament_support_lattice.svg.png" title="external image 2000px-Pajmagorpor22_temperament_support_lattice.svg.png" style="height: 170px; width: 714px;" /&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextRemoteImageRule:48 --&gt;&lt;br /&gt;
&lt;!-- ws:start:WikiTextRemoteImageRule:49:&amp;lt;a href=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Pajmagorpor22_temperament_support_lattice.svg/2000px-Pajmagorpor22_temperament_support_lattice.svg.png&amp;quot; rel=&amp;quot;nofollow&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Pajmagorpor22_temperament_support_lattice.svg/2000px-Pajmagorpor22_temperament_support_lattice.svg.png&amp;quot; alt=&amp;quot;&amp;quot; title=&amp;quot;&amp;quot; style=&amp;quot;height: 170px; width: 714px;&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt; --&gt;&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Pajmagorpor22_temperament_support_lattice.svg/2000px-Pajmagorpor22_temperament_support_lattice.svg.png" rel="nofollow"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Pajmagorpor22_temperament_support_lattice.svg/2000px-Pajmagorpor22_temperament_support_lattice.svg.png" alt="external image 2000px-Pajmagorpor22_temperament_support_lattice.svg.png" title="external image 2000px-Pajmagorpor22_temperament_support_lattice.svg.png" style="height: 170px; width: 714px;" /&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextRemoteImageRule:49 --&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One has first the &lt;a class="wiki_link" href="/pajmagorpor22"&gt;original JI scale&lt;/a&gt;. Then there are codimension one temperings of the scale, in each of the commas associated to the Fokker block; in our example these are &lt;a class="wiki_link" href="/pajmagorpor22_225"&gt;225/224&lt;/a&gt;, &lt;a class="wiki_link" href="/pajmagorpor22_100"&gt;100/99&lt;/a&gt;, &lt;a class="wiki_link" href="/pajmagorpor22_176"&gt;176/175&lt;/a&gt;, and &lt;a class="wiki_link" href="/pajmagorpor22_385"&gt;385/384&lt;/a&gt;. The next level gives &lt;a class="wiki_link" href="/pajmagorpor22apollo"&gt;apollo&lt;/a&gt;, &lt;a class="wiki_link" href="/pajmagorpor22minerva"&gt;minerva&lt;/a&gt;, &lt;a class="wiki_link" href="/pajmagorpor22marvel"&gt;marvel&lt;/a&gt;, &lt;a class="wiki_link" href="/pajmagorpor22ares"&gt;ares&lt;/a&gt;, &lt;a class="wiki_link" href="/pajmagorpor22supermagic"&gt;supermagic&lt;/a&gt;, and &lt;a class="wiki_link" href="/pajmagorpor22zeus"&gt;zeus&lt;/a&gt;. Next come pajara, magic, orwell and porcupine, with the range of generators already given, and then finally 22 equal. Exploring the changes wrought by the various scales in such a Fokker universe, not to mention all of the modes and domes, would certainly give the interested composer plenty to work with.&lt;br /&gt;
One has first the &lt;a class="wiki_link" href="/pajmagorpor22"&gt;original JI scale&lt;/a&gt;. Then there are codimension one temperings of the scale, in each of the commas associated to the Fokker block; in our example these are &lt;a class="wiki_link" href="/pajmagorpor22_225"&gt;225/224&lt;/a&gt;, &lt;a class="wiki_link" href="/pajmagorpor22_100"&gt;100/99&lt;/a&gt;, &lt;a class="wiki_link" href="/pajmagorpor22_176"&gt;176/175&lt;/a&gt;, and &lt;a class="wiki_link" href="/pajmagorpor22_385"&gt;385/384&lt;/a&gt;. The next level gives &lt;a class="wiki_link" href="/pajmagorpor22apollo"&gt;apollo&lt;/a&gt;, &lt;a class="wiki_link" href="/pajmagorpor22minerva"&gt;minerva&lt;/a&gt;, &lt;a class="wiki_link" href="/pajmagorpor22marvel"&gt;marvel&lt;/a&gt;, &lt;a class="wiki_link" href="/pajmagorpor22ares"&gt;ares&lt;/a&gt;, &lt;a class="wiki_link" href="/pajmagorpor22supermagic"&gt;supermagic&lt;/a&gt;, and &lt;a class="wiki_link" href="/pajmagorpor22zeus"&gt;zeus&lt;/a&gt;. Next come pajara, magic, orwell and porcupine, with the range of generators already given, and then finally 22 equal. Exploring the changes wrought by the various scales in such a Fokker universe, not to mention all of the modes and domes, would certainly give the interested composer plenty to work with.&lt;br /&gt;
Line 212: Line 211:
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- ws:start:WikiTextHeadingRule:28:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc14"&gt;&lt;a name="The Fokblock function and modal UDP notation"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:28 --&gt;The Fokblock function and modal UDP notation&lt;/h1&gt;
&lt;!-- ws:start:WikiTextHeadingRule:28:&amp;lt;h1&amp;gt; --&gt;&lt;h1 id="toc14"&gt;&lt;a name="The Fokblock function and modal UDP notation"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:28 --&gt;The Fokblock function and modal UDP notation&lt;/h1&gt;
Using the first definition of Fokker block, since the epimorph V may be calculated from the chroma basis, the choice of uniformizer does not affect the resulting block, and the corresponding an plays no role and may be taken as 0, the block is entirely determined by the chroma basis, C = [c1, c2, ..., c_(n-1)] together with the offet values A = [a1, a2, ..., a_(n-1)]. Hence we may define a function Fokblock(C, A) from n-1 element listings of the chroma basis and corresponding offset values to a Fokker block within the arena defined by C. If the list of wedgies [w1, w2, ..., w_(n-1)] is the dual Fokker group basis to the chroma basis C, then the period Pi of wi may as usual be found by taking the GCD of the first n-1 elements of wi. If S = Fokblock(C, A) is a Fokker block, the smallest value of ai giving S is always divisble by Pi, and fixing the other elements of A there are Pi successive values for ai which all give S. In terms of &lt;a class="wiki_link" href="/modal%20UDP%20notation"&gt;modal UDP notation&lt;/a&gt;, the value of U for the MOS resulting from tempering S by Wi is ai/Pk, where ai is the smallest value giving S, and the value for D is V(2)/Pk - U - 1. Hence, the UDP notation for the MOS is U|D(Pk), with these values. &lt;br /&gt;
Using the first definition of Fokker block, since the epimorph V may be calculated from the chroma basis, the choice of uniformizer does not affect the resulting block, and the corresponding an plays no role and may be taken as 0, the block is entirely determined by the chroma basis, C = [c1, c2, ..., c_(n-1)] together with the offet values A = [a1, a2, ..., a_(n-1)]. Hence we may define a function Fokblock(C, A) from n-1 element listings of the chroma basis and corresponding offset values to a Fokker block within the arena defined by C. If the list of wedgies [w1, w2, ..., w_(n-1)] is the dual Fokker group basis to the chroma basis C, then the period Pi of wi may as usual be found by taking the GCD of the first n-1 elements of wi. If S = Fokblock(C, A) is a Fokker block, the smallest value of ai giving S is always divisble by Pi, and fixing the other elements of A there are Pi successive values for ai which all give S. In terms of &lt;a class="wiki_link" href="/modal%20UDP%20notation"&gt;modal UDP notation&lt;/a&gt;, the value of U for the MOS resulting from tempering S by Wi is ai/Pk, where ai is the smallest value giving S, and the value for D is V(2)/Pk - U - 1. Hence, the UDP notation for the MOS is U|D(Pk), with these values.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returning to our pajmagorpor22 example, we have that pajmagorpor22 = Fokblock([385/384, 176/175, 100/99, 225/224], [14, 9, 4, 13]). It is also equal to Fokblock([385/384, 176/175, 100/99, 225/224], [15, 9, 4, 13]), reflecting the fact that pajara has a period of half on octave, ie that P1 = 2. Hence the pajara MOS mode is 7|3(2) in UDP notation. Finding the others by the fact that for them Pk=1 and ak=U, we have that the block, in product word form, is (pajara 7|3(2))*(magic 9|12)*(orwell 4|17)*(porcupine 13|8). We can easily reverse this process, finding the chroma basis from the Fokker group basis, and the offset ai from the corresponding U and Pi as Pi*U, and so display S in terms of Fokblock.&lt;br /&gt;
Returning to our pajmagorpor22 example, we have that pajmagorpor22 = Fokblock([385/384, 176/175, 100/99, 225/224], [14, 9, 4, 13]). It is also equal to Fokblock([385/384, 176/175, 100/99, 225/224], [15, 9, 4, 13]), reflecting the fact that pajara has a period of half on octave, ie that P1 = 2. Hence the pajara MOS mode is 7|3(2) in UDP notation. Finding the others by the fact that for them Pk=1 and ak=U, we have that the block, in product word form, is (pajara 7|3(2))*(magic 9|12)*(orwell 4|17)*(porcupine 13|8). We can easily reverse this process, finding the chroma basis from the Fokker group basis, and the offset ai from the corresponding U and Pi as Pi*U, and so display S in terms of Fokblock.&lt;br /&gt;