Fokker block: Difference between revisions

From Xenharmonic Wiki
Jump to navigation Jump to search
Wikispaces>genewardsmith
**Imported revision 307335458 - Original comment: **
Wikispaces>genewardsmith
**Imported revision 307349344 - 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>2012-03-02 23:49:41 UTC</tt>.<br>
: This revision was by author [[User:genewardsmith|genewardsmith]] and made on <tt>2012-03-03 02:24:36 UTC</tt>.<br>
: The original revision id was <tt>307335458</tt>.<br>
: The original revision id was <tt>307349344</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:


is the periodic scale with which we began this analysis.
is the periodic scale with which we began this analysis.
==Product words and the fourth definition of a Fokker block==
Starting from our example 22 note per octave scale, we can produce a list of 22 steps: 33/32, 512/495, 33/32, 45/44, 25/24, 128/125, 25/24, 33/32, 128/125, 25/24, 45/44, 28/27, 36/35, 33/32, 512/495, 33/32, 80/77, 49/48, 33/32, 80/77, 77/75, 80/77. We can apply the four wedgies for pajara, magic, orwell and porcupine to these steps to obtain four abstract temperament MOS, each of which has two kinds of steps, expressed as vals. If a = -&lt;10 16 23 28 34| and b = &lt;12 19 28 34 42|, then pajara applied to the steps gives abababaabababababaabab. If c = -&lt;3 5 7 9 10| and d = &lt;19 30 44 53 66|, then magic gives cccdccccccdccccccdcccc.


==The tempered scales of a Fokker block==
==The tempered scales of a Fokker block==
Line 65: Line 73:
[[http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Pajmagorpor22_temperament_support_lattice.svg/2000px-Pajmagorpor22_temperament_support_lattice.svg.png|Pajmagorpor22 lattice]] </pre></div>
[[http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Pajmagorpor22_temperament_support_lattice.svg/2000px-Pajmagorpor22_temperament_support_lattice.svg.png|Pajmagorpor22 lattice]] </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:20:&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:20 --&gt;&lt;!-- ws:start:WikiTextTocRule:21: --&gt;&lt;a href="#Preliminaries"&gt;Preliminaries&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:21 --&gt;&lt;!-- ws:start:WikiTextTocRule:22: --&gt; | &lt;a href="#First definition of a Fokker block"&gt;First definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:22 --&gt;&lt;!-- ws:start:WikiTextTocRule:23: --&gt; | &lt;a href="#Second definition of a Fokker block"&gt;Second definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:23 --&gt;&lt;!-- ws:start:WikiTextTocRule:24: --&gt; | &lt;a href="#Third definition of a Fokker block"&gt;Third definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:24 --&gt;&lt;!-- ws:start:WikiTextTocRule:25: --&gt; | &lt;a href="#Fourth definition of a Fokker block"&gt;Fourth definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:25 --&gt;&lt;!-- ws:start:WikiTextTocRule:26: --&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:26 --&gt;&lt;!-- ws:start:WikiTextTocRule:27: --&gt; | &lt;a href="#Example"&gt;Example&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:27 --&gt;&lt;!-- ws:start:WikiTextTocRule:28: --&gt;&lt;!-- ws:end:WikiTextTocRule:28 --&gt;&lt;!-- ws:start:WikiTextTocRule:29: --&gt;&lt;!-- ws:end:WikiTextTocRule:29 --&gt;&lt;!-- ws:start:WikiTextTocRule:30: --&gt;&lt;!-- ws:end:WikiTextTocRule:30 --&gt;&lt;!-- ws:start:WikiTextTocRule:31: --&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:WikiTextTocRule:22:&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:22 --&gt;&lt;!-- ws:start:WikiTextTocRule:23: --&gt;&lt;a href="#Preliminaries"&gt;Preliminaries&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:23 --&gt;&lt;!-- ws:start:WikiTextTocRule:24: --&gt; | &lt;a href="#First definition of a Fokker block"&gt;First definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:24 --&gt;&lt;!-- ws:start:WikiTextTocRule:25: --&gt; | &lt;a href="#Second definition of a Fokker block"&gt;Second definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:25 --&gt;&lt;!-- ws:start:WikiTextTocRule:26: --&gt; | &lt;a href="#Third definition of a Fokker block"&gt;Third definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:26 --&gt;&lt;!-- ws:start:WikiTextTocRule:27: --&gt; | &lt;a href="#Fourth definition of a Fokker block"&gt;Fourth definition of a Fokker block&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:27 --&gt;&lt;!-- ws:start:WikiTextTocRule:28: --&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:28 --&gt;&lt;!-- ws:start:WikiTextTocRule:29: --&gt; | &lt;a href="#Example"&gt;Example&lt;/a&gt;&lt;!-- ws:end:WikiTextTocRule:29 --&gt;&lt;!-- ws:start:WikiTextTocRule:30: --&gt;&lt;!-- ws:end:WikiTextTocRule:30 --&gt;&lt;!-- ws:start:WikiTextTocRule:31: --&gt;&lt;!-- ws:end:WikiTextTocRule:31 --&gt;&lt;!-- ws:start:WikiTextTocRule:32: --&gt;&lt;!-- ws:end:WikiTextTocRule:32 --&gt;&lt;!-- ws:start:WikiTextTocRule:33: --&gt;&lt;!-- ws:end:WikiTextTocRule:33 --&gt;&lt;!-- ws:start:WikiTextTocRule:34: --&gt;
&lt;!-- ws:end:WikiTextTocRule:31 --&gt;&lt;br /&gt;
&lt;!-- ws:end:WikiTextTocRule:34 --&gt;&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;, 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;, 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;
Line 118: Line 126:
is the periodic scale with which we began this analysis.&lt;br /&gt;
is the periodic scale with which we began this analysis.&lt;br /&gt;
&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-The tempered scales of a Fokker block"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:18 --&gt;The tempered scales 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-Product words and the fourth definition of a Fokker block"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:18 --&gt;Product words and the fourth definition of a Fokker block&lt;/h2&gt;
Starting from our example 22 note per octave scale, we can produce a list of 22 steps: 33/32, 512/495, 33/32, 45/44, 25/24, 128/125, 25/24, 33/32, 128/125, 25/24, 45/44, 28/27, 36/35, 33/32, 512/495, 33/32, 80/77, 49/48, 33/32, 80/77, 77/75, 80/77. We can apply the four wedgies for pajara, magic, orwell and porcupine to these steps to obtain four abstract temperament MOS, each of which has two kinds of steps, expressed as vals. If a = -&amp;lt;10 16 23 28 34| and b = &amp;lt;12 19 28 34 42|, then pajara applied to the steps gives abababaabababababaabab. If c = -&amp;lt;3 5 7 9 10| and d = &amp;lt;19 30 44 53 66|, then magic gives cccdccccccdccccccdcccc. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- ws:start:WikiTextHeadingRule:20:&amp;lt;h2&amp;gt; --&gt;&lt;h2 id="toc10"&gt;&lt;a name="Example-The tempered scales of a Fokker block"&gt;&lt;/a&gt;&lt;!-- ws:end:WikiTextHeadingRule:20 --&gt;The tempered scales of a Fokker block&lt;/h2&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;!-- ws:start:WikiTextLocalImageRule:32:&amp;lt;img src=&amp;quot;/file/view/1000px-Pajmagorpor22_temperament_support_lattice.svg.png/307264676/1000px-Pajmagorpor22_temperament_support_lattice.svg.png&amp;quot; alt=&amp;quot;&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt; --&gt;&lt;img src="/file/view/1000px-Pajmagorpor22_temperament_support_lattice.svg.png/307264676/1000px-Pajmagorpor22_temperament_support_lattice.svg.png" alt="1000px-Pajmagorpor22_temperament_support_lattice.svg.png" title="1000px-Pajmagorpor22_temperament_support_lattice.svg.png" /&gt;&lt;!-- ws:end:WikiTextLocalImageRule:32 --&gt;&lt;br /&gt;
&lt;!-- ws:start:WikiTextLocalImageRule:35:&amp;lt;img src=&amp;quot;/file/view/1000px-Pajmagorpor22_temperament_support_lattice.svg.png/307264676/1000px-Pajmagorpor22_temperament_support_lattice.svg.png&amp;quot; alt=&amp;quot;&amp;quot; title=&amp;quot;&amp;quot; /&amp;gt; --&gt;&lt;img src="/file/view/1000px-Pajmagorpor22_temperament_support_lattice.svg.png/307264676/1000px-Pajmagorpor22_temperament_support_lattice.svg.png" alt="1000px-Pajmagorpor22_temperament_support_lattice.svg.png" title="1000px-Pajmagorpor22_temperament_support_lattice.svg.png" /&gt;&lt;!-- ws:end:WikiTextLocalImageRule:35 --&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a class="wiki_link_ext" 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;Pajmagorpor22 lattice&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;</pre></div>
&lt;a class="wiki_link_ext" 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;Pajmagorpor22 lattice&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;</pre></div>

Revision as of 02:24, 3 March 2012

IMPORTED REVISION FROM WIKISPACES

This is an imported revision from Wikispaces. The revision metadata is included below for reference:

This revision was by author genewardsmith and made on 2012-03-03 02:24:36 UTC.
The original revision id was 307349344.
The revision comment was:

The revision contents are below, presented both in the original Wikispaces Wikitext format, and in HTML exactly as Wikispaces rendered it.

Original Wikitext content:

[[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]], 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.

=Preliminaries=
Suppose we have n-1 commas, and we form an n by n matrix, the top row of which are n indeterminate elements |e2 e3 e5 ... ep>, and the other rows of which are the monzos corresponding to our chosen commas. If we take the determinant of this matrix, we get v2*e2+v3*e3+...+vp*ep where the v2, v3 ... vp are integers. We interpret this as the [[Vals and Tuning Space|val]] v = <v2, v3, ... vp|. If this is a zero vector the commas are not independent, and if the there exists a common divisor we have what is known as a torsion problem, and we discard the comma set. Otherwise, if v2<0 we reverse sign, and we have a val v which tells us what equal temperament our Fokker block will be approximating. For example, starting with the commas 225/224, 100/99, 176/175 and 385/384, the above procedure gives us the val v = <22 35 51 62 76|, and we will be looking at a 22-note scale in the 11-limit.

Now choose an example step for the Fokker block, which is a p-limit interval c such that v(c) = 1; that is, if m is the monzo for c, then <v|m>=1. Precisely which interval with this property we choose doesn't actually matter, so if our commas are 225/224, 100/99, 176/175 and 385/384, we could for instance choose 22/21, 25/24, 28/27, 33/32, 36/35, 45/44 or 49/48. Having selected a step, form the n by n matrix whose first row is the monzo for the step c, and whose other rows are the monzos of the n-1 commas. Because we have chosen c so that v(c)=1, the determinant of this matrix will be ∓1. It is therefore a [[http://en.wikipedia.org/wiki/Unimodular_matrix|unimodular matrix]], that is, a square matrix with coefficients which are integers and with determinant ∓1. Such a matrix is invertible, and the inverse matrix is also unimodular. If we call c c1, and label the commas c2, c3, ... cn; and if we consider the columns of the inverse matrix to be vals and call them v1, v2, ... vn, then by the definition of the inverse of a matrix, vi(cj) = delta(i,j), where delta(i,j) is the [[http://en.wikipedia.org/wiki/Kronecker_delta|Kronecker delta]]. Stated another way, vi(cj) is 0 unless i equals j, in which case vi(ci) = 1.

These unimodular matricies define a [[http://en.wikipedia.org/wiki/Change_of_basis|change of basis]] for the p-limit system of musical intervals: just as every p-limit interval can be written as a product of primes up to p with integer exponents, every such interval is a product of c1, c2, ... cn with integer exponents. To determine the exponents, we use v1, v2, ... vn, so that if q is a p-limit rational number, we may write it as

q = c1^v1(q) * c2^v2(q) ... cn^vn(q)

=First definition of a Fokker block=
Let us set ei = vi(2), and also P = e1 = v1(2), and choose n positive integers a1, ...., an with ak < P. Let ti = log2(ci), so that e1*t1+e2*t2+...+en*tn=1. Now define a function on the integers by

S[i] = floor((e1*i + a1)/P)*t1 + ... + floor((en*i + an)/P)*tn

Here floor(x) is the [[http://en.wikipedia.org/wiki/Floor_and_ceiling_functions|floor function]], the [[http://en.wikipedia.org/wiki/Quasiperiodic_function|quasiperiodic function]] returning the largest integer less than or equal to x. When i=0, since ak < P each term is 0 and so S[0] = 0. Since for integer j, floor(x+j) = floor(x) + j, we have

S[i + P] = S[i] + e1*t1 + e2*t2 + ... + en*tn = S[i] + 1

Hence S satisfies the conditions for being a [[Periodic scale|periodic scale]], and since our unit of measurement is the octave, ie we are using log base two to define intervals, the repetition interval 1 represents an octave. This gives us our first definition of Fokker block.

=Second definition of a Fokker block=
Let is define a new set of vals by uk = P*vk - vk(2)*v1. To apply these vals to S[i], note first that floor((e1*i+a1)/P) = floor(i+a1/P) = i, so that v1(S[i]) = i. Hence for k>1, uk(S[i]) = P*vk(S[i]) - vk(2)*i. Since x-1 < floor(x) ≤ x, we have (ek*i + ak)/P-1 < floor((ek*i + ak)/P) ≤ (ek*i + ak)/P, so that ek*i + ak - P < P*vk(S[i]) ≤ ek*i + ak. Since ek = vk(2), this gives us ak - P < 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 v1 and vk, which are both vals of the set of commas {c2, c3, ... cn} 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 the rank two temperament tempering out {c2, c3, ... ,cn} minus {ck}; 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 v1∧Gk and reduce it to a [[The wedgie|wedge]] 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. 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.

=Third definition of a Fokker block=
The n-1 vals u2, u3, ..., un defined in the previous section gave us n-1 inequalities ak - P < uk(q) ≤  ak, which apply to any q in the Fokker block. If we restrict q to 1 ≤ q < 2, and regard it as representing a pitch class, then it is associated to a lattice point in an n-1 dimensional vector space, and in that space the n-1 inequalities define the boundries of a parallepiped. The Fokker blocks can be defined as the pitch classes lying within such a paralellepiped.

=Fourth definition of a Fokker block=
The n-1 abstract MOS scales discussed with the second definition of Fokker blocks can be put into some chosen order, and the [[product word]] taken. This entails that every Fokker block leads to a product word, and the process can be reversed, so that product words of n-1 abstract MOS scales lead to Fokker blocks. Given the n-1 vals obtained by taking the interior product with some interval q, q can be recovered either by wedging the vals together and taking the [[The dual|dual]], or by taking the determinant of the nxn matrix of vals whose first row consists of indeterminates, as in the Preliminaries section.

=Determining if a scale is a Fokker block=
The second definition of Fokker block can be used to determine if a given periodic JI scale is a Fokker block. The first step is to find if it is epimorphic; this can be done by starting with a val V with indeterminate coefficients, and finding if the linear equations V(S[i]) = i have a solution. [[Scala]] does this as a part of its "Show data" suite of scale analytics. Now we take note of the fact that if r is the rank of the group generated by the scale (which is therefore the minimal JI system it is defined in) the set of bivals associated to V (which may defined as all bivals W such that V∧W = 0) is a free abelian group of rank r-1. We will assume we are working in a full p-limit group, but nothing essential is changed in Fokker block theory in the case of subgroups. The free group, defined by addition of bivals, has a basis consisting of ∓Wk for some set of wedgies, and we may assume the sign is positive and the basis is a basis of wedgies. Using this basis, we may either find a basis of r-1 wedgies each of which gives a [[Graham complexity]] to the scale reduced to the octave; that is, to S = {S[i]| 0 ≤ i < P} which is less than P, in which case the scale is a Fokker block, or determine no such basis exists, in which case it is not Fokker.

Graham complexity for S with respect to a wedgie W defines a complexity measure for the wedgies which makes the wedgies which determine if the scale S is a Fokker block precisely those f lowest complexity. However, for some purposes a quadratically (L2) defined complexity measure with similar properties is of use. We can define such a complexity measure for wedgies W by setting T[i] = (W∨S[i])(2), and then taking the sum ∑(T[i] - μ)^2 for i from 0 to P-1, where μ is the mean (∑T[i])/P. This can be analyzed in terms of the associated positive definite bilinear form on the linear combinations of basis elements giving W, and it is clear that past a certain range which can be determined the quadratic complexity measure will continue to increase, and that if needed one can in this way prove that a block is not Fokker.  Like Graham complexity, this gives a slightly lower value to a MOS with more than one period to the octave. WE can make them exactly the same by modifying things slightly so that T[i] is (W∨S[i])(2) in the first period of the octave, (W∨S[i])(2) + 1 for the second period, and so forth. This makes all MOS to result in P contiguous values, so that the resulting quadratic form returns P(P^2-1)/12 in all cases when the wedgie results in a MOS of P notes per octave, and more otherwise. 

=Example=
==Using a wedgie basis==
Consider the periodic scale S[i] with quasiperiod P = 22 whose values for i from 0 to 22 are 1, 33/32, 16/15, 11/10, 9/8, 75/64, 6/5, 5/4, 165/128, 33/25, 11/8, 45/32, 35/24, 3/2, 99/64, 8/5, 33/20, 12/7, 7/4, 231/128, 15/8, 77/40, 2. By solving for the val, or simply testing to see if the patent val works, we quickly find that v = <22 35 51 62 76| sorts the scale in ascending order. A basis for the commas of this val is {50/49, 55/54, 64/63, 99/98}, and by taking three element subsets we find a basis for the wedgies to be {<<1 9 -2 -6 12 -6 -13 -30 -45 -10||,  <<2 -4 -4 -12 -11 -12 -26 2 -14 -20||, <<6 10 10 8 2 -1 -8 -5 -16 -12||, <<2 -4 -4 10 -11 -12 9 2 37 42||}, which is to say, {suprapyth, pajara, hedgehog, pajarous}. Taking Z-linear (integer coefficient) combinations, we quickly find that there are four and only four wedgies which give a Graham complexity for the scale less than 22, which are pajara, magic = pajara+hedgehog-suprapyth-pajarous, orwell = pajara+hedgehog-suprapyth, porcupine = suprapyth+pajarous; hence, S is a Fokker block.

If Q(a,b,c,d) is the ∑(T[i] - μ)^2 quadratic form on a*suprapyth+b*pajara+c*hedgehog+d*pajarous, then explicitly we have Q = 2205.5*a^2 + 880*b^2 + 2904*c^2 + 1254*d^2 + 264*a*b + 2992*a*c - 2574*a*d - 1848*b*c - 440*b*d - 880*c*d. From this we can find Q(pajara) = 880, Q(magic) = 885.5, Q(orwell) = 885.5, and Q(porcupine) = 885.5, with the Graham complexity of S being 21 in magic, orwell and porcupine, and 20 in pajara. If we look at the extrema of a, b, c, and d separately after setting Q = 900, we find they are all less than 2 in absolute value, so we need look no farther than the 27 Z-linear combinations of suprapyth, pajara, hedgehog and pajarous with coefficients less than 2 in absolute value. Had the block not been Fokker, we could have used the analysis of extrema to show it was not.

==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 12. The others are magic from -9 to 12, orwell from -4 to 17 and porcupine from -8 to 13. By forming the 5x5 matrix whose first row is v1, the patent val for 22 equal, and whose other rows are pajara∨2, magic∨2, orwell∨2 and porcupine∨2, inverting, transposing, and multiplying by 22, we obtain a matrix whose rows are the monzos for 2, 385/384, 176/175, 100/99 and 224/225 respectively. Taking the monzo matrix for 36/35, 385/384, 175/176, 100/99 and 224/225, inverting and transposing, we obtain [<22 35 51 62 76|, <12 19 28 34 42|, <3 5 7 9 10|, <9 14 21 25 31|, <7 11 16 20 24|]. 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+12)/22) * (100/99)^floor((9*i+4)/22) * (224/225)^floor((7*i+8)/22)

is the periodic scale with which we began this analysis.

==Product words and the fourth definition of a Fokker block==
Starting from our example 22 note per octave scale, we can produce a list of 22 steps: 33/32, 512/495, 33/32, 45/44, 25/24, 128/125, 25/24, 33/32, 128/125, 25/24, 45/44, 28/27, 36/35, 33/32, 512/495, 33/32, 80/77, 49/48, 33/32, 80/77, 77/75, 80/77. We can apply the four wedgies for pajara, magic, orwell and porcupine to these steps to obtain four abstract temperament MOS, each of which has two kinds of steps, expressed as vals. If a = -<10 16 23 28 34| and b = <12 19 28 34 42|, then pajara applied to the steps gives abababaabababababaabab. If c = -<3 5 7 9 10| and d = <19 30 44 53 66|, then magic gives cccdccccccdccccccdcccc. 






==The tempered scales of a Fokker block==

[[image:1000px-Pajmagorpor22_temperament_support_lattice.svg.png]]

[[http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Pajmagorpor22_temperament_support_lattice.svg/2000px-Pajmagorpor22_temperament_support_lattice.svg.png|Pajmagorpor22 lattice]] 

Original HTML content:

<html><head><title>Fokker blocks</title></head><body><!-- ws:start:WikiTextTocRule:22:&lt;img id=&quot;wikitext@@toc@@flat&quot; class=&quot;WikiMedia WikiMediaTocFlat&quot; title=&quot;Table of Contents&quot; src=&quot;/site/embedthumbnail/toc/flat?w=100&amp;h=16&quot;/&gt; --><!-- ws:end:WikiTextTocRule:22 --><!-- ws:start:WikiTextTocRule:23: --><a href="#Preliminaries">Preliminaries</a><!-- ws:end:WikiTextTocRule:23 --><!-- ws:start:WikiTextTocRule:24: --> | <a href="#First definition of a Fokker block">First definition of a Fokker block</a><!-- ws:end:WikiTextTocRule:24 --><!-- ws:start:WikiTextTocRule:25: --> | <a href="#Second definition of a Fokker block">Second definition of a Fokker block</a><!-- ws:end:WikiTextTocRule:25 --><!-- ws:start:WikiTextTocRule:26: --> | <a href="#Third definition of a Fokker block">Third definition of a Fokker block</a><!-- ws:end:WikiTextTocRule:26 --><!-- ws:start:WikiTextTocRule:27: --> | <a href="#Fourth definition of a Fokker block">Fourth definition of a Fokker block</a><!-- ws:end:WikiTextTocRule:27 --><!-- ws:start:WikiTextTocRule:28: --> | <a href="#Determining if a scale is a Fokker block">Determining if a scale is a Fokker block</a><!-- ws:end:WikiTextTocRule:28 --><!-- ws:start:WikiTextTocRule:29: --> | <a href="#Example">Example</a><!-- ws:end:WikiTextTocRule:29 --><!-- ws:start:WikiTextTocRule:30: --><!-- ws:end:WikiTextTocRule:30 --><!-- ws:start:WikiTextTocRule:31: --><!-- ws:end:WikiTextTocRule:31 --><!-- ws:start:WikiTextTocRule:32: --><!-- ws:end:WikiTextTocRule:32 --><!-- ws:start:WikiTextTocRule:33: --><!-- ws:end:WikiTextTocRule:33 --><!-- ws:start:WikiTextTocRule:34: -->
<!-- ws:end:WikiTextTocRule:34 --><br />
The <strong>Fokker block</strong> is one of the most notable inventions of the physicist and music theorist <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Adriaan_Fokker" rel="nofollow">Adriaan Fokker</a>. While the idea generalizes easily to <a class="wiki_link" href="/just%20intonation%20subgroups">just intonation subgroups</a>, for ease of exposition we will suppose that we are in a <a class="wiki_link" href="/Harmonic%20Limit">p-limit</a> situation with n=pi(p) primes up to an including p.<br />
<br />
<!-- ws:start:WikiTextHeadingRule:0:&lt;h1&gt; --><h1 id="toc0"><a name="Preliminaries"></a><!-- ws:end:WikiTextHeadingRule:0 -->Preliminaries</h1>
Suppose we have n-1 commas, and we form an n by n matrix, the top row of which are n indeterminate elements |e2 e3 e5 ... ep&gt;, and the other rows of which are the monzos corresponding to our chosen commas. If we take the determinant of this matrix, we get v2*e2+v3*e3+...+vp*ep where the v2, v3 ... vp are integers. We interpret this as the <a class="wiki_link" href="/Vals%20and%20Tuning%20Space">val</a> v = &lt;v2, v3, ... vp|. If this is a zero vector the commas are not independent, and if the there exists a common divisor we have what is known as a torsion problem, and we discard the comma set. Otherwise, if v2&lt;0 we reverse sign, and we have a val v which tells us what equal temperament our Fokker block will be approximating. For example, starting with the commas 225/224, 100/99, 176/175 and 385/384, the above procedure gives us the val v = &lt;22 35 51 62 76|, and we will be looking at a 22-note scale in the 11-limit.<br />
<br />
Now choose an example step for the Fokker block, which is a p-limit interval c such that v(c) = 1; that is, if m is the monzo for c, then &lt;v|m&gt;=1. Precisely which interval with this property we choose doesn't actually matter, so if our commas are 225/224, 100/99, 176/175 and 385/384, we could for instance choose 22/21, 25/24, 28/27, 33/32, 36/35, 45/44 or 49/48. Having selected a step, form the n by n matrix whose first row is the monzo for the step c, and whose other rows are the monzos of the n-1 commas. Because we have chosen c so that v(c)=1, the determinant of this matrix will be ∓1. It is therefore a <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Unimodular_matrix" rel="nofollow">unimodular matrix</a>, that is, a square matrix with coefficients which are integers and with determinant ∓1. Such a matrix is invertible, and the inverse matrix is also unimodular. If we call c c1, and label the commas c2, c3, ... cn; and if we consider the columns of the inverse matrix to be vals and call them v1, v2, ... vn, then by the definition of the inverse of a matrix, vi(cj) = delta(i,j), where delta(i,j) is the <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Kronecker_delta" rel="nofollow">Kronecker delta</a>. Stated another way, vi(cj) is 0 unless i equals j, in which case vi(ci) = 1.<br />
<br />
These unimodular matricies define a <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Change_of_basis" rel="nofollow">change of basis</a> for the p-limit system of musical intervals: just as every p-limit interval can be written as a product of primes up to p with integer exponents, every such interval is a product of c1, c2, ... cn with integer exponents. To determine the exponents, we use v1, v2, ... vn, so that if q is a p-limit rational number, we may write it as<br />
<br />
q = c1^v1(q) * c2^v2(q) ... cn^vn(q)<br />
<br />
<!-- ws:start:WikiTextHeadingRule:2:&lt;h1&gt; --><h1 id="toc1"><a name="First definition of a Fokker block"></a><!-- ws:end:WikiTextHeadingRule:2 -->First definition of a Fokker block</h1>
Let us set ei = vi(2), and also P = e1 = v1(2), and choose n positive integers a1, ...., an with ak &lt; P. Let ti = log2(ci), so that e1*t1+e2*t2+...+en*tn=1. Now define a function on the integers by<br />
<br />
S[i] = floor((e1*i + a1)/P)*t1 + ... + floor((en*i + an)/P)*tn<br />
<br />
Here floor(x) is the <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Floor_and_ceiling_functions" rel="nofollow">floor function</a>, the <a class="wiki_link_ext" href="http://en.wikipedia.org/wiki/Quasiperiodic_function" rel="nofollow">quasiperiodic function</a> returning the largest integer less than or equal to x. When i=0, since ak &lt; P each term is 0 and so S[0] = 0. Since for integer j, floor(x+j) = floor(x) + j, we have<br />
<br />
S[i + P] = S[i] + e1*t1 + e2*t2 + ... + en*tn = S[i] + 1<br />
<br />
Hence S satisfies the conditions for being a <a class="wiki_link" href="/Periodic%20scale">periodic scale</a>, and since our unit of measurement is the octave, ie we are using log base two to define intervals, the repetition interval 1 represents an octave. This gives us our first definition of Fokker block.<br />
<br />
<!-- ws:start:WikiTextHeadingRule:4:&lt;h1&gt; --><h1 id="toc2"><a name="Second definition of a Fokker block"></a><!-- ws:end:WikiTextHeadingRule:4 -->Second definition of a Fokker block</h1>
Let is define a new set of vals by uk = P*vk - vk(2)*v1. To apply these vals to S[i], note first that floor((e1*i+a1)/P) = floor(i+a1/P) = i, so that v1(S[i]) = i. Hence for k&gt;1, 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.<br />
<br />
The val uk is a linear combination of v1 and vk, which are both vals of the set of commas {c2, c3, ... cn} minus {ck}. Since uk(2)=0, uk is a multiple of the generator step val of a <a class="wiki_link" href="/Normal%20lists">normal val list</a>, or map, for the rank two temperament tempering out {c2, c3, ... ,cn} minus {ck}; 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 v1∧Gk and reduce it to a <a class="wiki_link" href="/The%20wedgie">wedge</a> Wk, then the <a class="wiki_link" href="/Interior%20product">interior products</a> 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. It follows that the abstract <a class="wiki_link" href="/periodic%20scale">periodic scale</a> 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.<br />
<br />
<!-- ws:start:WikiTextHeadingRule:6:&lt;h1&gt; --><h1 id="toc3"><a name="Third definition of a Fokker block"></a><!-- ws:end:WikiTextHeadingRule:6 -->Third definition of a Fokker block</h1>
The n-1 vals u2, u3, ..., un defined in the previous section gave us n-1 inequalities ak - P &lt; uk(q) ≤  ak, which apply to any q in the Fokker block. If we restrict q to 1 ≤ q &lt; 2, and regard it as representing a pitch class, then it is associated to a lattice point in an n-1 dimensional vector space, and in that space the n-1 inequalities define the boundries of a parallepiped. The Fokker blocks can be defined as the pitch classes lying within such a paralellepiped.<br />
<br />
<!-- ws:start:WikiTextHeadingRule:8:&lt;h1&gt; --><h1 id="toc4"><a name="Fourth definition of a Fokker block"></a><!-- ws:end:WikiTextHeadingRule:8 -->Fourth definition of a Fokker block</h1>
The n-1 abstract MOS scales discussed with the second definition of Fokker blocks can be put into some chosen order, and the <a class="wiki_link" href="/product%20word">product word</a> taken. This entails that every Fokker block leads to a product word, and the process can be reversed, so that product words of n-1 abstract MOS scales lead to Fokker blocks. Given the n-1 vals obtained by taking the interior product with some interval q, q can be recovered either by wedging the vals together and taking the <a class="wiki_link" href="/The%20dual">dual</a>, or by taking the determinant of the nxn matrix of vals whose first row consists of indeterminates, as in the Preliminaries section.<br />
<br />
<!-- ws:start:WikiTextHeadingRule:10:&lt;h1&gt; --><h1 id="toc5"><a name="Determining if a scale is a Fokker block"></a><!-- ws:end:WikiTextHeadingRule:10 -->Determining if a scale is a Fokker block</h1>
The second definition of Fokker block can be used to determine if a given periodic JI scale is a Fokker block. The first step is to find if it is epimorphic; this can be done by starting with a val V with indeterminate coefficients, and finding if the linear equations V(S[i]) = i have a solution. <a class="wiki_link" href="/Scala">Scala</a> does this as a part of its &quot;Show data&quot; suite of scale analytics. Now we take note of the fact that if r is the rank of the group generated by the scale (which is therefore the minimal JI system it is defined in) the set of bivals associated to V (which may defined as all bivals W such that V∧W = 0) is a free abelian group of rank r-1. We will assume we are working in a full p-limit group, but nothing essential is changed in Fokker block theory in the case of subgroups. The free group, defined by addition of bivals, has a basis consisting of ∓Wk for some set of wedgies, and we may assume the sign is positive and the basis is a basis of wedgies. Using this basis, we may either find a basis of r-1 wedgies each of which gives a <a class="wiki_link" href="/Graham%20complexity">Graham complexity</a> to the scale reduced to the octave; that is, to S = {S[i]| 0 ≤ i &lt; P} which is less than P, in which case the scale is a Fokker block, or determine no such basis exists, in which case it is not Fokker.<br />
<br />
Graham complexity for S with respect to a wedgie W defines a complexity measure for the wedgies which makes the wedgies which determine if the scale S is a Fokker block precisely those f lowest complexity. However, for some purposes a quadratically (L2) defined complexity measure with similar properties is of use. We can define such a complexity measure for wedgies W by setting T[i] = (W∨S[i])(2), and then taking the sum ∑(T[i] - μ)^2 for i from 0 to P-1, where μ is the mean (∑T[i])/P. This can be analyzed in terms of the associated positive definite bilinear form on the linear combinations of basis elements giving W, and it is clear that past a certain range which can be determined the quadratic complexity measure will continue to increase, and that if needed one can in this way prove that a block is not Fokker.  Like Graham complexity, this gives a slightly lower value to a MOS with more than one period to the octave. WE can make them exactly the same by modifying things slightly so that T[i] is (W∨S[i])(2) in the first period of the octave, (W∨S[i])(2) + 1 for the second period, and so forth. This makes all MOS to result in P contiguous values, so that the resulting quadratic form returns P(P^2-1)/12 in all cases when the wedgie results in a MOS of P notes per octave, and more otherwise. <br />
<br />
<!-- ws:start:WikiTextHeadingRule:12:&lt;h1&gt; --><h1 id="toc6"><a name="Example"></a><!-- ws:end:WikiTextHeadingRule:12 -->Example</h1>
<!-- ws:start:WikiTextHeadingRule:14:&lt;h2&gt; --><h2 id="toc7"><a name="Example-Using a wedgie basis"></a><!-- ws:end:WikiTextHeadingRule:14 -->Using a wedgie basis</h2>
Consider the periodic scale S[i] with quasiperiod P = 22 whose values for i from 0 to 22 are 1, 33/32, 16/15, 11/10, 9/8, 75/64, 6/5, 5/4, 165/128, 33/25, 11/8, 45/32, 35/24, 3/2, 99/64, 8/5, 33/20, 12/7, 7/4, 231/128, 15/8, 77/40, 2. By solving for the val, or simply testing to see if the patent val works, we quickly find that v = &lt;22 35 51 62 76| sorts the scale in ascending order. A basis for the commas of this val is {50/49, 55/54, 64/63, 99/98}, and by taking three element subsets we find a basis for the wedgies to be {&lt;&lt;1 9 -2 -6 12 -6 -13 -30 -45 -10||,  &lt;&lt;2 -4 -4 -12 -11 -12 -26 2 -14 -20||, &lt;&lt;6 10 10 8 2 -1 -8 -5 -16 -12||, &lt;&lt;2 -4 -4 10 -11 -12 9 2 37 42||}, which is to say, {suprapyth, pajara, hedgehog, pajarous}. Taking Z-linear (integer coefficient) combinations, we quickly find that there are four and only four wedgies which give a Graham complexity for the scale less than 22, which are pajara, magic = pajara+hedgehog-suprapyth-pajarous, orwell = pajara+hedgehog-suprapyth, porcupine = suprapyth+pajarous; hence, S is a Fokker block.<br />
<br />
If Q(a,b,c,d) is the ∑(T[i] - μ)^2 quadratic form on a*suprapyth+b*pajara+c*hedgehog+d*pajarous, then explicitly we have Q = 2205.5*a^2 + 880*b^2 + 2904*c^2 + 1254*d^2 + 264*a*b + 2992*a*c - 2574*a*d - 1848*b*c - 440*b*d - 880*c*d. From this we can find Q(pajara) = 880, Q(magic) = 885.5, Q(orwell) = 885.5, and Q(porcupine) = 885.5, with the Graham complexity of S being 21 in magic, orwell and porcupine, and 20 in pajara. If we look at the extrema of a, b, c, and d separately after setting Q = 900, we find they are all less than 2 in absolute value, so we need look no farther than the 27 Z-linear combinations of suprapyth, pajara, hedgehog and pajarous with coefficients less than 2 in absolute value. Had the block not been Fokker, we could have used the analysis of extrema to show it was not.<br />
<br />
<!-- ws:start:WikiTextHeadingRule:16:&lt;h2&gt; --><h2 id="toc8"><a name="Example-Generator range and the first definition of a Fokker block"></a><!-- ws:end:WikiTextHeadingRule:16 -->Generator range and the first definition of a Fokker block</h2>
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 12. The others are magic from -9 to 12, orwell from -4 to 17 and porcupine from -8 to 13. By forming the 5x5 matrix whose first row is v1, the patent val for 22 equal, and whose other rows are pajara∨2, magic∨2, orwell∨2 and porcupine∨2, inverting, transposing, and multiplying by 22, we obtain a matrix whose rows are the monzos for 2, 385/384, 176/175, 100/99 and 224/225 respectively. Taking the monzo matrix for 36/35, 385/384, 175/176, 100/99 and 224/225, inverting and transposing, we obtain [&lt;22 35 51 62 76|, &lt;12 19 28 34 42|, &lt;3 5 7 9 10|, &lt;9 14 21 25 31|, &lt;7 11 16 20 24|]. From this and the previously obtained generator ranges, we find that<br />
<br />
S[i] = (36/35)^i * (385/384)^floor((12*i+14)/22) * (175/176)^floor((3*i+12)/22) * (100/99)^floor((9*i+4)/22) * (224/225)^floor((7*i+8)/22)<br />
<br />
is the periodic scale with which we began this analysis.<br />
<br />
<!-- ws:start:WikiTextHeadingRule:18:&lt;h2&gt; --><h2 id="toc9"><a name="Example-Product words and the fourth definition of a Fokker block"></a><!-- ws:end:WikiTextHeadingRule:18 -->Product words and the fourth definition of a Fokker block</h2>
Starting from our example 22 note per octave scale, we can produce a list of 22 steps: 33/32, 512/495, 33/32, 45/44, 25/24, 128/125, 25/24, 33/32, 128/125, 25/24, 45/44, 28/27, 36/35, 33/32, 512/495, 33/32, 80/77, 49/48, 33/32, 80/77, 77/75, 80/77. We can apply the four wedgies for pajara, magic, orwell and porcupine to these steps to obtain four abstract temperament MOS, each of which has two kinds of steps, expressed as vals. If a = -&lt;10 16 23 28 34| and b = &lt;12 19 28 34 42|, then pajara applied to the steps gives abababaabababababaabab. If c = -&lt;3 5 7 9 10| and d = &lt;19 30 44 53 66|, then magic gives cccdccccccdccccccdcccc. <br />
<br />
<br />
<br />
<br />
<br />
<br />
<!-- ws:start:WikiTextHeadingRule:20:&lt;h2&gt; --><h2 id="toc10"><a name="Example-The tempered scales of a Fokker block"></a><!-- ws:end:WikiTextHeadingRule:20 -->The tempered scales of a Fokker block</h2>
<br />
<!-- ws:start:WikiTextLocalImageRule:35:&lt;img src=&quot;/file/view/1000px-Pajmagorpor22_temperament_support_lattice.svg.png/307264676/1000px-Pajmagorpor22_temperament_support_lattice.svg.png&quot; alt=&quot;&quot; title=&quot;&quot; /&gt; --><img src="/file/view/1000px-Pajmagorpor22_temperament_support_lattice.svg.png/307264676/1000px-Pajmagorpor22_temperament_support_lattice.svg.png" alt="1000px-Pajmagorpor22_temperament_support_lattice.svg.png" title="1000px-Pajmagorpor22_temperament_support_lattice.svg.png" /><!-- ws:end:WikiTextLocalImageRule:35 --><br />
<br />
<a class="wiki_link_ext" href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/3e/Pajmagorpor22_temperament_support_lattice.svg/2000px-Pajmagorpor22_temperament_support_lattice.svg.png" rel="nofollow">Pajmagorpor22 lattice</a></body></html>