Fokker block: Difference between revisions

Inthar (talk | contribs)
No edit summary
Inthar (talk | contribs)
No edit summary
Line 1: Line 1:
{{Inaccessible}} <!-- add beginner section that explains how to build Fokker blocks either by hand or using common software, along with visualizations? -->
{{Inaccessible}} <!-- add beginner section that explains how to build Fokker blocks either by hand or using common software, along with visualizations? -->
The '''Fokker block''' is one of the most notable inventions of the physicist and music theorist [[Wikipedia: Adriaan Fokker|Adriaan Fokker]]. A Fokker block can be thought of as a parallelogram-shaped tile of scale pitches (in a [[JI subgroup]] or a [[regular temperament]]) that can tessellate the entire lattice of pitch classes that it lives in ("Pitch class" means that the interval of equivalence is ignored). Fokker blocks in [[rank]]-''r'' temperaments can be visualized as subsets of (''r'' - 1)-dimensional pitch-class lattices. Fokker blocks are one way to generalize [[mos]]ses; mosses are "1-dimensional Fokker blocks" in the sense of having a 1-dimensional pitch-class lattice.
The '''Fokker block''' is one of the most notable inventions of the physicist and music theorist [[Wikipedia: Adriaan Fokker|Adriaan Fokker]]. A Fokker block can be thought of as a parallelogram-shaped tile of scale pitches (in a [[JI subgroup]] or a [[regular temperament]]) that can tessellate the entire lattice of pitch classes that it lives in ("Pitch class" means that the interval of equivalence is ignored). Fokker blocks in [[rank]]-''r'' temperaments can be visualized as subsets of (''r'' &minus; 1)-dimensional pitch-class lattices. Fokker blocks are one way to generalize [[mos]]ses; mosses are "1-dimensional Fokker blocks" in the sense of having a 1-dimensional pitch-class lattice.


A Fokker block of rank ''r'' has [[maximum variety]] at most 2<sup>(''r'' - 1)</sup>. For example, a rank-2 Fokker block has max variety at most 2 (hence is a mos); a rank-3 Fokker block has max variety at most 4.
A Fokker block of rank ''r'' has [[maximum variety]] at most 2<sup>(''r'' &minus; 1)</sup>. For example, a rank-2 Fokker block has max variety at most 2 (hence is a mos); a rank-3 Fokker block has max variety at most 4.


== Mathematical description ==
== Mathematical description ==
Line 8: Line 8:
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'' = π (''p'') primes up to an including ''p''.
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'' = π (''p'') primes up to an including ''p''.


Suppose we have ''n'' - 1 commas, which we will assume are greater than 1, and we form an ''n'' by ''n'' matrix, the top row of which are ''n'' indeterminate elements {{monzo| ''e''<sub>2</sub> ''e''<sub>3</sub> ''e''<sub>5</sub> … ''e''<sub>''p''</sub> }}, and the other rows of which are the monzos corresponding to our chosen commas. If we take the determinant of this matrix, we get ''w''<sub>2</sub>''e''<sub>2</sub> + ''w''<sub>3</sub>''e''<sub>3</sub> + … + ''w''<sub>''p''</sub>''e''<sub>''p''</sub> where the ''w''<sub>2</sub>, ''w''<sub>3</sub> … ''w''<sub>''p''</sub> are integers. We interpret this as the [[Vals and Tuning Space|val]] v = {{val| w<sub>2</sub> w<sub>3</sub> … w<sub>''p''</sub> }}. 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 ''w''<sub>2</sub> &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 V = {{val| 22 35 51 62 76 }}, and we will be looking at a 22-note scale in the 11-limit. We may call the val V the epimorph val, and the ''n'' - 1 commas, which form a basis for the kernel of V, the chroma basis.
Suppose we have ''n'' &minus; 1 commas, which we will assume are greater than 1, and we form an ''n'' by ''n'' matrix, the top row of which are ''n'' indeterminate elements {{monzo| ''e''<sub>2</sub> ''e''<sub>3</sub> ''e''<sub>5</sub> … ''e''<sub>''p''</sub> }}, and the other rows of which are the monzos corresponding to our chosen commas. If we take the determinant of this matrix, we get ''w''<sub>2</sub>''e''<sub>2</sub> + ''w''<sub>3</sub>''e''<sub>3</sub> + … + ''w''<sub>''p''</sub>''e''<sub>''p''</sub> where the ''w''<sub>2</sub>, ''w''<sub>3</sub> … ''w''<sub>''p''</sub> are integers. We interpret this as the [[Vals and Tuning Space|val]] v = {{val| w<sub>2</sub> w<sub>3</sub> … w<sub>''p''</sub> }}. 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 ''w''<sub>2</sub> &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 V = {{val| 22 35 51 62 76 }}, and we will be looking at a 22-note scale in the 11-limit. We may call the val V the epimorph val, and the ''n'' &minus; 1 commas, which form a basis for the kernel of V, the chroma basis.


Now choose a uniformizing step for the Fokker block, by which is meant 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 chromas 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 last row is the monzo for the step ''c'', and whose other rows are the monzos of the ''n'' - 1 chromas. Because we have chosen ''c'' so that V (''c'') = 1, the determinant of this matrix will be ±1. It is therefore a [[Wikipedia: 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'' "''c''<sub>''n''</sub>", and label the chromas ''c''<sub>1</sub>, ''c''<sub>2</sub>, … , ''c''<sub>(''n'' - 1)</sub>; and if we consider the columns of the inverse matrix to be vals and call them v<sub>1</sub>, v<sub>2</sub>, … , v<sub>''n''</sub>, then by the definition of the inverse of a matrix, v<sub>''i''</sub> (c<sub>''j''</sub>) = δ (''i'', ''j''), where δ (''i'', ''j'') is the [[Wikipedia: Kronecker delta|Kronecker delta]]. Stated another way, v<sub>''i''</sub> (''c''<sub>''j''</sub>) is 0 unless ''i'' equals ''j'', in which case v<sub>''i''</sub> (''c''<sub>''i''</sub>) = 1.
Now choose a uniformizing step for the Fokker block, by which is meant 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 chromas 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 last row is the monzo for the step ''c'', and whose other rows are the monzos of the ''n'' &minus; 1 chromas. Because we have chosen ''c'' so that V (''c'') = 1, the determinant of this matrix will be ±1. It is therefore a [[Wikipedia: 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'' "''c''<sub>''n''</sub>", and label the chromas ''c''<sub>1</sub>, ''c''<sub>2</sub>, … , ''c''<sub>(''n'' &minus; 1)</sub>; and if we consider the columns of the inverse matrix to be vals and call them v<sub>1</sub>, v<sub>2</sub>, … , v<sub>''n''</sub>, then by the definition of the inverse of a matrix, v<sub>''i''</sub> (c<sub>''j''</sub>) = δ (''i'', ''j''), where δ (''i'', ''j'') is the [[Wikipedia: Kronecker delta|Kronecker delta]]. Stated another way, v<sub>''i''</sub> (''c''<sub>''j''</sub>) is 0 unless ''i'' equals ''j'', in which case v<sub>''i''</sub> (''c''<sub>''i''</sub>) = 1.


These unimodular matricies define a [[Wikipedia: Change of basis|change of basis]] for the ''p''-limit JI group: 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 ''c''<sub>1</sub>, ''c''<sub>2</sub>, … , ''c''<sub>''n''</sub> with integer exponents. To determine the exponents, we use v<sub>1</sub>, v<sub>2</sub>, … , v<sub>''n''</sub>, so that if ''q'' is a ''p''-limit rational number, we may write it as
These unimodular matricies define a [[Wikipedia: Change of basis|change of basis]] for the ''p''-limit JI group: 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 ''c''<sub>1</sub>, ''c''<sub>2</sub>, … , ''c''<sub>''n''</sub> with integer exponents. To determine the exponents, we use v<sub>1</sub>, v<sub>2</sub>, … , v<sub>''n''</sub>, so that if ''q'' is a ''p''-limit rational number, we may write it as
Line 33: Line 33:
==== Second definition of a Fokker block ====
==== Second definition of a Fokker block ====


Let us define a new set of vals by u<sub>''k''</sub> = ''P''v<sub>''k''</sub> - v<sub>''k''</sub> (2) v<sub>''n''</sub>. To apply these vals to S[''i''], note first that floor ((''e''<sub>''n''</sub>''i'' + ''a''<sub>''n''</sub>)/''P'') = floor (''i'' + ''a''<sub>''n''</sub>/''P'') = ''i'', so that v<sub>''n''</sub> (S[''i'']) = ''i''. Hence u<sub>''n''</sub> (S[''i'']) = ''P''v<sub>''n''</sub> - v<sub>''n''</sub> (2) v<sub>''n''</sub> = 0, while for ''k'' &lt; ''n'', u<sub>''k''</sub> (S[''i'']) = ''P''v<sub>''k''</sub>(S[''i'']) - v<sub>''k''</sub> (2) ''i''. Since ''x'' - 1 &lt; floor(''x'') ≤ ''x'', we have (''e''<sub>''k''</sub>''i'' + ''a''<sub>''k''</sub>)/''P'' - 1 &lt; floor ((''e''<sub>''k''</sub>''i'' + ''a''<sub>''k''</sub>)/''P'') ≤ (''e''<sub>''k''</sub>''i'' + ''a''<sub>''k''</sub>)/''P'', so that ''e''<sub>''k''</sub>''i'' + ''a''<sub>''k''</sub> - ''P'' &lt; ''P''v<sub>''k''</sub> (S[''i'']) ≤ ''e''<sub>''k''</sub>''i'' + ''a''<sub>''k''</sub>. Since ''e''<sub>''k''</sub> = v<sub>''k''</sub> (2), this gives us ''a''<sub>''k''</sub> - ''P'' &lt; u<sub>''k''</sub> (S[''i'']) ≤ ''a''<sub>''k''</sub>. This means that for each of the vals u<sub>''k''</sub>, the scale is mapped to a set of ''P'' integers.
Let us define a new set of vals by u<sub>''k''</sub> = ''P''v<sub>''k''</sub> &minus; v<sub>''k''</sub> (2) v<sub>''n''</sub>. To apply these vals to S[''i''], note first that floor ((''e''<sub>''n''</sub>''i'' + ''a''<sub>''n''</sub>)/''P'') = floor (''i'' + ''a''<sub>''n''</sub>/''P'') = ''i'', so that v<sub>''n''</sub> (S[''i'']) = ''i''. Hence u<sub>''n''</sub> (S[''i'']) = ''P''v<sub>''n''</sub> &minus; v<sub>''n''</sub> (2) v<sub>''n''</sub> = 0, while for ''k'' &lt; ''n'', u<sub>''k''</sub> (S[''i'']) = ''P''v<sub>''k''</sub>(S[''i'']) &minus; v<sub>''k''</sub> (2) ''i''. Since ''x'' &minus; 1 &lt; floor(''x'') ≤ ''x'', we have (''e''<sub>''k''</sub>''i'' + ''a''<sub>''k''</sub>)/''P'' &minus; 1 &lt; floor ((''e''<sub>''k''</sub>''i'' + ''a''<sub>''k''</sub>)/''P'') ≤ (''e''<sub>''k''</sub>''i'' + ''a''<sub>''k''</sub>)/''P'', so that ''e''<sub>''k''</sub>''i'' + ''a''<sub>''k''</sub> &minus; ''P'' &lt; ''P''v<sub>''k''</sub> (S[''i'']) ≤ ''e''<sub>''k''</sub>''i'' + ''a''<sub>''k''</sub>. Since ''e''<sub>''k''</sub> = v<sub>''k''</sub> (2), this gives us ''a''<sub>''k''</sub> &minus; ''P'' &lt; u<sub>''k''</sub> (S[''i'']) ≤ ''a''<sub>''k''</sub>. This means that for each of the vals u<sub>''k''</sub>, the scale is mapped to a set of ''P'' integers.


The val u<sub>''k''</sub> is a linear combination of v<sub>''k''</sub> and v<sub>''n''</sub>, which are both vals of the rank two temperament defined by the set of chromas minus {''c''<sub>''k''</sub>}. Since u<sub>''k''</sub> (2) = 0, u<sub>''k''</sub> is a multiple of the generator step val of a [[Normal lists|normal val list]], or mapping, for this rank two temperament; in fact it is ±''m''G<sub>''k''</sub>, where G<sub>''k''</sub> is the generator step val and ''m'' is the number of periods to the octave. If we take the wedge product v<sub>''n''</sub>∧G<sub>''k''</sub> and reduce it to a [[wedgie]] W<sub>''k''</sub>, then the [[interior product]]s W<sub>''k''</sub>∨S[''i''] for ''i'' from 1 to ''P'' are ''P'' distinct vals w<sub>''i''</sub>, each of which have w<sub>''i''</sub> (2) in a range of ''P'' successive values. The W<sub>''k''</sub> 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]] W<sub>''k''</sub>∨S represents a MOS of the temperament defined by W<sub>''k''</sub>. The Fokker block can be tempered in ''n'' - 1 distinct rank two temperament ways to ''n'' - 1 distinct MOS (''not'' ignoring modal rotation), 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 u<sub>''k''</sub> is a linear combination of v<sub>''k''</sub> and v<sub>''n''</sub>, which are both vals of the rank two temperament defined by the set of chromas minus {''c''<sub>''k''</sub>}. Since u<sub>''k''</sub> (2) = 0, u<sub>''k''</sub> is a multiple of the generator step val of a [[Normal lists|normal val list]], or mapping, for this rank two temperament; in fact it is ±''m''G<sub>''k''</sub>, where G<sub>''k''</sub> is the generator step val and ''m'' is the number of periods to the octave. If we take the wedge product v<sub>''n''</sub>∧G<sub>''k''</sub> and reduce it to a [[wedgie]] W<sub>''k''</sub>, then the [[interior product]]s W<sub>''k''</sub>∨S[''i''] for ''i'' from 1 to ''P'' are ''P'' distinct vals w<sub>''i''</sub>, each of which have w<sub>''i''</sub> (2) in a range of ''P'' successive values. The W<sub>''k''</sub> 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]] W<sub>''k''</sub>∨S represents a MOS of the temperament defined by W<sub>''k''</sub>. The Fokker block can be tempered in ''n'' &minus; 1 distinct rank two temperament ways to ''n'' &minus; 1 distinct MOS (''not'' ignoring modal rotation), 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'' &minus; 1 ways to ''n'' &minus; 1 distinct MOS. The arena of the Fokker block is defined equally well by the ''n'' &minus; 1 wedgies defining the ''n'' &minus; 1 distinct temperings as by the ''n'' &minus; 1 chromas introduced previously; these are dual points of view: if we take all but one of the ''n'' &minus; 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 ====


The ''n'' - 1 vals u<sub>1</sub>, u<sub>2</sub>, …, u<sub>''n'' - 1</sub> defined in the previous section gave us ''n'' - 1 inequalities ''a''<sub>''k''</sub> - P &lt; u<sub>''k''</sub> (''q'') ≤ ''a''<sub>''k''</sub>, 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 boundaries of a parallelepiped. The Fokker blocks can be defined as the pitch classes lying within such a parallelepiped. By moving the parallelepiped around (in '''R'''<sup>2</sup>) in all ways which retain the same orientation and have the unison inside them, we obtain an arena.
The ''n'' &minus; 1 vals u<sub>1</sub>, u<sub>2</sub>, …, u<sub>''n'' &minus; 1</sub> defined in the previous section gave us ''n'' &minus; 1 inequalities ''a''<sub>''k''</sub> &minus; P &lt; u<sub>''k''</sub> (''q'') ≤ ''a''<sub>''k''</sub>, 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'' &minus; 1 dimensional vector space, and in that space the ''n'' &minus; 1 inequalities define the boundaries of a parallelepiped. The Fokker blocks can be defined as the pitch classes lying within such a parallelepiped. By moving the parallelepiped around (in '''R'''<sup>2</sup>) in all ways which retain the same orientation and have the unison inside them, we obtain an arena.


==== Fourth definition of a Fokker block ====
==== Fourth definition of a Fokker block ====


The ''n'' - 1 (tempered) 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 (''not'' ignoring mode) 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 ''n''×''n'' matrix of vals whose first row consists of indeterminates, as in the [[#Preliminaries]] section.
The ''n'' &minus; 1 (tempered) 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'' &minus; 1 abstract MOS scales (''not'' ignoring mode) lead to Fokker blocks. Given the ''n'' &minus; 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 ''n''×''n'' matrix of vals whose first row consists of indeterminates, as in the [[#Preliminaries]] section.


=== Determining if a scale is a Fokker block ===
=== 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 Fokker group of bivals associated to V 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 ±W<sub>''k''</sub> 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'' &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.
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 Fokker group of bivals associated to V is a free abelian group of rank ''r'' &minus; 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 ±W<sub>''k''</sub> 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'' &minus; 1 wedgies each of which gives a [[Graham complexity]] 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.


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 of lowest complexity. However, for some purposes a quadratically (''L''<sup>2</sup>) 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''] - ''μ'')<sup>2</sup> 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''<sup>2</sup> - 1)/12 in all cases when the wedgie results in a MOS of ''P'' notes per octave, and more otherwise.
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 of lowest complexity. However, for some purposes a quadratically (''L''<sup>2</sup>) 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''] &minus; ''μ'')<sup>2</sup> for ''i'' from 0 to ''P'' &minus; 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''<sup>2</sup> &minus; 1)/12 in all cases when the wedgie results in a MOS of ''P'' notes per octave, and more otherwise.


=== Expanding the definition ===
=== Expanding the definition ===


A Fokker block as we have so far defined it is an epimorphic periodic scale S with period ''P'' repeating at the octave, with values in ''p''-limit rational intonation, such that there exist π(''p'') - 1 = ''n'' - 1 different rank-two wedgies {W<sub>''k''</sub>} such that S has Graham complexity less than ''P'' for each W<sub>''k''</sub>. If we unpack that definition we can extend it in several distinct ways.
A Fokker block as we have so far defined it is an epimorphic periodic scale S with period ''P'' repeating at the octave, with values in ''p''-limit rational intonation, such that there exist π(''p'') &minus; 1 = ''n'' &minus; 1 different rank-two wedgies {W<sub>''k''</sub>} such that S has Graham complexity less than ''P'' for each W<sub>''k''</sub>. If we unpack that definition we can extend it in several distinct ways.


Explicitly, S is a [[Wikipedia: Quasiperiodic function|quasiperiodic function]] from the integers to the ''p''-limit rational numbers, such that S[0] = 1 and S[''i'' + ''P''] = 2S[''i''], for which there is a val V such that V (S[''i'']) = ''i''. This entails that V (S[''P'']) = V (2) = P, so that V = {{val| ''P'' … }}, with ''P'' a positive integer; in other words, V is a ''P''-edo val. For each of the ''n'' - 1 wedgies W<sub>''k''</sub>, we can form an abstract temperament periodic scale, meaning a periodic scale taking values in an [[abstract regular temperament]], by T<sub>''k''</sub>[''i''] = W<sub>''k''</sub>∨S[''i'']. The values T<sub>k</sub>[''i''] are ''p''-limit vals, and since T<sub>''k''</sub>[''P''] = W<sub>''k''</sub>∨S[''i''] = W<sub>''k''</sub>∨2, T<sub>''k''</sub>[''P''](2) = 0, and so T<sub>''k''</sub>[''i'' + ''P''](2) = (T<sub>''k''</sub>[''i''] + T<sub>''k''</sub>[''P''])(2) = T<sub>''k''</sub>[''i''](2). Hence T<sub>''k''</sub>[''i''](2) takes on P or fewer values, with ''a'' ≤ T<sub>''k''</sub>[''i''](2) ≤ ''b''. The Graham complexity G(W<sub>''k''</sub>) of S with respect to W<sub>''k''</sub> is ''b'' - ''a'', and if S is a Fokker block, for each W<sub>''k''</sub>, G(W<sub>''k''</sub>) &lt; ''P''.
Explicitly, S is a [[Wikipedia: Quasiperiodic function|quasiperiodic function]] from the integers to the ''p''-limit rational numbers, such that S[0] = 1 and S[''i'' + ''P''] = 2S[''i''], for which there is a val V such that V (S[''i'']) = ''i''. This entails that V (S[''P'']) = V (2) = P, so that V = {{val| ''P'' … }}, with ''P'' a positive integer; in other words, V is a ''P''-edo val. For each of the ''n'' &minus; 1 wedgies W<sub>''k''</sub>, we can form an abstract temperament periodic scale, meaning a periodic scale taking values in an [[abstract regular temperament]], by T<sub>''k''</sub>[''i''] = W<sub>''k''</sub>∨S[''i'']. The values T<sub>k</sub>[''i''] are ''p''-limit vals, and since T<sub>''k''</sub>[''P''] = W<sub>''k''</sub>∨S[''i''] = W<sub>''k''</sub>∨2, T<sub>''k''</sub>[''P''](2) = 0, and so T<sub>''k''</sub>[''i'' + ''P''](2) = (T<sub>''k''</sub>[''i''] + T<sub>''k''</sub>[''P''])(2) = T<sub>''k''</sub>[''i''](2). Hence T<sub>''k''</sub>[''i''](2) takes on P or fewer values, with ''a'' ≤ T<sub>''k''</sub>[''i''](2) ≤ ''b''. The Graham complexity G(W<sub>''k''</sub>) of S with respect to W<sub>''k''</sub> is ''b'' &minus; ''a'', and if S is a Fokker block, for each W<sub>''k''</sub>, G(W<sub>''k''</sub>) &lt; ''P''.


One way to generalize this is to allow the [[Just intonation subgroup|group]] of the scale to be something other than the full ''p''-limit group, adjusting the basis for vals, monzos and wedgies to correspond with a basis for this subgroup. We may also replace the interval of equivalence 2 with any rational number ''E'' which is not a power, so that S[''i'' + ''P''] = ''E''S[''i''] and replacing T<sub>''k''</sub>[''i''](2) with T<sub>''k''</sub>[''i''](''E'').
One way to generalize this is to allow the [[Just intonation subgroup|group]] of the scale to be something other than the full ''p''-limit group, adjusting the basis for vals, monzos and wedgies to correspond with a basis for this subgroup. We may also replace the interval of equivalence 2 with any rational number ''E'' which is not a power, so that S[''i'' + ''P''] = ''E''S[''i''] and replacing T<sub>''k''</sub>[''i''](2) with T<sub>''k''</sub>[''i''](''E'').
Line 64: Line 64:
==== Using a Fokker group basis ====
==== Using a Fokker group 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 = {{val| 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 {{{multival| 1 9 -2 -6 12 -6 -13 -30 -45 -10 }}, {{multival| 2 -4 -4 -12 -11 -12 -26 2 -14 -20 }}, {{multival| 6 10 10 8 2 -1 -8 -5 -16 -12 }}, {{multival| 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, and porcupine = suprapyth + pajarous; hence, S is a Fokker block, in the pajara-magic-orwell-porcupine arena.
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 = {{val| 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 {{{multival| 1 9 -2 -6 12 -6 -13 -30 -45 -10 }}, {{multival| 2 -4 -4 -12 -11 -12 -26 2 -14 -20 }}, {{multival| 6 10 10 8 2 -1 -8 -5 -16 -12 }}, {{multival| 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 &minus; suprapyth &minus; pajarous, orwell = pajara + hedgehog &minus; suprapyth, and porcupine = suprapyth + pajarous; hence, S is a Fokker block, in the pajara-magic-orwell-porcupine arena.


If Q (''a'', ''b'', ''c'', ''d'') is the ∑(T[''i''] - ''μ'')<sup>2</sup> quadratic form on ''a''·suprapyth + ''b''·pajara + ''c'' ·hedgehog + ''d''·pajarous, then explicitly we have  
If Q (''a'', ''b'', ''c'', ''d'') is the ∑(T[''i''] &minus; ''μ'')<sup>2</sup> quadratic form on ''a''·suprapyth + ''b''·pajara + ''c'' ·hedgehog + ''d''·pajarous, then explicitly we have  


<math>Q = 2205.5 a^2 + 880 b^2 + 2904 c^2 + 1254 d^2 + 264ab + 2992 ac - 2574ad - 1848bc - 440bd - 880cd</math>
<math>Q = 2205.5 a^2 + 880 b^2 + 2904 c^2 + 1254 d^2 + 264ab + 2992 ac &minus; 2574ad &minus; 1848bc &minus; 440bd &minus; 880cd</math>


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.
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.
Line 124: Line 124:
=== Scale properties of Fokker blocks ===
=== Scale properties of Fokker blocks ===


By definition, a Fokker block is weakly epimorphic, which implies it is constant structure. Since the pitch classes are all of those contained in some parallelepiped, it is convex. A rank-''r'' Fokker block, meaning one which generates a group of rank ''r'', has ''r'' - 1 abstract mos scales which can take at most two values for any interval class, by Myhill's property. Since the scale itself can be reconstituted from the ''r'' - 1 abstract mosses, that means each interval class in the scale has at most 2<sup>(''r'' - 1)</sup> possible values; in other words, it has maximum variety less than or equal to 2<sup>(''r'' - 1)</sup>.
By definition, a Fokker block is weakly epimorphic, which implies it is constant structure. Since the pitch classes are all of those contained in some parallelepiped, it is convex. A rank-''r'' Fokker block, meaning one which generates a group of rank ''r'', has ''r'' &minus; 1 abstract mos scales which can take at most two values for any interval class, by Myhill's property. Since the scale itself can be reconstituted from the ''r'' &minus; 1 abstract mosses, that means each interval class in the scale has at most 2<sup>(''r'' &minus; 1)</sup> possible values; in other words, it has maximum variety less than or equal to 2<sup>(''r'' &minus; 1)</sup>.


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''<sup>(''r'' - 1)</sup>, 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 (v<sub>1</sub>∧v<sub>2</sub>∧…∧v<sub>(''r'' - 1)</sub>)°/''i''<sup>(''r'' - 1)</sub>.
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'' &minus; 1 abstract mos vals for ''i'', taking the dual, and dividing by ''i''<sup>(''r'' &minus; 1)</sup>, 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 (v<sub>1</sub>∧v<sub>2</sub>∧…∧v<sub>(''r'' &minus; 1)</sub>)°/''i''<sup>(''r'' &minus; 1)</sub>.


=== 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 ''a''<sub>''n''</sub> plays no role and may be taken as 0, the block is entirely determined by the chroma basis, C = [c<sub>1</sub>, c<sub>2</sub>, …, c<sub>(''n'' - 1)</sub>] together with the offset values A = [''a''<sub>1</sub>, ''a''<sub>2</sub>, …, a<sub>(''n'' - 1)</sub>]. 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 [w<sub>1</sub>, w<sub>2</sub>, …, w<sub>(''n'' - 1)</sub>] is the dual Fokker group basis to the chroma basis C, then the period ''P''<sub>''i''</sub> of ''w''<sub>''i''</sub> may as usual be found by taking the GCD of the first ''n'' - 1 elements of w<sub>''i''</sub>. If S = Fokblock (C, A) is a Fokker block, the smallest value of a<sub>''i''</sub> giving S is always divisble by ''P''<sub>''i''</sub>, and fixing the other elements of A there are ''P''<sub>''i''</sub> successive values for ''a''<sub>''i''</sub> which all give S. In terms of [[modal UDP notation]], the value of ''U'' for the mos resulting from tempering S by W<sub>i</sub> is ''a''<sub>''i''</sub>/''P''<sub>''k''</sub>, where ''a''<sub>''i''</sub> is the smallest value giving S, and the value for ''D'' is V(2)/''P''<sub>''k''</sub> - ''U'' - 1. Hence, the UDP notation for the mos is ''U''|''D''(''P''<sub>''k''</sub>), 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 ''a''<sub>''n''</sub> plays no role and may be taken as 0, the block is entirely determined by the chroma basis, C = [c<sub>1</sub>, c<sub>2</sub>, …, c<sub>(''n'' &minus; 1)</sub>] together with the offset values A = [''a''<sub>1</sub>, ''a''<sub>2</sub>, …, a<sub>(''n'' &minus; 1)</sub>]. Hence we may define a function Fokblock (C, A) from ''n'' &minus; 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 [w<sub>1</sub>, w<sub>2</sub>, …, w<sub>(''n'' &minus; 1)</sub>] is the dual Fokker group basis to the chroma basis C, then the period ''P''<sub>''i''</sub> of ''w''<sub>''i''</sub> may as usual be found by taking the GCD of the first ''n'' &minus; 1 elements of w<sub>''i''</sub>. If S = Fokblock (C, A) is a Fokker block, the smallest value of a<sub>''i''</sub> giving S is always divisble by ''P''<sub>''i''</sub>, and fixing the other elements of A there are ''P''<sub>''i''</sub> successive values for ''a''<sub>''i''</sub> which all give S. In terms of [[modal UDP notation]], the value of ''U'' for the mos resulting from tempering S by W<sub>i</sub> is ''a''<sub>''i''</sub>/''P''<sub>''k''</sub>, where ''a''<sub>''i''</sub> is the smallest value giving S, and the value for ''D'' is V(2)/''P''<sub>''k''</sub> &minus; ''U'' &minus; 1. Hence, the UDP notation for the mos is ''U''|''D''(''P''<sub>''k''</sub>), 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, i.e. that ''P''<sub>1</sub> = 2. Hence the pajara mos mode is 7|3(2) in UDP notation. Finding the others by the fact that for them ''P''<sub>''k''</sub> = 1 and ''a''<sub>''k''</sub> = ''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 ''a''<sub>''i''</sub> from the corresponding ''U'' and ''P''<sub>''i''</sub> as ''P''<sub>''i''</sub>·''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, i.e. that ''P''<sub>1</sub> = 2. Hence the pajara mos mode is 7|3(2) in UDP notation. Finding the others by the fact that for them ''P''<sub>''k''</sub> = 1 and ''a''<sub>''k''</sub> = ''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 ''a''<sub>''i''</sub> from the corresponding ''U'' and ''P''<sub>''i''</sub> as ''P''<sub>''i''</sub>·''U'', and so display S in terms of Fokblock.