|
|
| Line 1: |
Line 1: |
| {{texmap}} | | {{texmap}} |
| {{inaccessible}} | | {{inaccessible}} |
| The '''wedgie''' (also known as [[Plücker coordinates]]) is a way of defining and working with an [[abstract regular temperament]] (that is, a regular temperament where no tuning has been decided on). Wedgies are in a one-to-one relationship with abstract regular temperaments.
| |
|
| |
|
| In geometric terms, given [[monzo]]s '''u''' and '''v''', a rank-2 temperament's wedgie W is defined by the property that the number W('''u''', '''v''') is (proportional to) the signed area of the parallelogram spanned by (tempered versions of) '''u''' and '''v'''. This is the determinant of the tempered versions of '''u''' and '''v'''. The musical interpretation of the parallelogram spanned by '''u''' and '''v''' is: If you want to consider intervals that are multiples of '''u''' apart the same note (for example, if you want an octave-equivalent scale), W('''u''', '''v''') tells you how many generators of your rank-2 temperament it would take to get to '''v'''. The reason that wedgies work as unique identifiers of temperaments is that the value W('''u''', '''v''') only depends on what the temperament does to '''u''' and '''v''', and this dependence (in a sense) matches up exactly with what commas are tempered out by the temperament.
| |
|
| |
| A wedgie is written as a list of entries that give the values of the wedgie on the [[basis]] elements of the [[JI subgroup]] that the temperament is on. By the alternating property [i.e. W('''u''', '''v''') = −W('''v''', '''u''')] and bilinearity [W is linear in each argument separately], specifying the values on basis elements of the JI subgroup is enough to define W as an alternating bilinear form on all of the JI subgroup. The simplest example is rank-2 wedgies: Let a and b be (non-[[contorted]]) vals on a [[JI subgroup]] ''q''<sub>1</sub>.[…].''q''<sub>''n''</sub> (where the ''q''<sub>''i''</sub> need not be prime). Then the entries of the wedgie W corresponding to the rank-2 temperament a&b of the JI subgroup ''q''<sub>1</sub>.[…].''q''<sub>''n''</sub> are (ignoring sign and normalization):
| |
|
| |
| <math>\operatorname{W}\left(\mathbf{q}_i, \mathbf{q}_j\right) = \operatorname{a}\left(\mathbf{q}_i\right)\operatorname{b}\left(\mathbf{q}_j\right) - \operatorname{a}\left(\mathbf{q}_j\right)\operatorname{b}\left(\mathbf{q}_i\right) \text{ for } i < j,</math>
| |
|
| |
| where bolded variables and numbers represent the ordinary numbers written in [[monzo]] form.
| |
|
| |
| (Note that by the alternating property, W('''q'''<sub>''i''</sub>, '''q'''<sub>''i''</sub>) = 0 for all ''i''.)
| |
|
| |
| For the ''p''<sub>''n''</sub>-prime limit, the entries of W are conventionally listed in the order
| |
|
| |
| <math>\bival{\operatorname{W}\left(\mathbf{2}, \mathbf{3}\right) \ \ldots \ \operatorname{W}\left(\mathbf{2}, \mathbf{p}_n\right) & \operatorname{W}\left(\mathbf{3}, \mathbf{5}\right) \ \ldots \ \operatorname{W}\left(\mathbf{3}, \mathbf{p}_n\right) \ldots \operatorname{W}\left(\mathbf{p}_{n-2}, \mathbf{p}_{n-1}\right) & \operatorname{W}\left(\mathbf{p}_{n-2}, \mathbf{p}_n\right) & \operatorname{W}\left(\mathbf{p}_{n-1}, \mathbf{p}_n\right)}.</math>
| |
|
| |
| For example, a 5-limit wedgie is of the form
| |
|
| |
| <math>\bival{\operatorname{W}\left(\mathbf{2}, \mathbf{3}\right) \ \operatorname{W}\left(\mathbf{2},\mathbf{5}\right) \ \operatorname{W}\left(\mathbf{3}, \mathbf{5}\right)},</math>
| |
|
| |
| and a 7-limit wedgie is of the form
| |
|
| |
| <math>\bival{\operatorname{W}\left(\mathbf{2}, \mathbf{3}\right) & \operatorname{W}\left(\mathbf{2},\mathbf{5}\right) & \operatorname{W}\left(\mathbf{2}, \mathbf{7}\right) & \operatorname{W}\left(\mathbf{3}, \mathbf{5}\right) & \operatorname{W}\left(\mathbf{3}, \mathbf{7}\right) & \operatorname{W}\left(\mathbf{5}, \mathbf{7}\right)}.</math>
| |
|
| |
| More generally, if one takes ''r'' independent [[vals]] V<sub>1</sub>, …, V<sub>''r''</sub> in a rank-''n'' [[JI subgroup]] ''q''<sub>1</sub>.[…].''q''<sub>''n''</sub>, then the wedgie for the rank-''r'' temperament V<sub>1</sub>&…&V<sub>''r''</sub> is defined by:
| |
| # Take the [[Wikipedia: Wedge product|wedge product]] of the vals, producing an ''r''-'''multival'''.
| |
| # Divide out the greatest common divisior of the entries.
| |
| # If the first non-zero entry of the result of step 2 is negative, every entry of the multival is multiplied by −1, changing the sign of the first non-zero entry to be positive.
| |
| The result is the wedgie of the rank-''r'' temperament V<sub>1</sub>&…&V<sub>''r''</sub>, whose entries are (ignoring steps 2 and 3):
| |
|
| |
| <math>\operatorname{W}\left(\mathbf{q}_{k_1}, \ldots, \mathbf{q}_{k_r}\right) = \det\left[\operatorname{V}_i\left(\mathbf{q}_{k_j}\right)\right]_{i,j}, \ \text{for} \ 1 < k_j < n, </math>
| |
|
| |
| where <math>\left[\operatorname{V}_i\left(\mathbf{q}_{k_j}\right)\right]_{i,j}</math> denotes the ''r''×''r'' matrix whose (''i'', ''j'') entry is <math>\operatorname{V}_i\left(\mathbf{q}_{k_j}\right)</math>. These are ''r''-dimensional quantities, the volumes of the ''r''-dimensional parallelograms spanned by '''q'''<sub>''k''<sub>''1''</sub></sub>, ..., '''q'''<sub>''k''<sub>''r''</sub></sub> in the temperament's lattice.
| |
|
| |
| == How the period and generator falls out of 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.
| |
|
| |
| == Gene Ward Smith's introduction ==
| |
| An alternating [[Wikipedia: Multilinear map|multilinear map]] which is a multilinear function taking a certain number ''n'' of [[monzos]] as arguments and returning an integer as a value we may call an '''''n''-map'''. This definition is quite a mouthful, and we will attempt to unpack it in more comprehensible language and explain why these things are valuable in tuning theory. | | An alternating [[Wikipedia: Multilinear map|multilinear map]] which is a multilinear function taking a certain number ''n'' of [[monzos]] as arguments and returning an integer as a value we may call an '''''n''-map'''. This definition is quite a mouthful, and we will attempt to unpack it in more comprehensible language and explain why these things are valuable in tuning theory. |
|
| |
|