Mathematics of MOS: Difference between revisions
ArrowHead294 (talk | contribs) m De-escape as <nowiki/> works |
|||
| (5 intermediate revisions by 2 users not shown) | |||
| Line 5: | Line 5: | ||
A MOS scale consists of: | A MOS scale consists of: | ||
# A period ''P'' (of any size but most commonly the octave or a 1/N fraction of an octave) | # A period ''P'' (of any size but most commonly the octave or a 1/''N'' fraction of an octave) | ||
# A generator ''g'' (of any size, for example 700{{cent}} in 12edo) which is added repeatedly to make a chain of scale steps, starting from the unison or 0{{cent}} scale step, and then reducing to within the period | # A generator ''g'' (of any size, for example 700{{cent}} in 12edo) which is added repeatedly to make a chain of scale steps, starting from the unison or 0{{cent}} scale step, and then reducing to within the period | ||
# No more than two sizes of scale steps (Large and small, often written "L" and "s") | # No more than two sizes of scale steps (Large and small, often written "L" and "s") | ||
| Line 11: | Line 11: | ||
# The unison or starting point of the scale is then allowed to be transferred to any scale degree—all the modes of an MOS are legal. | # The unison or starting point of the scale is then allowed to be transferred to any scale degree—all the modes of an MOS are legal. | ||
Condition 4 is {{w|Myhill's property}}, where, as a [[periodic scale]], the scale has every generic interval aside from the initial unison interval and intervals some number of periods from it having exactly two specific intervals. Another characterization of when a generated scale is a MOS is that the number of scale steps is the denominator of a {{w| | Condition 4 is {{w|Myhill's property}}, where, as a [[periodic scale]], the scale has every generic interval aside from the initial unison interval and intervals some number of periods from it having exactly two specific intervals. Another characterization of when a generated scale is a MOS is that the number of scale steps is the denominator of a convergent or semiconvergent to the {{w|continued fraction}} of ''g''/''P'', the ratio of the generator to the period. | ||
These conditions entail that the generated scale has exactly two sizes of steps when sorted into ascending order of size, and usually that latter condition suffices to define a MOS. However, when the generator is a rational fraction of the period and the number of steps is more than half of the total possible, a generated scale can have only two sizes of steps and fail to be a MOS, meaning that not all non-unison classes have only two specific intervals. | These conditions entail that the generated scale has exactly two sizes of steps when sorted into ascending order of size, and usually that latter condition suffices to define a MOS. However, when the generator is a rational fraction of the period and the number of steps is more than half of the total possible, a generated scale can have only two sizes of steps and fail to be a MOS, meaning that not all non-unison classes have only two specific intervals. | ||
| Line 21: | Line 21: | ||
# Binary and [[distributionally even]] | # Binary and [[distributionally even]] | ||
# Binary and balanced (for any ''k'', any two ''k''-steps ''u'' and ''v'' differ by either 0 or {{nowrap|L − s {{=}} c}}) | # Binary and balanced (for any ''k'', any two ''k''-steps ''u'' and ''v'' differ by either 0 or {{nowrap|L − s {{=}} c}}) | ||
# Mode of a Christoffel word. (If gcd(''p'', | # Mode of a Christoffel word. (If {{nowrap|gcd(''p'', ''q'') {{=}} 1}}, a ''Christoffel word with rational slope'' ''p''/''q'' is the unique path from (0, 0) and (''p'', ''q'') in the 2-dimensional integer lattice graph above the ''x''-axis and below the line {{nowrap|''y'' {{=}} (''p''/''q'')''x''}} that stays as close to the line as possible without crossing it.) | ||
While each characterization has a generalization to scale structures with more step sizes, the generalizations are no longer equivalent: | While each characterization has a generalization to scale structures with more step sizes, the generalizations are no longer equivalent: | ||
# [[Maximum variety]] n | # [[Maximum variety]] ''n'' | ||
# [[Generator-offset property]], [[generator sequence]] | # [[Generator-offset property]], [[generator sequence]] | ||
# [[Distributional evenness]] | # [[Distributional evenness]] | ||
| Line 33: | Line 33: | ||
Let us represent the period as 1. This would be the logarithm base 2 of 2 if the period is an octave, or in general we can measure intervals by the log base ''P'' when ''P'' is the period. | Let us represent the period as 1. This would be the logarithm base 2 of 2 if the period is an octave, or in general we can measure intervals by the log base ''P'' when ''P'' is the period. | ||
Suppose the fractions {{frac|''a''|''b''}} and {{frac|''c''|''d''}} are a [[Wikipedia:Farey sequence#Farey neighbours|Farey pair]], meaning that {{nowrap|{{frac|''a''|''b''}} < {{frac|''c''|''d''}}}} and {{nowrap|''bc'' − ''ad'' {{=}} 1}}. If {{nowrap|''g'' {{=}} (1 − ''t'') {{frac|''a''|''b''}} + (''t'') {{frac|''c''|''d''}}}} for {{nowrap|0 ≤ ''t'' ≤ 1}}, then when {{nowrap|''t'' {{=}} 0}}, the scale generated by ''g'' will consist of an equal division of 1 (representing P) into steps of size {{frac|1|''b''}}, and when {{nowrap|''t'' {{=}} 1}} into steps of size {{frac|1|''d''}}. In between, when {{nowrap|''t'' {{=}} {{sfrac|''b''|''b'' + ''d''}}}}, we obtain a generator equal to the | Suppose the fractions {{frac|''a''|''b''}} and {{frac|''c''|''d''}} are a [[Wikipedia:Farey sequence#Farey neighbours|Farey pair]], meaning that {{nowrap|{{frac|''a''|''b''}} < {{frac|''c''|''d''}}}} and {{nowrap|''bc'' − ''ad'' {{=}} 1}}. If {{nowrap|''g'' {{=}} (1 − ''t'') {{frac|''a''|''b''}} + (''t'') {{frac|''c''|''d''}}}} for {{nowrap|0 ≤ ''t'' ≤ 1}}, then when {{nowrap|''t'' {{=}} 0}}, the scale generated by ''g'' will consist of an equal division of 1 (representing P) into steps of size {{frac|1|''b''}}, and when {{nowrap|''t'' {{=}} 1}} into steps of size {{frac|1|''d''}}. In between, when {{nowrap|''t'' {{=}} {{sfrac|''b''|''b'' + ''d''}}}}, we obtain a generator equal to the {{w|mediant (mathematics)|mediant}} {{nowrap|''m'' {{=}} {{sfrac|''a'' + ''c''|''b'' + ''d''}}}} and which will divide the period into {{nowrap|''b'' + ''d''}} equal steps. For all other values {{nowrap|{{frac|''a''|''b''}} < ''g'' < {{frac|''c''|''d''}}}} we obtain two different sizes of steps, the small steps ''s'', and the large steps ''L'', with the total number of steps {{nowrap|''b'' + ''d''}}, and these scales are the MOS associated to the Farey pair. When ''g'' is between {{frac|''a''|''b''}} and ''m'', there will be ''b'' large steps and ''d'' small steps, and when it is between ''m'' and {{frac|''c''|''d''}}, ''d'' large steps and ''b'' small ones. | ||
While all the scales constructed by generators ''g'' with {{nowrap|{{frac|''a''|''b''}} < ''g'' < {{frac|''c''|''d''}}}} with the exception of the mediant which gives an equal tuning are MOS, not all the scales are [[Wikipedia:Rothenberg_propriety|proper]] in the sense of Rothenberg. The ''range of propriety'' for MOS is {{nowrap|{{sfrac|2''a'' + ''c''|2''b'' + ''d''}} ≤ ''g''}} ≤ {{sfrac|''a'' + 2''c''|''b'' + 2''d''}}, where MOS coming from a Farey pair ({{frac|''a''|''b''}}, {{frac|''c''|''d''}}) are proper when in this range, and improper (unless the MOS has only one small step) when out of it. If {{nowrap|{{sfrac|2''a'' + ''c''|2''b'' + ''d''}} < ''g''}} < {{sfrac|''a'' + 2''c''|''b'' + 2''d''}}, then the scales are strictly proper. Hence, the diatonic scale in 12et, with generator 7/12, is proper but not strictly proper since starting from the pair ({{frac|1|2}}, {{frac|3|5}}) we find the range of propriety for these seven-note MOS to be [{{frac|5|9}}, {{frac|7|12}}]. | While all the scales constructed by generators ''g'' with {{nowrap|{{frac|''a''|''b''}} < ''g'' < {{frac|''c''|''d''}}}} with the exception of the mediant which gives an equal tuning are MOS, not all the scales are [[Wikipedia:Rothenberg_propriety|proper]] in the sense of Rothenberg. The ''range of propriety'' for MOS is {{nowrap|{{sfrac|2''a'' + ''c''|2''b'' + ''d''}} ≤ ''g''}} ≤ {{sfrac|''a'' + 2''c''|''b'' + 2''d''}}, where MOS coming from a Farey pair ({{frac|''a''|''b''}}, {{frac|''c''|''d''}}) are proper when in this range, and improper (unless the MOS has only one small step) when out of it. If {{nowrap|{{sfrac|2''a'' + ''c''|2''b'' + ''d''}} < ''g''}} < {{sfrac|''a'' + 2''c''|''b'' + 2''d''}}, then the scales are strictly proper. Hence, the diatonic scale in 12et, with generator 7/12, is proper but not strictly proper since starting from the pair ({{frac|1|2}}, {{frac|3|5}}) we find the range of propriety for these seven-note MOS to be [{{frac|5|9}}, {{frac|7|12}}]. | ||
| Line 74: | Line 74: | ||
Yet another way of classifying MOS is via {{w|Minkowski's question-mark function}}. Here ?(''x''), {{nowrap|? : ℝ → ℝ}} is a continuously increasing function which has some peculiar properties, one being that it sends rational numbers to {{w|dyadic rational}}s. Hence if ''q'' is a rational number {{nowrap|0 < ''q'' < 1}} in use in the mediant system of classifying MOS scales, {{nowrap|''r'' {{=}} ?(''q'')}} = {{sfrac|''A''|2<sup>''n''</sup>}} will be a dyadic rational number which can also be used. Note that the ? function is invertible, and it and its inverse function, the Box function, have code given for them in the algorithms section at the bottom of the article. | Yet another way of classifying MOS is via {{w|Minkowski's question-mark function}}. Here ?(''x''), {{nowrap|? : ℝ → ℝ}} is a continuously increasing function which has some peculiar properties, one being that it sends rational numbers to {{w|dyadic rational}}s. Hence if ''q'' is a rational number {{nowrap|0 < ''q'' < 1}} in use in the mediant system of classifying MOS scales, {{nowrap|''r'' {{=}} ?(''q'')}} = {{sfrac|''A''|2<sup>''n''</sup>}} will be a dyadic rational number which can also be used. Note that the ? function is invertible, and it and its inverse function, the Box function, have code given for them in the algorithms section at the bottom of the article. | ||
The integer ''n'' in the denominator of ''r'' (with ''A'' assumed to be odd) is the order (or {{nowrap|''n'' + 1}} is, according to some sources) of ''q'' in the {{w|Stern–Brocot tree}}. The two neighboring numbers of order {{nowrap|''n'' + 1}}, which define the range of propriety, can also be expressed in terms of the ? and Box functions as {{nowrap|Box(''r'' ± 2<sup>−''n'' − 1</sup>)}}. If ''r'' represents a MOS, the range of possible values for a generator of the MOS will be {{nowrap|Box(''r'') < ''g''}} {{nowrap|< Box(''r'' + 2<sup>−''n''</sup>)}}, and the proper generators will be {{nowrap|Box(''r'') < ''g'' < Box(''r'' + 2<sup>−''n'' − 1</sup>)}}. So, for example, the MOS denoted by 3/2048 will be between Box(3/2048) and Box(4/2048), which means that {{nowrap|{{frac|2|21}} < ''g'' < {{frac|1|10}}}}, and will be proper if {{nowrap|{{frac|2|21}} < ''g''}} < {{frac|3|31}}. Hence 7/72, a generator for miracle temperament, will define a MOS but it will not be proper since {{nowrap|{{frac|7|72}} > {{frac|3|31}}}} {{nowrap|{{=}} Box({{frac|3|2048}} + {{frac|1|4096}})}}. | The integer ''n'' in the denominator of ''r'' (with ''A'' assumed to be odd) is the order (or {{nowrap|''n'' + 1}} is, according to some sources) of ''q'' in the {{w|Stern–Brocot tree}}. The two neighboring numbers of order {{nowrap|''n'' + 1}}, which define the range of propriety, can also be expressed in terms of the ? and Box functions as {{nowrap|Box(''r'' ± 2<sup>−''n'' − 1</sup>)}}. If ''r'' represents a MOS, the range of possible values for a generator of the MOS will be {{nowrap|Box(''r'') < ''g''}} {{nowrap|< Box(''r'' + 2<sup>−''n''</sup>)}}, and the proper generators will be {{nowrap|Box(''r'') < ''g''}} {{nowrap|< Box(''r'' + 2<sup>−''n'' − 1</sup>)}}. So, for example, the MOS denoted by 3/2048 will be between Box(3/2048) and Box(4/2048), which means that {{nowrap|{{frac|2|21}} < ''g''}} {{nowrap|< {{frac|1|10}}}}, and will be proper if {{nowrap|{{frac|2|21}} < ''g''}} < {{frac|3|31}}. Hence 7/72, a generator for miracle temperament, will define a MOS but it will not be proper since {{nowrap|{{frac|7|72}} > {{frac|3|31}}}} {{nowrap|{{=}} Box({{frac|3|2048}} + {{frac|1|4096}})}}. | ||
== MOS in equal tunings == | == MOS in equal tunings == | ||
| Line 89: | Line 89: | ||
Note that some procedures below depend on others. Special procedure names (i.e. not built into Maple) are shown in <code>'''bold type'''</code>. | Note that some procedures below depend on others. Special procedure names (i.e. not built into Maple) are shown in <code>'''bold type'''</code>. | ||
<pre<includeonly />> | <pre<includeonly/>> | ||
'''log2''' := proc(x) | '''log2''' := proc(x) | ||
<nowiki /># logarithm base 2 | <nowiki/># logarithm base 2 | ||
evalf(ln(x)/ln(2)) end: | evalf(ln(x)/ln(2)) end: | ||
'''nextfarey''' := proc(q, n) | '''nextfarey''' := proc(q, n) | ||
<nowiki /># next in row n of Farey sequence from q, 0 <= q <= 1 | <nowiki/># next in row n of Farey sequence from q, 0 <= q <= 1 | ||
local a, b, r, s; | local a, b, r, s; | ||
if q >= (n-1)/n then RETURN(1) fi; | if q >= (n-1)/n then RETURN(1) fi; | ||
| Line 105: | Line 105: | ||
'''prevfarey''' := proc(q, n) | '''prevfarey''' := proc(q, n) | ||
<nowiki /># previous in row n of Farey sequence from q, 0 <= q <= 1 | <nowiki/># previous in row n of Farey sequence from q, 0 <= q <= 1 | ||
local a, b, r, s; | local a, b, r, s; | ||
if q=0 then RETURN(0) fi; | if q=0 then RETURN(0) fi; | ||
| Line 116: | Line 116: | ||
'''fareypair''' := proc(q) | '''fareypair''' := proc(q) | ||
<nowiki /># Farey pair with q as its mediant | <nowiki/># Farey pair with q as its mediant | ||
local n; | local n; | ||
n := denom(q); | n := denom(q); | ||
| Line 122: | Line 122: | ||
'''mediant''' := proc(u, v) | '''mediant''' := proc(u, v) | ||
<nowiki /># mediant of two rational numbers u and v | <nowiki/># mediant of two rational numbers u and v | ||
(numer(u) + numer(v))/(denom(u) + denom(v)) end: | (numer(u) + numer(v))/(denom(u) + denom(v)) end: | ||
'''convergents''' := proc(z) | '''convergents''' := proc(z) | ||
<nowiki /># convergent list for z | <nowiki/># convergent list for z | ||
local q; | local q; | ||
convert(z,confrac,'q'); | convert(z,confrac,'q'); | ||
| Line 132: | Line 132: | ||
'''exlist''' := proc(l) | '''exlist''' := proc(l) | ||
<nowiki /># expansion of a convergent list to semiconvergents | <nowiki/># expansion of a convergent list to semiconvergents | ||
local i, j, s, d; | local i, j, s, d; | ||
if nops(l)<3 then RETURN(l) fi; | if nops(l)<3 then RETURN(l) fi; | ||
| Line 146: | Line 146: | ||
'''semiconvergents''' := proc(z) | '''semiconvergents''' := proc(z) | ||
<nowiki /># semiconvergent list for z | <nowiki/># semiconvergent list for z | ||
'''exlist'''('''convergents'''(z)) end: | '''exlist'''('''convergents'''(z)) end: | ||
'''penult''' := proc(q) | '''penult''' := proc(q) | ||
<nowiki /># penultimate convergent to q | <nowiki/># penultimate convergent to q | ||
local i, u; | local i, u; | ||
u := '''convergents'''(q); | u := '''convergents'''(q); | ||
| Line 159: | Line 159: | ||
'''Ls''' := proc(q) | '''Ls''' := proc(q) | ||
<nowiki /># large-small steps from mediant q | <nowiki/># large-small steps from mediant q | ||
local u; | local u; | ||
u := '''fareypair'''(q); | u := '''fareypair'''(q); | ||
| Line 165: | Line 165: | ||
'''medi''' := proc(u) | '''medi''' := proc(u) | ||
<nowiki /># mediant from Large-small steps | <nowiki/># mediant from Large-small steps | ||
local q, r; | local q, r; | ||
if u[2]=1 then RETURN(1/(u[1]+1)) fi; | if u[2]=1 then RETURN(1/(u[1]+1)) fi; | ||
| Line 175: | Line 175: | ||
'''Lsgen''' := proc(g, n) | '''Lsgen''' := proc(g, n) | ||
<nowiki /># given generator g and scale size n determines large-small steps | <nowiki/># given generator g and scale size n determines large-small steps | ||
local q, u, w; | local q, u, w; | ||
q := round(n*g)/n; | q := round(n*g)/n; | ||
| Line 185: | Line 185: | ||
'''revlist''' := proc(l) | '''revlist''' := proc(l) | ||
<nowiki /># reverse of list | <nowiki/># reverse of list | ||
local i, v, e; | local i, v, e; | ||
e := nops(l); | e := nops(l); | ||
| Line 193: | Line 193: | ||
'''invcon''' := proc(l) | '''invcon''' := proc(l) | ||
<nowiki /># inverse continued fraction | <nowiki/># inverse continued fraction | ||
local d, i, h, k; | local d, i, h, k; | ||
h[-2] := 0; | h[-2] := 0; | ||
| Line 206: | Line 206: | ||
'''quest''' := proc(x) | '''quest''' := proc(x) | ||
<nowiki /># Minkowski ? function | <nowiki/># Minkowski ? function | ||
local i, j, d, l, s, t; | local i, j, d, l, s, t; | ||
l := convert(x, confrac); | l := convert(x, confrac); | ||
| Line 220: | Line 220: | ||
'''Box''' := proc(x) | '''Box''' := proc(x) | ||
<nowiki /># inverse ? function | <nowiki/># inverse ? function | ||
local d, e, i, n, w, y; | local d, e, i, n, w, y; | ||
if type(x, integer) then RETURN(x) fi; | if type(x, integer) then RETURN(x) fi; | ||
| Line 255: | Line 255: | ||
See [[Recursive structure of MOS scales#Proofs]]. | See [[Recursive structure of MOS scales#Proofs]]. | ||
=== MOS scales ''aL'' ''bs'' with gcd(a,& | === MOS scales ''aL'' ''bs'' with {{nowrap|gcd(a, b) > 1}} reduce to single-period MOS scales on a smaller period === | ||
Assume that {{nowrap|gcd(''m'', ''n'') > 1}} and assume that ({{frac|''n''|''d''}})-steps came in 2 sizes, {{nowrap|''pa'' + ''qb''}} and {{nowrap|''ra'' + ''sb''}}. Then at least one size, say {{nowrap|''pa'' + ''qb''}}, must differ from {{nowrap|{{frac|''a''|''d''}} L + {{frac|''b''|''d''}} s}}. WLOG {{nowrap|''p'' > {{frac|''a''|''d''}}}} and {{nowrap|''pa'' + ''qb''}} occurs on degree 0. Since the equave is equal to {{nowrap|''aL'' + ''bs''}}, on a degree ''k''({{frac|''n''|''d''}}) for some integer {{nowrap|''k'' > 0}}, there must be another ({{frac|''n''|''d''}})-step with fewer L's than {{frac|''a''|''d''}}. This involves more than two changes from ''L'' to ''s''. Scooting an ({{frac|''n''|''d''}})-step one step at a time from degree 0 to ''k''({{frac|''n''|''d''}}) changes its size one step size substitution at a time, showing that intermediate ({{frac|''n''|''d''}})-steps also exist. This violates the MOS property, whence ({{frac|''n''|''d''}})-steps have only one size, which must be the period. | Assume that {{nowrap|gcd(''m'', ''n'') > 1}} and assume that ({{frac|''n''|''d''}})-steps came in 2 sizes, {{nowrap|''pa'' + ''qb''}} and {{nowrap|''ra'' + ''sb''}}. Then at least one size, say {{nowrap|''pa'' + ''qb''}}, must differ from {{nowrap|{{frac|''a''|''d''}} L + {{frac|''b''|''d''}} s}}. WLOG {{nowrap|''p'' > {{frac|''a''|''d''}}}} and {{nowrap|''pa'' + ''qb''}} occurs on degree 0. Since the equave is equal to {{nowrap|''aL'' + ''bs''}}, on a degree ''k''({{frac|''n''|''d''}}) for some integer {{nowrap|''k'' > 0}}, there must be another ({{frac|''n''|''d''}})-step with fewer L's than {{frac|''a''|''d''}}. This involves more than two changes from ''L'' to ''s''. Scooting an ({{frac|''n''|''d''}})-step one step at a time from degree 0 to ''k''({{frac|''n''|''d''}}) changes its size one step size substitution at a time, showing that intermediate ({{frac|''n''|''d''}})-steps also exist. This violates the MOS property, whence ({{frac|''n''|''d''}})-steps have only one size, which must be the period. | ||
=== Maximally even scales are MOS === | === Maximally even scales are MOS === | ||
Let {{nowrap| | Let {{nowrap|''n'' > ''m'' > 1|gcd(''m'', ''n'') {{=}} d}}, and ME(''m'', ''n'') be as in [[Maximal evenness]]. An arbitrary ''k''-step in ME(''m'', ''n'') has size {{nowrap|''u'' {{=}} ⌊(''i'' + ''k'') {{frac|''n''|''m''}}⌋ − ⌊{{frac|''in''|''m''}}⌋}}, and | ||
<math>\lfloor in/m \rfloor + \lfloor kn/m\rfloor - \lfloor in/m\rfloor = \lfloor kn/m\rfloor \leq u | <math>\lfloor in/m \rfloor + \lfloor kn/m\rfloor - \lfloor in/m\rfloor = \lfloor kn/m\rfloor \leq u | ||
| Line 276: | Line 276: | ||
Suppose that such a scale ''S'' (with {{nowrap|''n'' ≥ 2}} notes) has ''a'' L steps and ''b'' s steps per period ''p'', and has generator ''g''. Since ''S'' is generated, the interval sizes modulo ''p'' that occur in ''S'' are: | Suppose that such a scale ''S'' (with {{nowrap|''n'' ≥ 2}} notes) has ''a'' L steps and ''b'' s steps per period ''p'', and has generator ''g''. Since ''S'' is generated, the interval sizes modulo ''p'' that occur in ''S'' are: | ||
<nowiki>{</nowiki>{{nowrap|(−''n'' + 1)''g''}}, …, −''g'', 0, ''g'', …, {{nowrap|(''n'' − 1)''g''}}<nowiki>} | <nowiki>{</nowiki>{{nowrap|(−''n'' + 1)''g''}}, …, −''g'', 0, ''g'', …, {{nowrap|(''n'' − 1)''g''}}<nowiki/>}, | ||
and all sizes {0, ''g'', …, {{nowrap|(''n'' − 1)''g''}}<nowiki>} | and all sizes {0, ''g'', …, {{nowrap|(''n'' − 1)''g''}}<nowiki/>} are distinct. | ||
We thus have: | We thus have: | ||
| Line 286: | Line 286: | ||
{{nowrap|s {{=}} ''eg'' + ''fp''}} | {{nowrap|s {{=}} ''eg'' + ''fp''}} | ||
for appropriate integers ''c, d, e, f'', where {{nowrap|{{ | for appropriate integers ''c, d, e, f'', where {{nowrap|{{abs|''c''}}, {{abs|''e''}} < ''n''}}. | ||
Now we assume that ''g'' and ''p'' are linearly independent. By assumption {{nowrap|''a''L + ''b''s {{=}} (''ac'' + ''be'')''g'' + (''ad'' + ''bf'')''p''}} = ''p''. Since {{nowrap|''a''L + ''b''s}} occurs on the "brightest" mode, from generatedness we have {{nowrap|''ac'' + ''be'' ∈ { | Now we assume that ''g'' and ''p'' are linearly independent. By assumption {{nowrap|''a''L + ''b''s {{=}} (''ac'' + ''be'')''g'' + (''ad'' + ''bf'')''p''}} = ''p''. Since {{nowrap|''a''L + ''b''s}} occurs on the "brightest" mode, from generatedness we have {{nowrap|''ac'' + ''be'' ∈ {0, …, ''n'' − 1}<nowiki/>}}. Hence we must have {{nowrap|''ac'' + ''be'' {{=}} 0}}, and thus {{nowrap|''c'' {{=}} ±''b''}} and {{nowrap|''e'' {{=}} ∓''a''}}, from the assumption that ''a'' and ''b'' are coprime. | ||
In fact, {L, s} is another valid basis for the abelian group with basis {''p'', ''g''}, since by binarity we have {{nowrap|''p, g'' ∈ span(L, s)}}. Assume {{nowrap|''c'' {{=}} ''b''}} and {{nowrap|''e'' {{=}} −''a''}} (this corresponds to assuming that ''g'' is the "bright" generator). Let {{nowrap|χ {{=}} L − s}} > 0; then χ is ''p''-equivalent to +''ng''. Now by generatedness and binarity, any interval class that has at least two sizes must have sizes separated by ''ng'' (the separation corresponding to changing an L step to an s step). Since ''g'' and ''p'' are linearly independent, for each {{nowrap|''j'' ∈ { | In fact, {L, s} is another valid basis for the abelian group with basis {''p'', ''g''}, since by binarity we have {{nowrap|''p, g'' ∈ span(L, s)}}. Assume {{nowrap|''c'' {{=}} ''b''}} and {{nowrap|''e'' {{=}} −''a''}} (this corresponds to assuming that ''g'' is the "bright" generator). Let {{nowrap|χ {{=}} L − s}} > 0; then χ is ''p''-equivalent to +''ng''. Now by generatedness and binarity, any interval class that has at least two sizes must have sizes separated by ''ng'' (the separation corresponding to changing an L step to an s step). Since ''g'' and ''p'' are linearly independent, for each {{nowrap|''j'' ∈ {1, …, ''n'' − 1}<nowiki/>}} there exists at most one {{nowrap|''k'' {{=}} ''k''(''j'') ∈ {1, …, ''n'' − 1}<nowiki/>}} such that ''jg'' is ''p''-equivalent to one size of ''k''-step. Hence if the class of ''k''-steps has ''at least'' two sizes, the sizes must be ''j''(''k'')''g'' and {{nowrap|(''j''(''k'') − ''n'')''g''}}; any other size must leave the range {{nowrap|(1 − ''n'')''g''}}, …, 0, …, {{nowrap|(''n'' − 1)''g''}}. Thus the class of ''k''-steps has at most two sizes for {{nowrap|1 ≤ ''k'' ≤ ''n'' − 1}}. Each non-''p''-equivalent class must have ''exactly'' two sizes, since the inverse of the ''k''-step that is equivalent to ''jg'' is an {{nowrap|(''n'' − ''k'')}}-step equivalent to −''jg'', which by linear independence must be distinct from an {{nowrap|(''n'' − ''k'')}}-step equivalent to a positive number of ''g'' generators. (Note that the latter {{nowrap|(''n'' − ''k'')}}-step does occur in the "brightest" mode of ''S'', i.e. the mode with the most ''g'' generators stacked ''up'' rather than ''down'' from the tonic.) This completes the proof. | ||
The previous argument cannot be used for the non-linearly independent case. This is because not all binary generated scales with rational step ratios are limit points of binary generated scales with irrational step ratios. A counterexample is the 13-note scale ssLsLssLsLss ({{nowrap|s {{=}} 1\17|L {{=}} 2\17}}), which is obtained from LsLsLssLsLss (5L 7s) by stacking one more 10\17 generator. | The previous argument cannot be used for the non-linearly independent case. This is because not all binary generated scales with rational step ratios are limit points of binary generated scales with irrational step ratios. A counterexample is the 13-note scale ssLsLssLsLss ({{nowrap|s {{=}} 1\17|L {{=}} 2\17}}), which is obtained from LsLsLssLsLss (5L 7s) by stacking one more 10\17 generator. | ||