Higher Rank EDO Generators

Previously: EDO Generators

In that past, we talked about what rank-2 intervals can be tempered out (while keeping octaves pure and keeping the natural intervals ordered by <=) to generate different EDO tuning systems. There are finitely many positive EDOs that can't be generated in this way from rank-2 interval tempering, and I've given the list: [1, 2, 3, 4, 6, 8, 9, 10, 11, 13, 14, 15, 16, 18, 20, 21, 23, 24, 25, 28, 30, 34, 35, 36, 38, 44, 48, 51, 58, 60, 66, 78, 84, 108, 156].

If we go up to rank-3 intervals, to get down to a rank-1 EDO, we have to temper out two independent commas while keeping octaves pure. I tried finding minimal rank-3 commas for all the EDOs above 5 and below 100. My procedure was to find rank-3 intervals that are tempered out by each EDO, then find their just 5-limit tunings, then filter out the ones <= 1/1, and sort the remaining ones by complexity, which I measured as numerator size. The interval with the lowest complexity frequency ratio was adopted as tempered comma {a}, and then I went through the list in order trying to find another interval {b} which did not "contain a copy of" {a}, i.e. the frequency ratio of {b} was not simplified by adding or subtracting {a}. Once I had found two commas for each EDO above 5 and under 100, I checked whether the sets of two low complexity commas were unique across EDOs. I expected them not to be. For example, I had prior reason to think that 24-EDO can't be represented by tempering out two rank-3 commas, but rather it is minimally expressible by tempering out three rank-4 commas. And indeed, the two tempered rank-3 commas that I found for 24-EDO (which are justly tuned to 81/80 & 128/125) were the same as those for 12-EDO. Which means that when you try to represent 24-EDO with rank-3 tempered commas and a pure octave, everything collapses down to 12-EDO and you don't actually get any intervals tuned to the odd / neutral steps of 24-EDO.

This collapsing behavior happens for a few other EDOs below 100, namely:

10 ← 20
12 ← 24 ← 36
15 ← 30
19 ← 38 ← 57 ← 76
22 ← 44 ← 66
31 ← 62 ← 93
34 ← 68
41 ← 82
43 ← 86
46 ← 92

So any EDO division on the right of an arrow above is probably not expressible by tempering out two rank-3 intervals. Although I see (57, 62, 68, 76, 82, 86, 93)-EDO here, which were doable with rank-2 intervals, so there's something fishy here. I'll investigate this much later. For now, I'll keep doing the low-complexity ratio comma math thing that I've been doing.

The lowest complexity rank-4 intervals that can be tempered to produce 24-EDO are justly tuned to (49/48, 81/80, 128/125). These happen to be 12-EDO commas with an extra 7-limit comma, but new commas don't always strictly append in this manner. For example, the lowest complexity rank-4 intervals that generate 12-EDO look nothing like the rank-3 version: (36/35, 50/49, 64/63).

I think my next project is to characterize what EDO you'll get out based on the tempered interval coordinates, just as I gave the rule:

    {edo_divisions = abs(a * 7 - b * 12) / gcd(a, b)}

for tempering rank-2 intervals (a, b) expressed in the (A1, d2) basis.

Then I want to figure find the full set of EDOs that aren't representable by tempering rank-3 intervals, and maybe to see how high a rank you have to hit before all EDOs are expressible.

...

Even with rank-4 intervals, there are some EDOs that collapse:

10 ← 20
15 ← 30
22 ← 44
31 ← 62 ← 93
46 ← 92
41 ← 82

.

So maybe you need to temper out four rank-5 intervals (along with purely tuning your octave) to get e.g. 20 EDO? Maybe 20 EDO really wants to be analyzed with 11-limit frequency ratios. Based on the numbers that were in the previous rank-3 collapse diagram but not in this rank-4 one, it seems like with tempered rank-4 intervals, we can now also represent [24, 36, 38, 57, 66, 68, 76, 86]-EDO.

The 7-limit justly tuned frequency ratios for 24 EDO's minimal rank-3 commas are (49/48 & 81/80 & 128/125). Here all the full set we picked up (above 5 and under 100):

24 EDO: 49/48 & 81/80 & 128/125
36 EDO: 81/80 & 128/125 & 686/675
38 EDO: 50/49 & 81/80 & 3125/3072
57 EDO: 81/80 & 1029/1024 & 3125/3072
66 EDO: 250/243 & 686/675 & 1029/1024
68 EDO: 245/243 & 2401/2400 & 3136/3125
76 EDO: 81/80 & 2401/2400 & 3125/3072
86 EDO: 81/80 & 6144/6125 & 9604/9375

.

Okay, I tried making an EDO reducing graph for rank-2 which I hadn't done before.

256/243: 5 ← 10 ← 15 ← 20 ← 25 ← 30 
2187/2048: 7 ← 14 ← 21 ← 28 ← 35 
531441/524288: 12 ← 24 ← 36 ← 48 ← 60 ← 72 ← 84 ← 96 
134217728/129140163: 17 ← 34 ← 51 ← 68 ← 85 
1162261467/1073741824: 19 ← 38 ← 57 ← 76 
34359738368/31381059609: 22 ← 44 ← 66 
2541865828329/2199023255552: 26 ← 52 
8796093022208/7625597484987: 27 ← 54 
70368744177664/68630377364883: 29 ← 58 ← 87 
617673396283947/562949953421312: 31 ← 62 ← 93 
4611686018427387904/4052555153018976267: 39 ← 78 
36893488147419103232/36472996377170786403: 41 ← 82 
328256967394537077627/295147905179352825856: 43 ← 86 
9444732965739290427392/8862938119652501095929: 46 ← 92 
.
Okay, so the list of integers to the right of a left-arrow (←) is quite different from the list of EDOs not generated by tempering out any rank-2 intervals. So this new math is just wrong. But it's still showing something related about EDOs and tempering and I'm going to keep figuring it out.

I guess I don't know what any of this means, but the numbers that are to the right of arrows in the rank-2 reduction diagram but not to the right of arrows in the rank-3 reduction diagram are these: [10, 14, 15, 21, 25, 28, 34, 35, 48, 51, 52, 54, 58, 60, 72, 78, 84, 85, 87, 96]. Before, I would have been tempted to say that rank-3 interval space can represent these EDOs by tempering while rank-2 interval space can't. But now I don't know what to believe.

I think I should look at the rank-2 intervals with the shortest names that I previously had determined could be tempered out to generate various EDOs, and then tune them justly with 3-limit frequency ratios and compare that to the "minimal complexity 3-limit ratios for 2-limit commas" that I started generated in with the programs behind this post.
...

Okay, here are some rank-2 intervals that can be tempered out to produce various EDOs:
5-EDO: m2 = (1, 1)
7-EDO: d1 = (-1, 0)
12-EDO: d2 = (0, 1)
17-EDO: dd3 = (1, 2)
19-EDO: dd2 = (-1, 1)
22-EDO: ddd4 = (2, 3)
26-EDO: ddd2 = (-2, 1)
27-EDO: dddd5 = (3, 4)
29-EDO: dddd4 = (1, 3)
31-EDO: dddd3 = (-1, 2)
32-EDO: dddd6 = (4, 5)
33-EDO: dddd2 = (-3, 1)
37-EDO: ddddd7 = (5, 6)
39-EDO: ddddd6 = (3, 5)
40-EDO: ddddd2 = (-4, 1)
41-EDO: dddddd5 = (1, 4)
42-EDO: dddddd8 = (6, 7)
43-EDO: dddddd4 = (-1, 3)
45-EDO: dddddd3 = (-3, 2)
46-EDO: dddddd6 = (2, 5)
47-EDO: dddddd2 = (-5, 1)
49-EDO: ddddddd8 = (5, 7)
50-EDO: ddddddd4 = (-2, 3)
52-EDO: ddddddd10 = (8, 9)
53-EDO: ddddddd6 = (1, 5)
54-EDO: ddddddd2 = (-6, 1)
55-EDO: dddddddd5 = (-1, 4)
56-EDO: dddddddd8 = (4, 7)
.
I found these more or less by brute force originally, but it's a very sensical and structured system.

We start with 5-EDO and 7-EDO:
    5-EDO: m2 = (1, 1)
    7-EDO: d1 = (-1, 0)

These interval coordinates are given in Lilley's (A1, d2) basis.  By combining these two intervals repeatedly, we get everything else. As 5 + 7 = 12, so the rank-2 interval tempered out to give 12-EDO is 
    m2 + d1 = ...
    (1, 1) + (-1, 0) = (0, 1) = ... 
    d2
.
I've switched lines when I switch between interval names and interval coordinates, but it's all the same arithmetic. You can add another 5-EDO interval to get 17-EDO or another 7-EDO interval to get 19-EDO. The only constraint is that the elements of the interval have to be coprime: since 12-EDO tempers out d2, it also tempers out (d2 + d2) and (d2 + d2 + d2) and so on. They're all zero steps of 12-EDO, with a frequency ratio of unity. So (d2 + d2) doesn't give you the comma for generating 24-EDO, it just reduces back to 12-EDO. This lets you figure out the coordinates for the intervals tempered out by various EDOs. And I've talked in previous posts about how to find the name of an interval given its coordinates. But here we're not even super interested in the name: I just want to know the 3-limit frequency ratio associated with each tempered out interval. To do that, we remind ourselves of the tuned Pythagorean values for A1 and d2:
    t(A1) = 2187/2048
    t(d2) = 524288/531441
and then use the interval coordinates as exponents, e.g.
    m2 = (1, 1) = 1 * A1 + 1 * d2
    t(m2) = t((1, 1)) = t(A1)^1 * t(d2) ^1 = 2187/2048 * 524288/531441 = 256/243

Success.

Here are a few 3-limit tempered commas that the program I started with in this post found:
5 EDO's minimal 3-limit comma: 256/243 = t(m2)
6 EDO's minimal 3-limit comma: 32/27 = t(m3)
7 EDO's minimal 3-limit comma: 2187/2048 = t(A1)
8 EDO's minimal 3-limit comma: 8192/6561 = t(d4)
9 EDO's minimal 3-limit comma: 19683/16384 = t(A2)
10 EDO's minimal 3-limit comma: 256/243 = t(m2)
11 EDO's minimal 3-limit comma: 177147/131072 = t(A3) 
12 EDO's minimal 3-limit comma: 531441/524288 = t(A0)
13 EDO's minimal 3-limit comma: 2097152/1594323 = t(dd5)
14 EDO's minimal 3-limit comma: 2187/2048 = t(A1)
15 EDO's minimal 3-limit comma: 256/243 = t(m2)
16 EDO's minimal 3-limit comma: 43046721/33554432 = t(AA2)
17 EDO's minimal 3-limit comma: 134217728/129140163 = t(dd3)
18 EDO's minimal 3-limit comma: 536870912/387420489 = t(dd6)
19 EDO's minimal 3-limit comma: 1162261467/1073741824 = t(AA0)

....

Okay, yeah, wow. I still have no idea what this means. A bunch of these have augmented intervals, whereas my original and definitely valid rank-2 intervals to temper for generating EDOs were mostly diminished. Maybe that's because I required the frequency ratios to be larger than 1. Anyway, if we take the definitely valid old intervals from the old EDO generators post and tune them, I think we get these:
     5-EDO: m2 = (1, 1) # 256/243
7-EDO: d1 = (-1, 0) # 2048/2187
12-EDO: d2 = (0, 1) # 524288/531441
17-EDO: dd3 = (1, 2) # 134217728/129140163
19-EDO: dd2 = (-1, 1) # 1073741824/1162261467
.
So 5-EDO matches. And 7-EDO is just inverted in the frequency ratio. And 12-EDO is just inverted. And 17-EDO matches. And 19-EDO is just inverted.

Still trying to figure out the rest of the 3-limit intervals for EDOs that came from the program behind this post. 10-EDO and 15-EDO match 5-EDO, as they should. 14-EDO matches 7-EDO, as it should.

These guys are still mysterious:
6 EDO's minimal 3-limit comma: 32/27 = t(m3)
8 EDO's minimal 3-limit comma: 8192/6561 = t(d4)
9 EDO's minimal 3-limit comma: 19683/16384 = t(A2)
11 EDO's minimal 3-limit comma: 177147/131072 = t(A3) 
13 EDO's minimal 3-limit comma: 2097152/1594323 = t(dd5)
16 EDO's minimal 3-limit comma: 43046721/33554432 = t(AA2)
18 EDO's minimal 3-limit comma: 536870912/387420489 = t(dd6)
.
Maybe 6-EDO does temper out the rank-2 m3, but you can't define 6-EDO just by tempering out the rank-2 m3, or any set of rank-2 intervals. I think that's clever. Oh! Wait! I bet you *can* define a 6-EDO by tempering out the rank-2 minor third, but that 6-EDO isn't spelled correctly! It doesn't have the natural order of natural intervals, (P1, m2, M2, m3, M3, P4, P5, ..., P8), where the order is enforced by "<=". It's only when the d2 component >= A1 component, and the d2 component >= 0 that the tuning system will have the usual order of natural intervals that we know and love from 12 TET and quarter-comma meantone and so forth. The d2 component will equal 0 only in the case of 7-EDO, and the A1 component will equal the d2 component only in the case of 5-EDO. Otherwise, for an interval (a, b) to temper out, I think we have strict {b > a} and {b > 0}.

...

Okay! This is very exciting. So even when you allow weird tempered intervals such that your natural intervals in your interval space will be disordered and your chromatic scale of pitch classes will be mis-spelled, you still can't get e.g. 15-EDO by tempering out a rank-2 pitch: it still collapses to 5-EDO. You *can* define a 15-EDO by tempering out two rank-3 intervals, but I don't yet know whether it will be correctly enumerated and spelled. I need to figure out a criterion that works with two tempered intervals for determining when there is natural ordering. My guess is that it's going to be the same criterion as with rank-2 intervals, but applied to both of the rank-3 intervals.

...

Still thinking about this occasionally. I think the rank-3 tempered commas that supposedly produce 6-EDO also collapse to 3-EDO, so I should add
    3 ← 6
to the reduction graph.

If a frequency ratio X is rational, and an integer power of a rational number Y, and an EDO tempers out X, does it necessarily temper out Y? Seems likely, but I don't know how to prove it yet.

...

Let's focus on rank-3 EDO generators for a bit, and then we can go higher rank for the ones that aren't covered. For every EDO, we'll keep octaves pure and temper out two more intervals. I'll give the just tunings for those intervals. I'll also show a matrix made of the octave and the two commas, expressed in the 5-limit prime harmonic basis, a.k.a. (P8, P12, M17), and I'll draw attention to when the absolute value of the determinant of that matrix doesn't equal the rank of the EDO (i.e. when the commas don't fully define the EDO in question but instead reduce to a smaller EDO).

A rank-3 version of 3-EDO can be defined by tempering out M2 → 10/9 and m2 → 16/15. Here's the basis matrix: ([1, 0, 0], [1, -2, 1], [4, -1, -1]).

4-EDO tempers out the rank-3 intervals (AcM2 → 9/8, A1 → 25/24). Basis matrix: ([1, 0, 0], [-3, 2, 0], [-3, -1, 2])

5-EDO tempers out (m2 → 16/15, Acm2 → 27/25). Basis matrix: ([1, 0, 0], [4, -1, -1], [0, 3, -2])

6-EDO can't be defined by tempering out two rank-3 intervals: there are two independent rank-3 intervals that get tempered out by 6-EDO, but they're the same as 3-EDO's (m2, M2). We'll have to do a higher-rank analysis if we want to understand 6-EDO. Maybe with rank-4 intervals we'll be able to tune intervals to every step of 6-EDO. But the rank-3 intervals all get tuned to the 3-EDO subset.

7-EDO tempers out (A1 → 25/24, Ac1 → 81/80). Basis matrix: ([1, 0, 0], [-3, -1, 2], [-4, 4, -1])

8-EDO tempers out (m2 → 16/15, GrA1 → 250/243). Basis matrix: ([1, 0, 0], [4, -1, -1], [1, -5, 3])

9-EDO tempers out (Acm2 → 27/25, d2 → 128/125). Basis matrix: ([1, 0, 0], [0, 3, -2], [7, 0, -3])

10-EDO tempers out (A1 → 25/24, Grm2 → 256/243). Basis matrix: ([1, 0, 0], [-3, -1, 2], [8, -5, 0])

11-EDO tempers out (AcA1 → 135/128, d3 → 144/125). Basis matrix: ([1, 0, 0], [-7, 3, 1], [4, 2, -3])

12-EDO tempers out (Ac1 → 81/80, d2 → 128/125). Basis matrix: ([1, 0, 0], [-4, 4, -1], [7, 0, -3])

13-EDO tempers out (A1 → 25/24, GrGrm3 → 2560/2187). Basis matrix: ([1, 0, 0], [-3, -1, 2], [9, -7, 1])

14-EDO tempers out (Acm2 → 27/25, Grd2 → 2048/2025). Basis matrix: ([1, 0, 0], [0, 3, -2], [11, -4, -2])

16-EDO tempers out (AcA1 → 135/128, dAcm2 → 648/625). Basis matrix: ([1, 0, 0], [-7, 3, 1], [3, 4, -4])

17-EDO tempers out (A1 → 25/24, GrGrm2 → 20480/19683). Basis matrix: ([1, 0, 0], [-3, -1, 2], [12, -9, 1])

18-EDO tempers out (d2 → 128/125, GrM2 → 800/729). Basis matrix: ([1, 0, 0], [7, 0, -3], [5, -6, 2])

19-EDO tempers out (Ac1 → 81/80, dd0 → 3125/3072). Basis matrix: ([1, 0, 0], [-4, 4, -1], [-10, -1, 5])

20-EDO can't be defined with rank-3 tempering. It has the same commas, (A1 → 25/24, Grm2 → 256/243), as 10-EDO, and so the same matrix determinant and the same tuned values.

21-EDO tempers out (d2 → 128/125, AcAcA1 → 2187/2048). Basis matrix: ([1, 0, 0], [7, 0, -3], [-11, 7, 0])

22-EDO tempers out (GrA1 → 250/243, Grd2 → 2048/2025). Basis matrix: ([1, 0, 0], [1, -5, 3], [11, -4, -2])

23-EDO tempers out (AcA1 → 135/128, dAcAcm2 → 6561/6250). Basis matrix: ([1, 0, 0], [-7, 3, 1], [-1, 8, -5])

24-EDO reduces to 12-EDO in a rank-3 analysis.

25-EDO tempers out (Grm2 → 256/243, dd0 → 3125/3072). Basis matrix: ([1, 0, 0], [8, -5, 0], [-10, -1, 5])

26-EDO tempers out (Ac1 → 81/80, ddd0 → 78125/73728). Basis matrix: ([1, 0, 0], [-4, 4, -1], [-13, -2, 7])

27-EDO tempers out (d2 → 128/125, GrGrA1 → 20000/19683). Basis matrix: ([1, 0, 0], [7, 0, -3], [5, -9, 4])

28-EDO tempers out (dAcm2 → 648/625, AcAcA1 → 2187/2048). Basis matrix: ([1, 0, 0], [3, 4, -4], [-11, 7, 0])

29-EDO tempers out (GrA1 → 250/243, Grdd0 → 16875/16384). Basis matrix: ([1, 0, 0], [1, -5, 3], [-14, 3, 4])

30-EDO reduced to 15-EDO using rank-3 intervals.

31-EDO tempers out (Ac1 → 81/80, Grdddd3 → 393216/390625). Basis matrix: ([1, 0, 0], [-4, 4, -1], [17, 1, -8])

32-EDO tempers out (Grd2 → 2048/2025, GrAA1 → 3125/2916). Basis matrix: ([1, 0, 0], [11, -4, -2], [-2, -6, 5])

33-EDO tempers out (d2 → 128/125, AcAcAcA1 → 177147/163840). Basis matrix: ([1, 0, 0], [7, 0, -3], [-15, 11, -1])

34-EDO tempers out (Grd2 → 2048/2025, ddAcm0 → 15625/15552). Basis matrix: ([1, 0, 0], [11, -4, -2], [-6, -5, 6])

35-EDO tempers out (AcAcA1 → 2187/2048, dd0 → 3125/3072). Basis matrix: ([1, 0, 0], [-11, 7, 0], [-10, -1, 5])

36-EDO reduces to 12-EDO using rank-3 intervals

36-EDO tempers out (Ac1 → 81/80, d2 → 128/125). Basis matrix: ([1, 0, 0], [-4, 4, -1], [7, 0, -3]) = 12

37-EDO tempers out (GrA1 → 250/243, GrGrddd3 → 262144/253125). Basis matrix: ([1, 0, 0], [1, -5, 3], [18, -4, -5])

38-EDO reduced to 19-EDO using rank-3 intervals.

39-EDO tempers out (d2 → 128/125, ddAcAcAcm2 → 1594323/1562500). Basis matrix: ([1, 0, 0], [7, 0, -3], [-2, 13, -8])

40-EDO tempers out (dAcm2 → 648/625, AcAcAcA1 → 177147/163840). Basis matrix: ([1, 0, 0], [3, 4, -4], [-15, 11, -1])

41-EDO tempers out (dd0 → 3125/3072, GrGrA1 → 20000/19683). Basis matrix: ([1, 0, 0], [-10, -1, 5], [5, -9, 4])

42-EDO tempers out (d2 → 128/125, GrGrGrAA1 → 5000000/4782969). Basis matrix: ([1, 0, 0], [7, 0, -3], [6, -14, 7])

43-EDO tempers out (Ac1 → 81/80, Grdddddd4 → 50331648/48828125). Basis matrix: ([1, 0, 0], [-4, 4, -1], [24, 1, -11])

44-EDO reduced to 22-EDO using rank-3 intervals.

45-EDO tempers out (Ac1 → 81/80, GrGrdddddd-1 → 146484375/134217728). Basis matrix: ([1, 0, 0], [-4, 4, -1], [-27, 1, 11])

46-EDO tempers out (Grd2 → 2048/2025, ddAcAcm2 → 78732/78125). Basis matrix: ([1, 0, 0], [11, -4, -2], [2, 9, -7])

47-EDO tempers out (dAcAcm2 → 6561/6250, Grdd0 → 16875/16384). Basis matrix: ([1, 0, 0], [-1, 8, -5], [-14, 3, 4])

48-EDO tempers out (Grdd0 → 16875/16384, GrGrA1 → 20000/19683). Basis matrix: ([1, 0, 0], [-14, 3, 4], [5, -9, 4])

49-EDO tempers out (ddAcm0 → 15625/15552, GrGrm2 → 20480/19683). Basis matrix: ([1, 0, 0], [-6, -5, 6], [12, -9, 1])

50-EDO tempers out (Ac1 → 81/80, Grddddddd-2 → 1220703125/1207959552). Basis matrix: ([1, 0, 0], [-4, 4, -1], [-27, -2, 13])

51-EDO tempers out (GrA1 → 250/243, GrGrddddd-1 → 17578125/16777216). Basis matrix: ([1, 0, 0], [1, -5, 3], [-24, 2, 9])

52-EDO tempers out (dAcm2 → 648/625, GrGrGrdd0 → 4428675/4194304). Basis matrix: ([1, 0, 0], [3, 4, -4], [-22, 11, 2])

53-EDO tempers out (ddAcm0 → 15625/15552, GrGrd0 → 32805/32768). Basis matrix: ([1, 0, 0], [-6, -5, 6], [-15, 8, 1])

...

There aren't many EDOs with more than 53-divisions that I think I worth thinking about. 72-EDO is sometimes used for analyzing middle eastern music:

72-EDO tempers out (ddAcm0 → 15625/15552, GrGrGrd0 → 531441/524288). Basis matrix: ([1, 0, 0], [-6, -5, 6], [-19, 12, 0])

and I've argued that 87-EDO is good for analyzing middle eastern music:

87-EDO tempers out (ddAcm0 → 15625/15552, GrGrGrGrddd3 → 67108864/66430125). Basis matrix: ([1, 0, 0], [-6, -5, 6], [26, -12, -3])

And that's enough for me. Let's try doing higher rank analyses of (6, 20, 24, 30, 36, 38, 44)-EDO.

...

Rank-4 analyses: 

6 EDO: M2 → 10/9, m2 → 16/15, SbSbAcm2 → 49/48. Basis matrix: ([1, 0, 0, 0], [1, -2, 1, 0], [4, -1, -1, 0], [-4, -1, 0, 2])

24 EDO: SbSbAcm2 → 49/48, Ac1 → 81/80, d2 → 128/125. Basis matrix: ([1, 0, 0, 0], [-4, -1, 0, 2], [-4, 4, -1, 0], [7, 0, -3, 0])

36 EDO: Ac1 → 81/80, d2 → 128/125, SbSbSbdd3 → 686/675. Basis matrix: ([1, 0, 0, 0], [-4, 4, -1, 0], [7, 0, -3, 0], [1, -3, -2, 3])

38 EDO: SpSpGrA0 → 50/49, Ac1 → 81/80, AA0 → 3125/3072. Basis matrix: ([1, 0, 0, 0], [1, 0, 2, -2], [-4, 4, -1, 0], [-10, -1, 5, 0])

With rank-4 intervals, 20-EDO still reduces to 10-EDO, and 30-EDO still reduces to 15-EDO, and 44-EDO still reduces to 22-EDO.

Higher! Let's go higher! Rank-5 analyses!

20 EDO: A1 → 25/24, Sbm2 → 28/27, SbSbAcm2 → 49/48, AsAsGrd1 → 121/120. Basis matrix: ([1, 0, 0, 0, 0], [-3, -1, 2, 0, 0], [2, -3, 0, 1, 0], [-4, -1, 0, 2, 0], [-3, -1, -1, 0, 2])

Sadly, 30-EDO and 44-EDO still don't work. Our minimal rank-5 commas are

30 EDO: Sbm2 → 28/27, SbSbAcm2 → 49/48, AsGr1 → 55/54, AsSbd2 → 77/75. Basis matrix: ([1, 0, 0, 0, 0], [2, -3, 0, 1, 0], [-4, -1, 0, 2, 0], [-1, -3, 1, 0, 1], [0, -1, -2, 1, 1])

whose absolute determinant is 15, and

44 EDO: SpSpGrA0 → 50/49, AsGr1 → 55/54, SpGr1 → 64/63, AsSpSpGrM0 → 99/98. Basis matrix: ([1, 0, 0, 0, 0], [1, 0, 2, -2], [-1, -3, 1, 0, 1], [6, -2, 0, -1], [-1, 2, 0, -2, 1])

whose absolute determinant is 22. I love all of the super-particular ratios that are showing up.

My program stopped working for mysterious reasons when I went up to rank-6 intervals, but I'm pretty sure I've figure the right solutions on my own out all the same.

The intervals tempered out by 30-EDO and 44-EDO with the smallest 13-limit just frequency ratios happen to be the same: They both temper out the interval justly associated with 169/168. This has coordinates [-3, -1, 0, -1, 0, 2] in the rank-6 prime harmonic basis: (P8, P12, M17, Sbm21, As25, Prm27). The interval is called a "prominent prominent super grave diminished unison", PrPrSpGrd1. If we tack this onto the (insufficient) rank-5 commas for 30-EDO and 44-EDO, we get matrices with absolute determinants of 30 and 44. I think they're also minimal, since all the other frequency ratios below are lower complexity than 169/168. If they were larger, then we'd have to see if they could be replaced by rank-6 commas besides PrPrSpGrd1.

30-EDO: Sbm2 → 28/27, SbSbAcm2 → 49/48, AsGr1 → 55/54, AsSbd2 → 77/75, PrPrSpGrd1 → 169/168. Basis matrix: ([1, 0, 0, 0, 0, 0], [2, -3, 0, 1, 0, 0], [-4, -1, 0, 2, 0, 0], [-1, -3, 1, 0, 1, 0], [0, -1, -2, 1, 1, 0], [-3, -1, 0, -1, 0, 2])

44 EDO: SpSpGrA0 → 50/49, AsGr1 → 55/54, SpGr1 → 64/63, AsSpSpGrM0 → 99/98, PrPrSpGrd1 → 169/168. Basis matrix: ([1, 0, 0, 0, 0, 0], [1, 0, 2, -2, 0, 0], [-1, -3, 1, 0, 1, 0], [6, -2, 0, -1, 0, 0], [-1, 2, 0, -2, 1, 0], [-3, -1, 0, -1, 0, 2])

So, it looks to me like a just analysis of 30-EDO or 44-EDO that's also regular is necessarily tridecimal.

...

I went back and looked at rank-2 intervals that can be tempered out to produce different EDOs, ignoring whether they form well ordered chromatic scales. These guys: [4, 6, 10, 14, 15, 20, 21, 24, 25, 28, 30, 34, 35, 36, 38, 44, 48, 51, 52, 54, 57, 58, 60, 62, 66, 68, 72, 76, 78, 82, 84, 85, 86, 87, 92, 93, 96, 100] as EDO divisions collapse down to smaller divisions if you try to define them by tempering out rank-2 intervals.

I won't post all the rank-3 commas for EDOs between 53-EDO and 100-EDO, but I do want to say more about which EDOs <= 100 divisions are representable by tempering two rank-3 intervals. Above 53-EDO, by tempering two rank-3 intervals, 
    (57-EDO reduced to 19), 
    (62-EDO reduced to 31),
    (66-EDO reduced to 22),
    (68-EDO reduced to 34),
    (76-EDO reduced to 19),
    (82-EDO reduced to 41),
    (86-EDO reduced to 43),
    (92-EDO reduced to 46),
    (93-EDO reduced to 31), and 
    (100-EDO reduced to 50). 

All the rest can be constructed by tempering. From this, and previously presented facts about rank-3 EDO reduction, we can say that [4, 10, 14, 15, 21, 25, 28, 34, 35, 48, 51, 52, 54, 58, 60, 72, 78, 84, 85, 87, 96]-EDO can be constructed by tempering two rank-3 intervals but not by tempering out one rank-2 interval.

How about [57, 62, 66, 68, 76, 82, 86, 92, 93, 100]-EDO? Are they rank-4, -5,  -6, or higher?

Rank-4 EDOs:

57-EDO: Ac1 → 81/80, SbSbSbAcAcm2 → 1029/1024, AA0 → 3125/3072. Basis matrix: ([1, 0, 0, 0], [-4, 4, -1, 0], [-10, 1, 0, 3], [-10, -1, 5, 0])

62-EDO is not rank-4 temperable.

66-EDO: GrA1 → 250/243, SbSbSbdd3 → 686/675, SbSbSbAcAcm2 → 1029/1024. Basis matrix: ([1, 0, 0, 0], [1, -5, 3, 0], [1, -3, -2, 3], [-10, 1, 0, 3])

68 EDO: SbSbm2 → 245/243, Grd2 → 2048/2025, SbSbSbSbAcdd3 → 2401/2400. Basis matrix: ([1, 0, 0, 0], [0, -5, 1, 2], [11, -4, -2, 0], [-5, -1, -2, 4])

76 EDO: Ac1 → 81/80, SbSbSbSbAcdd3 → 2401/2400, AA0 → 3125/3072. Basis matrix: ([1, 0, 0, 0], [-4, 4, -1, 0], [-5, -1, -2, 4], [-10, -1, 5, 0])

82-EDO is not rank-4 temperable.

86 EDO: Ac1 → 81/80, SpSpGrd1 → 6144/6125, SbSbSbSbAcdddd4 → 9604/9375. Basis matrix: ([1, 0, 0, 0], [-4, 4, -1, 0], [11, 1, -3, -2], [2, -1, -5, 4])

92-EDO is not rank-4 temperable.

93-EDO is not rank-4 temperable.

100-EDO: Ac1 → 81/80, SpSpGrd1 → 6144/6125, SpSpSpSpGrAAAAA-2 → 78125/76832. Basis matrix: ([1, 0, 0, 0], [-4, 4, -1, 0], [11, 1, -3, -2], [-5, 0, 7, -4])

Okay, now rank-5 analyses.

62-EDO is not rank-5!

82-EDO is not rank-5!

92-EDO is not rank-5!

93-EDO: Ac1 → 81/80, SbAcd2 → 126/125, SbSbSbAcAcm2 → 1029/1024, DeDeDeSbAcAcM2 → 1344/1331. Basis matrix: ([1, 0, 0, 0, 0], [-4, 4, -1, 0, 0], [1, 2, -3, 1, 0], [-10, 1, 0, 3, 0], [6, 1, 0, 1, -3])

Rank-6 analyses:

My program isn't working with rank-6 intervals, but let's try to figure it out by hand.

Our old friend PrPrSpGrd1, justly tuned to 169/168 and given by the coordinates (-3, -1, 0, -1, 0, 2) in the rank-6 prime harmonic basis is tempered out by 62-EDO, and I don't believe there's a rank-6 comma with a simpler just frequency ratio that's tempered out by 62-EDO, so let's just try appending that to the (insufficient) rank-5 commas.

62 EDO: Ac1 → 81/80, AsSpSpGrM0 → 99/98, AsAsGrd1 → 121/120, SbAcd2 → 126/125, PrPrSpGrd1 → 169/168. Basis matrix: ([1, 0, 0, 0, 0, 0], [-4, 4, -1, 0, 0, 0], [-1, 2, 0, -2, 1, 0], [-3, -1, -1, 0, 2, 0], [1, 2, -3, 1, 0, 0], [-3, -1, 0, -1, 0, 2])

It seems to work, based on the determinant of the matrix! Probably minimal as well.

82-EDO and 92-EDO also temper out PrPrSpGrd1, but 82-EDO's rank-5 commas had some complex just frequency ratios and 92-EDO has a simpler 13-limit tempered comma: 91/90. So we'll have to do some fancy footwork with those. Let's start by testing the determinant of the basis matrix when we append the PrPrSpGrd1 to the rank-5 commas for 82-EDO.

82 EDO: DeA1 → 100/99, SpA0 → 225/224, DeDeAcAcA1 → 243/242, DeDeSbSbAcAcM2 → 245/242, PrPrSpGrd1 → 169/168. Basis matrix: ([1, 0, 0, 0, 0, 0], [2, -2, 2, 0, -1, 0], [-5, 2, 2, -1, 0, 0], [-1, 5, 0, 0, -2, 0], [-1, 0, 1, 2, -2, 0], [-3, -1, 0, -1, 0, 2])

The absolute determinant is 82. And the next rank-6 interval that's tempered out by 82-EDO, if we order them by the size of the numerators of their just frequency ratios, is 676/675, which is larger than all the other frequency ratios of the basis above. So I think we've yet again gotten a minimal basis by appending PrPrSpGrd1. Weird and cool.

Finally, 92-EDO. The insufficient rank-5 commas were:

92 EDO: AsAsGrd1 → 121/120, SbAcd2 → 126/125, AsSpGrd1 → 176/175, SbSbm2 → 245/243. Basis matrix: ([1, 0, 0, 0, 0], [-3, -1, -1, 0, 2], [1, 2, -3, 1, 0], [4, 0, -2, -1, 1], [0, -5, 1, 2, 0])

For this one, we also have to consider the prominent sub diminished second, PrSbd2, justly tuned to 91/90, with coordinates (-1, -2, -1, 1, 0, 1) in the rank-6 prime harmonic basis.

If I use both Prsbd2 and PrPrSpGrd1, knocking out SbSbm2, then the absolute determinant is 46. Using Prsbd2 and SbSbm2, but not PrPrSpGrd1, again we get an absolute determinant of 46. Tacking on PrPrSpGrd1 to the rank-5 commas gives 92.... I wish I knew some math.

...

I made some conceptual progress. I was writing it up in detail and then all my text disappeared. So here it is briefly.

Consider how 24-EDO tuned the prime harmonics to various steps. Here we have steps for harmonics (2, 3, 5, 7, 11, 13, 17, 19):

    24-EDO: [24, 38, 56, 67, 83, 89, 98, 102]

When I say 56 steps is how 24-EDO tunes the 5th harmonic, it would be more technically correct to say that we can define a 24-EDO which tunes the M17 (which is justly to to 5/1) to 2^(56/24), which is like 14 cents sharp of the pure value. To find the closest step, we find {i} which solves this equation 
 
   5/1 = 2^(i / 24)

and round it to the nearest integral step, so that 24-EDO tunes M17 to
    round(24 * log_2(5))

which is 56.

You can see that the first three harmonics are all tuned to even values. If we define our intervals by combinations of the first three harmonics and all of them are tuned to even steps, then of course we won't get any intervals tuned to odd steps, and the whole thing collapses to 12-EDO. The fact that the first prime harmonic tuned to an odd number of steps is the 7th harmonic, and the fact that 7 is the fourth prime, is most of the explanation of why 24-EDO is minimally analyzed with rank-4 interval space.

There's another subtlety that I haven't figured out when the EDO itself has an odd number of divisions. In this case, the 2nd harmonic, the octave, is always tuned to an odd number of steps, but clearly such an EDO can not be called rank-1: Like for 9-EDO, you can't add and subtract 9 from itself repeatedly to get all the integers between 0 and 9. Are all odd-divisioned EDOs rank 2 though? I'll have to check.

First, here's a table of predicted minimal-ranks for EDOs with even division between 5 and 100, based on the first harmonic which is tuned to an odd number of steps: 

rank-2: [8, 12, 16, 18, 22, 26, 32, 36, 40, 42, 46, 50, 56, 60, 64, 66, 70, 74, 80, 84, 88, 90, 94, 98]
rank-3: [10, 14, 28, 34, 48, 52, 54, 58, 72, 78, 96]
rank-4: [6, 24, 38, 68, 76, 86, 100]
rank-5: [20]
rank-6: [30, 44, 62, 82]
rank-8: [92]

Does that match my previous analysis? Usually, but not always? This predicts that 36-EDO is rank-2, when I thought it was rank-4. It also incorrectly calls 60-EDO and 84-EDO rank-2. The rest might be correct though? We're definitely getting somewhere.

Let's look at 35-EDO in more details. Here are the tunings in steps of the prime harmonics up to 19:

    [36, 57, 84, 101, 125, 133, 147, 153]

If we take integers {a} and {b}, then expressions of the form {36a + 57b) won't produce all the integers between 0 and 36, but only those divisible by 3: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36].

We get the same set of positive integers divisible by 3 if we look at expressions of the form {a * 36 + b * 57 + c * 84}.

And it's only when we expand to expressions of the form {a * 36 + b * 57 + c * 84 + d * 101} that we get all of the integers below 36.

So how about this: looking for the first odd harmonic is like filtering out the case where all the first few harmonics are all divisible by 2, but we also want to filter out the case we're they're all divisible by 3 or something else. Thus the minimal-rank interval space needed to analyze a given EDO might instead by found by the smallest number of sequential prime harmonics such that the set has {1} as its greatest common divisor.

Let's look at 60-EDO to investigate. Here are its prime harmonic intervals, up to the one justly tuned to 19/1, but now tuned to 60-EDO steps: [60, 95, 139, 168, 208, 222, 245, 255]. Brief inspection tells us that 60-EDO must be rank-3, based on these facts:
    GCD(60) = 60
    GCD(60, 95) = 5
    GCD(60, 95, 139) = 1.
.

Let's see how this fares on EDOs with odd numbers of divisions.

Here's our new and improved GCD classification, with rank on the left and EDO divisions on the right:

    rank-2: [5, 7, 8, 9, 11, 12, 13, 16, 17, 18, 19, 22, 23, 26, 27, 29, 31, 32, 33, 37, 39, 40, 41, 42, 43, 45, 46, 47, 49, 50, 53, 55, 56, 59, 61, 63, 64, 65, 67, 69, 70, 71, 73, 74, 75, 77, 79, 80, 81, 83, 88, 89, 90, 91, 94, 95, 97, 98, 99]
    rank-3: [10, 14, 15, 21, 25, 28, 34, 35, 48, 51, 52, 54, 58, 60, 72, 78, 84, 85, 87, 96]
    rank-4: [6, 24, 36, 38, 57, 66, 68, 76, 86, 100]
    rank-5: [20, 93]
    rank-6: [30, 44, 62, 82]
    rank-8: [92]

This looks really good to me. I think I've nailed this. If you want to define an EDO by tempering out commas instead of rounding harmonics, I think there's some mystery remaining, but at least this tells us the rank of the EDO. 

Here's the summary of the above that I posted on a discord: I figured out a neat thing today. Background: You can't get 24-EDO by tempering out a rank-2 interval, or by tempering out two rank-3 intervals. 24-EDO is minimally rank-4, in that lower rank-intervals just collapse down to 12-EDO. I was curious how to predict the minimal rank for each EDO. Here's how: Look at the patent tuning for the first few prime harmonics. The size of the smallest set of sequential prime harmonics which has GCD = 1 will be the minimal rank of the EDO. For example, the prime harmonics of 60-EDO start [60, 95, 139, 168, 208, 222, 245, 255, ...]. This can't be rank-1 because GCD(60) = 60, nor rank-2 because GCD(60, 95) = 5. We see that 60-EDO is minimally analyzed as being rank-3, since GCD(60, 95, 139) = 1.

The fact of 92-EDO being minimally analyzable in rank-8 interval     space is pretty wild. Here are all of the EDOs with rank >= 6, for divisions below 600:

    6 : [30, 44, 62, 82, 136, 144, 218, 404, 478, 496, 510]
    7 : [174, 448, 540]
    8 : [92]
    9 : [322]

Pretty cool. Rank-8 means you need an interval for a comma whose justly tuned frequency ratio has a 19 in its factorization, and rank-9 would require a comma with a just tuning that has a factor of 23. I wonder if this also presents an argument that higher rank analyses are *not* necessary. Anyone looking at factors of 29 or more is ...not paying attention to the low complexity that EDOs require? Maybe not.

I wonder if there's a procedure to quickly compute a set of commas can that can be tempered to produce the EDO.

...

Suppose I have found the shortest tempered comma of each prime limit for an EDO. Like 82-EDO requires rank-6 intervallic interpretations, so up to rank 6 we have:
    
    36893488147419103232/36472996377170786403 # rank-2 (3-limit)
    3125/3072 # rank-3 (5-limit)
    225/224 # rank-4 (7-limit)
    100/99 # rank-5 (11-limit)
    169/168 # rank-6 (13-limit)

and also I accidentally looked at 82-EDO instead of 92-EDO, and 92-EDO requires a rank-8 interpretation, so I also found small commas for 82-EDO up to rank-8:

    221/220 # rank-7 (17-limit)
    133/132 # rank-8 (19-limit)

Just dropping those in for flavor. 

Anyway, if we have the smallest comma of each prime limit, that should make a functional basis for defining the EDO, I think. But it's an ugly one.

So then we look for a few tempered commas with small associated fractions that aren't necessarily the shortest for each prime limit, like:  (243/242), (245/242), (245/243), (441/440), (540/539), (625/616), (676/675), (875/864).

Those first three fractions look a little crazy, but they're real. Anyway, now we hope we can mix some of those in to replace longer fractions in the EDO basis, and now we've got a basis with small commas. For some reason. I forget why this is useful. 

Oh right, because even though EDOs are 1D in frequency space, their intervallic interpretations live in higher dimensional interval spaces, and wouldn't it be nice if we could describe those spaces without having to make reference to garbage like 36893488147419103232/36472996377170786403 # rank-2 (3-limit). I think it would be nice. No one needs to look at that to understand 82-EDO.

...

No comments:

Post a Comment