Fokker block: Difference between revisions

Hkm (talk | contribs)
Hkm (talk | contribs)
Preliminaries: more editing such that a casual reader can skip the proofs
Line 17: Line 17:


=== Arena ===
=== Arena ===
{{Todo|inline=1| add definition |text=Definitions in the "Terminology" section should not utilize mathematical jargon.}}
A Fokker arena contains all the periodic scales formable as Fokker blocks from the same list of commas.{{Todo|inline=1| add definition |text=Definitions in the "Terminology" section should not utilize mathematical jargon.}}


== Mathematical description ==
== Mathematical description ==
Line 26: Line 26:
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.
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.


Suppose n is equal to the number of primes up to and including p, and that we have {{nowrap|''n'' − 1}} commas, which we will assume are greater than 1 (i.e. ascending intervals). We can find the val V which tempers all of these commas, which we can find through calculating the null space of the monzos of the commas. We may call ''V'' the ''epimorph val'', and the {{nowrap|''n'' − 1}} commas, which form a basis for the kernel of ''V'', the ''chroma basis''.
Suppose n is equal to the number of primes up to and including p, and that we have {{nowrap|''n'' − 1}} commas, which we will assume are greater than 1 (i.e. ascending intervals). Call the n-1 commas ''c''<sub>1</sub>, ''c''<sub>2</sub>, … , ''c''<sub>''n-1.''</sub> There is a (nonunique) uniformizing step ''c''<sub>''n''</sub> which allows us to find ''n'' vals '''v'''<sub>1</sub>, '''v'''<sub>2</sub>, … , '''v'''<sub>''n''</sub> such that '''v'''<sub>i</sub> tempers out all ''c''<sub>''k''</sub> except ''c''<sub>''i''</sub>, which it maps to 1 step. If ''q'' is a ''p''-limit rational number, we may write it as


Now choose a uniformizing step for the Fokker block, by which is meant a ''p''-limit interval ''c'' such that {{nowrap|''V''(''c'') {{=}} 1}}; that is, the epimorph val maps ''c'' to 1 step. Precisely which interval with this property we choose does not 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 {{nowrap| ''n'' × ''n'' }} matrix whose last row is the monzo for the step ''c'', and whose other rows are the monzos of the {{nowrap|''n'' − 1}} chromas. Because we have chosen ''c'' so that {{nowrap|''V''(''c'') {{=}} 1}}, each point ''S'' in the lattice is findable by stacking row vectors (stacking ''c'' as many times as ''S'' is mapped to by ''V'' and adjusting by the commas of ''V'') and so the determinant of this matrix will be ±1. It is therefore a {{w|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 style="white-space: nowrap;">(''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, {{nowrap|'''v'''<sub>''i''</sub>(''c''<sub>''j''</sub>) {{=}} δ(''i'', ''j'')}}, where δ(''i'', ''j'') is the {{w|Kronecker delta}}. Stated another way, '''v'''<sub>''i''</sub>(''c''<sub>''j''</sub>) is 0 unless {{nowrap|''i'' {{=}} ''j''}}, in which case {{nowrap|'''v'''<sub>''i''</sub>(''c''<sub>''i''</sub>) {{=}} 1}}.
<math>q = c_1^{\vec v_1(q)} c_2^{\vec v_2(q)} \cdots c_n^{\vec v_n(q)}.</math>.


These unimodular matrices define a {{w|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
==== Proof of the existence of these vals ====
Having selected a step, form the ''n'' × ''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, each point ''S'' in the lattice is findable by stacking row vectors (stacking ''c'' as many times as ''S'' is mapped to by ''V'' and adjusting by the commas of ''V'') and so the determinant of this matrix will be ±1. It is therefore a 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 Kronecker delta. Stated another way, '''v'''<sub>''i''</sub>(''c<sub>j</sub>'') is 0 unless ''i'' = ''j'', in which case '''v'''<sub>''i''</sub>(''c<sub>i</sub>'') = 1.


<math>q = c_1^{\vec v_1(q)} c_2^{\vec v_2(q)} \cdots c_n^{\vec v_n(q)}.</math>
These unimodular matrices define a 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.


=== Definitions ===
=== Definitions ===
==== First definition of a Fokker block ====
==== First definition of a Fokker block ====
Let us set {{nowrap| ''e''<sub>''i''</sub> {{=}} '''v'''<sub>''i''</sub>(2) }}, and also {{nowrap| ''P'' {{=}} ''e''<sub>''n''</sub> {{=}} '''v'''<sub>''n''</sub>(2) }}, and choose ''n'' non-negative integers ''a''<sub>1</sub>, … , ''a''<sub>''n''</sub> with {{nowrap| 0 ≤ ''a''<sub>''k''</sub> < ''P'' }}. Here the choice of ''a''<sub>''n''</sub> does not matter and we can take it to be 0. Let {{nowrap| ''t''<sub>''i''</sub> {{=}} log<sub>2</sub>(''c''<sub>''i''</sub>)}}, so that {{nowrap| ''e''<sub>1</sub>''t''<sub>1</sub> + ''e''<sub>2</sub>''t''<sub>2</sub> + … + ''e''<sub>''n''</sub>''t''<sub>''n''</sub> {{=}} 1 }}. Now define a function on the integers by  
Let us set {{nowrap| ''e''<sub>''i''</sub> {{=}} '''v'''<sub>''i''</sub>(2) }}, which is the number of steps 2/1 is mapped to under val ''i'', and also {{nowrap| ''P'' {{=}} ''e''<sub>''n''</sub> {{=}} '''v'''<sub>''n''</sub>(2) }}; choose ''n'' non-negative integers ''a''<sub>1</sub>, … , ''a''<sub>''n''</sub> with {{nowrap| 0 ≤ ''a''<sub>''k''</sub> < ''P'' }}. Here the choice of ''a''<sub>''n''</sub> does not matter and we can take it to be 0. Let {{nowrap| ''t''<sub>''i''</sub> {{=}} log<sub>2</sub>(''c''<sub>''i''</sub>)}}. Now {{nowrap| ''e''<sub>1</sub>''t''<sub>1</sub> + ''e''<sub>2</sub>''t''<sub>2</sub> + … + ''e''<sub>''n''</sub>''t''<sub>''n''</sub> {{=}} 1 }} as a consequence of the final equation in "Preliminaries." Now define a function on the integers by  


<math>S[i] = \bigg\lfloor \dfrac{e_1 i + a_1}{P} \bigg\rfloor t_1 + \cdots + \bigg\lfloor \dfrac{e_n i + a_n}{P} \bigg\rfloor t_n.</math>
<math>S[i] = \bigg\lfloor \dfrac{e_1 i + a_1}{P} \bigg\rfloor t_1 + \cdots + \bigg\lfloor \dfrac{e_n i + a_n}{P} \bigg\rfloor t_n.</math>


Here &lfloor;''x''&rfloor; is the [[Wikipedia: Floor and ceiling functions|floor function]], which returns the largest integer less than or equal to ''x''. When {{nowrap|''i'' {{=}} 0}}, since {{nowrap|''a''<sub>''k''</sub> &lt; ''P''}} each term is 0 and so {{nowrap|''S''[0] {{=}} 0}}. Since for integer ''j'', {{nowrap|&lfloor;''x'' + ''j''&rfloor; {{=}} &lfloor;''x''&rfloor; + ''j''}}, we have
Here &lfloor;''x''&rfloor; is the [[Wikipedia: Floor and ceiling functions|floor function]], which returns the largest integer less than or equal to ''x''. When {{nowrap|''i'' {{=}} 0}}, since {{nowrap|''a''<sub>''k''</sub> &lt; ''P''}} each term is 0 and so {{nowrap|''S''[0] {{=}} 0}}. ''S'' satisfies the conditions for being a [[periodic scale]]; note that the output of ''S'' represents pitch given in units of octaves. This gives us our first definition of a Fokker block.
 
<math>S[i + P] = S[i] + e_1 t_1 + e_2 t_2 + … + e_n t_n = S[i] + 1</math>
 
Hence ''S'' satisfies the conditions for being a [[periodic scale]]; note that the output of ''S'' represents pitch given in units of octaves. This gives us our first definition of a Fokker block.


By choosing various ''a''<sub>''k''</sub> satisfying {{nowrap|0 ≤ ''a''<sub>''k''</sub> < ''P''}}, for any Fokker block we may find the various [[periodic scale #Rotations|rotations]], of the block. However, other choices lead to blocks which are not rotations of our initial block, but instead belong to [[dome]]s which are disjoint from the dome of the initial block. The collection of all Fokker blocks for any of the allowed values of the ''a''<sub>''k''</sub> offsets is an ''arena''; a Fokker arena is defined entirely by its chromas.
By choosing various ''a''<sub>''k''</sub> satisfying {{nowrap|0 ≤ ''a''<sub>''k''</sub> < ''P''}}, for any Fokker block we may find the various [[periodic scale #Rotations|rotations]], of the block. However, other choices lead to blocks which are not rotations of our initial block, but instead belong to [[dome]]s which are disjoint from the dome of the initial block. The collection of all Fokker blocks for any of the allowed values of the ''a''<sub>''k''</sub> offsets is an ''arena''; a Fokker arena is defined entirely by its chromas.