Wedgie/Archived version: Difference between revisions
ArrowHead294 (talk | contribs) |
|||
| Line 50: | Line 50: | ||
and one can check that [math] \alpha=b_1\wedge b_2 \wedge b_3[/math]. Note by the way that {{nowrap|''n'' − 1}} forms are always decomposable (here n=4 and we computed the decomposition of 3 form). | and one can check that [math] \alpha=b_1\wedge b_2 \wedge b_3[/math]. Note by the way that {{nowrap|''n'' − 1}} forms are always decomposable (here n=4 and we computed the decomposition of 3 form). | ||
== How to derive the period and generator from a rank-2 wedgie == | |||
The following is a procedure for finding a period and a generator for a rank-2 regular temperament on the 2.''q''<sub>1</sub>.(…).''q''<sub>''n''</sub> [[JI subgroup]]<ref>Note that ''q''<sub>1</sub> is not 2, but the next element in the chosen basis of the group</ref>. We also give a (hopefully convincing and enlightening) proof of why the procedure always works. We'll assume that the [[equave]] is the octave, but non-octave JI equaves can be substituted for the octave if needed, by substituting the appropriate JI ratio for 2/1. | |||
The following assumes that: | |||
* You can think of JI ratios as vectors living in the ''n''-dimensional lattice of the "JI subgroup", | |||
* You know what a "period" and a "generator" of a rank-2 temperament are, and | |||
* You know what [[monzo]]s and [[val]]s are and how to work with them. | |||
=== The procedure === | |||
Consider the rank-2 temperament a&b, where a and b are two [[val]]s. Then the entries of the wedgie W corresponding to a&b are {{nowrap|W('''2''', '''q'''<sub>1</sub>)}}<ref>The {{nowrap|W(p, g)}} function at its most basic level returns the value at the ({{nowrap|p, g}}) index of the wedgie W. For example, for {{nowrap|W {{=}} {{multimap|1 4 4}}}}, {{nowrap|W('''2''','''3''') {{=}} 1}}, {{nowrap|W('''2''','''5''') {{=}} 4}}, and {{nowrap|W('''3''','''5''') {{=}} 4}}. | |||
Note that the multicovector form we typically view wedgies in is compressed from its full tensor form, because the tensor form is antisymmetric and therefore has many zero entries along its diagonal and also an entire half of it is redundant with the other half (its negation). For example, a rank-2 5-limit wedgie W has three entries with indices {{nowrap|W('''2''', '''3''')}}, {{nowrap|W('''2''', '''5''')}}, and {{nowrap|W('''3''', '''5''')}}. But the other six permutations of two of these indices exist too. Those with duplicates all equal 0, i.e. {{nowrap|W('''2''', '''2''') {{=}} 0}}, {{nowrap|W('''3''', '''3''') {{=}} 0}}, and {{nowrap|W('''5''', '''5''') {{=}} 0}}. Those with indices that are reversals of the ones shown in the multicovector form have values that are negations of those shown in the multicovector, e.g. {{nowrap|W('''3''', '''2''') {{=}} −W('''2''', '''3''')}}, {{nowrap|W('''5''', '''2''') {{=}} −W('''2''', '''5''')}}, and {{nowrap|W('''5''', '''3''') {{=}} −W('''3''', '''5''')}}. For more information about the relationship between the compressed multicovector form of wedgies and their full tensor form, see: [[Dave Keenan & Douglas Blumeyer's guide to EA for RTT#As compressed antisymmetric tensors|Dave Keenan & Douglas Blumeyer's guide to exterior algebra for regular temperament theory.]] | |||
As for arbitrary values of '''p''' and '''g''' in {{nowrap|W('''p''', '''g''')}}—such as non-integers—the value of {{nowrap|W('''p''', '''g''')}} can be understood as the volume the parallelogram spanned by '''p''' and '''g''', or in other words, that {{frac|1|{{!}}{{nowrap|W('''2''', '''g'''){{!}}}}}} is the unit fraction of the tempered lattice capable of being generated by '''p''' and '''g''', as is discussed in greater detail here: [[Dave Keenan & Douglas Blumeyer's guide to EA for RTT#Multicomma entries: tempered lattice fractions generated by prime combinations]]</ref>, …, {{nowrap|W('''2''', '''q'''<sub>''n''</sub>)}}, and {{nowrap|W('''q'''<sub>''i''</sub>, '''q'''<sub>''j''</sub>)}} for {{nowrap|''i'' < ''j''}}, and the entry {{nowrap|W('''p''', '''q''')}} is given by {{nowrap|a('''p''')b('''q''') − a('''q''')b('''p''')}}. | |||
To find the '''period''': Let {{nowrap|''d'' {{=}} gcd(W('''2''', '''q'''<sub>1</sub>), …, W('''2''', '''q'''<sub>''n''</sub>))}}. Then your period is 1\''d''. | |||
To find (a JI interpretation of) the '''generator''': Solve the equation {{nowrap|W('''2''', '''g''') {{=}} ''c''<sub>1</sub>W('''2''', '''q'''<sub>1</sub>) + … + ''c''<sub>''n''</sub>W('''2''', '''q'''<sub>''n''</sub>) {{=}} ''d''}} for the coefficients ''c''<sub>1</sub>, ..., ''c''<sub>''n''</sub> (using some algorithm such as the [[Wikipedia: Extended Euclidean algorithm|extended Euclidean algorithm]]). Then one valid generator for the temperament is {{nowrap|'''g''' {{=}} (the tempered version of) ''q''<sub>1</sub><sup>''c''<sub>1</sub></sup> … ''q''<sub>''n''</sub><sup>''c''<sub>''n''</sub></sup>}} (written additively, a linear combination {{nowrap|'''g''' {{=}} ''c''<sub>1</sub>'''q'''<sub>1</sub> + … + ''c''<sub>''n''</sub>'''q'''<sub>''n''</sub>)}}. | |||
{{Proof|contents= The following additionally assumes that you know what the words "basis", "linear map", and "determinant" mean. | |||
Consider the 2.''q''<sub>1</sub>.(…).q<sub>''n''</sub> [[JI subgroup]], with basis '''2''', '''q'''<sub>1</sub>, ..., '''q'''<sub>''n''</sub>. | |||
The period '''p''' (fraction of octave) and generator '''g''' form a basis for all the intervals of a rank-2 temperament. For example, {{nowrap|'''p''' {{=}} '''2'''}} and {{nowrap|'''g''' {{=}} '''3''' − '''2'''}} (representing 3/2) form a basis for meantone. But from a purely linear-algebra perspective, there's nothing special about the basis {{nowrap|{{(}}'''p''', '''g'''{{)}}}}; I could have chosen another basis, such as {{nowrap|'''p'''' {{=}} '''3'''}} for my "period" and {{nowrap|'''g'''' {{=}} '''2'''}} for my "generator". What makes the wedgie a unique identifier for a temperament is that rather than specify a basis directly, the wedgie specifies a ''constraint'' that any basis for the temperament must satisfy: namely, that a basis '''e'''<sub>1</sub>, '''e'''<sub>2</sub> must satisfy {{nowrap|W('''e'''<sub>1</sub>, '''e'''<sub>2</sub>) {{=}} ±1}}. | |||
In the language of linear algebra, the wedgie is an "alternating bilinear form" on the appropriate JI group ''M''; this means that (ignoring sign) it acts like the operation of finding the determinant of two vectors on the appropriate quotient group {{nowrap|''M' '' {{=}} ''M''/''K''}} of ''M'', where ''K'' is the kernel of the bilinear form W. Using the fact that {{nowrap|W {{=}} a&b}} where a and b are two edos (properly, rank-1 [[val]]s), you can verify that ''K'' is exactly the kernel of the rank-2 temperament, as follows. (Hence ''M''/''K' '' is a rank-2 lattice on which W is an alternating non-degenerate bilinear form, which justifies the intuition of viewing W as a determinant-like function.) | |||
Let ''K''<sub>1</sub> represent the kernel of the temperament (i.e. the set of commas tempered out by the temperament), and {{nowrap|''K''<sub>2</sub> {{=}} ker W {{=}} {{(}}'''v''' ∈ ''M'' : W('''v''', '''w''') {{=}} 0 ∀'''w''' ∈ ''M''{{)}}}}. If {{nowrap|'''v''' ∈ ''K''<sub>1</sub>}}, then '''v''' is tempered out by both a and b, so {{nowrap|W('''v''', '''w''') {{=}} a('''v''')b('''w''') − a('''w''')b('''v''') {{=}} 0}}, and {{nowrap|'''v''' ∈ ''K''<sub>2</sub>}}. Conversely, if {{nowrap|'''v''' ∈ ''K''<sub>2</sub>}}, then {{nowrap|W('''v''', '''w''') {{=}} a('''v''')b('''w''') − a('''w''')b('''v''') {{=}} 0}} for all '''w''', which implies {{nowrap|a('''v''')b('''w''') {{=}} a('''w''')b('''v''') (*)}} for all '''w'''. Since a and b both have rank 1 but a&b has rank 2, a and b are linearly independent as vals; so we can choose '''w''' such that {{nowrap|a('''w''') {{=}} 0}} but {{nowrap|b('''w''') ≠ 0}}. Then (*) shows {{nowrap|a('''v''') {{=}} 0}}. By the same argument, {{nowrap|b('''v''') {{=}} 0}}. So '''v''' is in ''K''<sub>1</sub> and {{nowrap|''K''<sub>1</sub> {{=}} ''K''<sub>2</sub>}}; the kernel of the temperament is exactly the intervals that the wedgie "treats as zero". | |||
By the First Isomorphism Theorem it follows that ''M' '' is the group of intervals in the rank-2 temperament in question. | |||
The key fact about the determinant we use here is that two integer vectors '''v'''<sub>1</sub>, '''v'''<sub>2</sub> form a basis for the rank-2 integer lattice '''Z'''<sup>2</sup> iff {{nowrap|det('''v'''<sub>1</sub>, '''v'''<sub>2</sub>) {{=}} ±1}}. So in order to find a period and generator for our temperament, we need a pair of vectors {{nowrap|{{(}}'''p''', '''g'''{{)}}}} such that {{nowrap|W('''p''', '''g''') {{=}} 1}} and '''p''' is 1\''d'' for some integer ''d''. | |||
Let {{nowrap|''d'' {{=}} gcd(W('''2''', '''q'''<sub>1</sub>), ..., W('''2''', '''q'''<sub>''n''</sub>))}}. This tells you that for any JI ratio '''v''' in your JI subgroup, {{nowrap|W('''2''', '''v''') {{=}} 2''N''('''v''')}} for some number ''N''('''v''') [that depends linearly on '''v''']. This equation is also true when we replace '''2''' with any JI ratio '''u''' that is equated to '''2'''. This tells us that for {{nowrap|W('''p''', '''g''') {{=}} 1}}, we (up to some choices) need '''p''' to be a JI ratio such that ''d'''''p''' is equated to '''2''', i.e. '''p''' represents 1/''d'' of the octave. | |||
Choose a basis '''e'''<sub>1</sub>, '''e'''<sub>2</sub> for the temperament group and write (the image of) '''2''' as {{nowrap|'''2''' {{=}} ''λ''<sub>1</sub>'''e'''<sub>1</sub> + ''λ''<sub>2</sub>'''e'''<sub>2</sub>}}. Then: | |||
* {{nowrap|W('''2''', '''e'''<sub>1</sub>)}} = {{nowrap|W(''λ''<sub>2</sub>'''e'''<sub>2</sub>, '''e'''<sub>1</sub>)}} = {{nowrap|−''λ''<sub>2</sub>W('''e'''<sub>1</sub>, '''e'''<sub>2</sub>)}} = −''λ''<sub>2</sub> | |||
* {{nowrap|W('''2''', '''e'''<sub>2</sub>)}} = {{nowrap|W(''λ''<sub>1</sub>'''e'''<sub>1</sub>, '''e'''<sub>2</sub>)}} = {{nowrap|''λ''<sub>1</sub>W('''e'''<sub>1</sub>, '''e'''<sub>2</sub>)}} = ''λ''<sub>1</sub>. | |||
Divisibility by ''d'' and the fact that '''e'''<sub>1</sub> and '''e'''<sub>2</sub> represent JI ratios in the 2.''q''<sub>1</sub>.[...].''q''<sub>''n''</sub> subgroup imply that ''λ''<sub>1</sub> and ''λ''<sub>2</sub> are both divisible by ''d'', and hence '''2''' is mapped to a ''d''th power in ''M' '' (the temperament space). Since {{nowrap|gcd(W('''2''', '''q'''<sub>1</sub>), ..., W('''2''', '''q'''<sub>''n''</sub>)) {{=}} ''d''}}, we can always find a linear combination {{nowrap|''g'' {{=}} ''c''<sub>1</sub>'''q'''<sub>1</sub> + ... + ''c''<sub>''n''</sub>'''q'''<sub>''n''</sub>}} such that {{nowrap|W('''2''', '''g''') {{=}} ''c''<sub>1</sub>W('''2''', '''q'''<sub>1</sub>) + ... + ''c''<sub>''n''</sub>W('''2''', '''q'''<sub>''n''</sub>) {{=}} ''d''}} using the extended Euclidean algorithm. Then since {{nowrap|W('''2''', '''g''') {{=}} W(''d'''''p''', '''g''') {{=}} ''d''W('''p''', '''g''') {{=}} ''d''}}, we have {{nowrap|W('''p''', '''g''') {{=}} 1}}. Ta-da!}} | |||
Now choosing an optimal tuning for the temperament is a matter of choosing a way to measure error from JI and minimizing the error. For example, the [[TE tuning|TE]] and [[CTE tuning|CTE]] tunings are based on minimizing [[TE error]], and those tunings can be found using [https://sintel.pythonanywhere.com/ Sintel's temperament finder]. | |||
=== Example === | |||
Consider the wedgie <math>W = \bival{1 & 4 & 4}</math> for 5-limit meantone (the 12&19 temperament). We have {{nowrap|W('''2''', '''3''') {{=}} 1}} and {{nowrap|W('''2''', '''5''') {{=}} 4}}, so {{nowrap|''d'' {{=}} 1}}, and our period is 1\1. Further, we have that <math>W\left(\mathbf{2}, \mathbf{3}) + 0*W(\mathbf{2}, \mathbf{5}\right) = 1</math>, so {{nowrap|''c''<sub>1</sub> {{=}} 1}}, {{nowrap|''c''<sub>2</sub> {{=}} 0}} is one solution, and we can use {{nowrap|3<sup>1</sup>5<sup>0</sup> {{=}} 3/1}} as our generator. | |||
Note that <math>-3\,W\left(\textbf{2}, \textbf{3}\right) + W\left(\textbf{2}, \textbf{5}\right) = -3 * 1 + 1 * 4 = 1</math>, so {{nowrap|''c''<sub>1</sub> {{=}} −3}}, {{nowrap|''c''<sub>2</sub> {{=}} 1}} is another solution to the equation. Thus 5/27 is also a valid generator. This octave reduces to the [[40/27]] grave fifth, which is equated to 3/2 in meantone. This is an example of how any solution of the equation corresponds to a valid generator, and when two solutions correspond to the "same" generator on the nose, the difference between the solutions corresponds to a comma that is tempered out by the temperament. | |||
== Truncation of wedgies == | == Truncation of wedgies == | ||