Rank-3 Schismatic And Syntonic Temperaments

I was writing music in 5-limit just intonation, and I discovered that the Pythagorean d7 (also called a GrGrGrd7  in 5-limit J.I. and tuned to 32768/19683 in either system) sounds the same as the 5-limit major sixth (tuned to 5/3). They only differ by like two cents. The difference is called the schisma, which is more formally an AcAcA0, justly tuned to 32805/32768. Since I can't hear the difference, I was curious what happens if we temper out the schisma, t(AcAcA0) = 1/1. Presumably, our 3D lattice for Just Intonation reduces by a dimension, and we get a 2D lattice (which might make a nice 2D keyboard layout). 

To define the spacing of the other two dimensions, I had to pick tunings for two more intervals. I went with pure octaves, t(P8) = 2/1, and pure major thirds, t(M3) = 5/4. How do we figure out the tuned values for other rank-3 intervals using those three tuned values?

I don't know how the people on the Xenharmonic wiki do it, but here's how we do it with Cramer's rule.

Let's start with coordinates for some simple rank-3 intervals that we want to tune. I'll represent them in the (P8, P12, M17) basis, a.k.a. the 5-limit prime harmonic basis, which is justly tuned to (2/1, 3/1, 5/1).

P1 = (0, 0, 0) # 1/1
AcAcA0 = (-15, 8, 1) # 32805/32768
Ac1 = (-4, 4, -1) # 81/80
d2 = (7, 0, -3) # 128/125
A1 = (-3, -1, 2) # 25/24
Grm2 = (8, -5, 0) # 256/243
m2 = (4, -1, -1) # 16/15
M2 = (1, -2, 1) # 10/9
AcM2 = (-3, 2, 0) # 9/8
AcA2 = (-6, 1, 2) # 75/64
Grm3 = (5, -3, 0) # 32/27
m3 = (1, 1, -1) # 6/5
M3 = (-2, 0, 1) # 5/4
AcM3 = (-6, 4, 0) # 81/64
d4 = (5, 0, -2) # 32/25
P4 = (2, -1, 0) # 4/3
Ac4 = (-2, 3, -1) # 27/20
A4 = (-1, -2, 2) # 25/18
d5 = (2, 2, -2) # 36/25
Gr5 = (3, -3, 1) # 40/27
P5 = (-1, 1, 0) # 3/2
A5 = (-4, 0, 2) # 25/16
Grm6 = (7, -4, 0) # 128/81
m6 = (3, 0, -1) # 8/5
GrGrGrd7 = (15, -9, 0) # 32768/19683
M6 = (0, -1, 1) # 5/3
AcM6 = (-4, 3, 0) # 27/16
Grd7 = (7, -1, -2) # 128/75
Grm7 = (4, -2, 0) # 16/9
m7 = (0, 2, -1) # 9/5
M7 = (-3, 1, 1) # 15/8
d8 = (4, 1, -2) # 48/25
P8 = (1, 0, 0) # 2/1

After the "#" symbols I show the just tunings for those intervals, but now I want to detune some of them so that we can put 5-limit just intonation on a 2D lattice, and particularly a 2D lattice in which the schisma, which I can't hear, is tempered out.

Okay, so, our new basis is going to be (AcAcA0, P8, M3). In the (P8, P12, M17) basis, this basis is a matrix with coordinates [(-15, 8, 1), (1, 0, 0), (-2, 0, 1)]. This matrix isn't unimodular: it doesn't have determinant 1 or -1, so it can't represent just intonation intervals in integer coordinates. It happens to have determinant 8, and we'll see that the coordinates in this basis have denominators of 8.

To get coordinates (x, y, z) in the (AcAcA0, P8, M3) basis for an interval with coordinates (m, n, o) in the (P8, P12, M17) basis, we're going to use Cramer's rule, just as ejlilley taught us to do for rank-2 intervals.

def rank_3_lilley_cramer_formula(B1, B2, B3, interval):

(m, n, o) = interval

(a, b, c) = B1

(d, e, f) = B2

(g, h, i) = B3

detA = a * (e * i - f * h) - b * (d * i - f * g) + c * (d * h - e * g)

x = (m * (e * i - f * h) - n * (d * i - f * g) + o * (d * h - e * g)) / detA

y = (a * (n * i - o * h) - b * (m * i - o * g) + c * (m * h - n * g)) / detA

z = (a * (e * o - f * n) - b * (d * o - f * m) + c * (d * n - e * m)) / detA

return (x, y, z)

So, for

    B1 = (a, b, c) = AcAcA0 = (-15, 8, 1)

    B2 = (d, e, f) = P8 =  (1, 0, 0)

    B3 = (g, h, i) = M3 =  (-2, 0, 1)

we can see that M6 and GrGrGrd7 have coordinates in  the (AcAcA0 , P1, M3) basis that only differ in the first component:

    M6 = (-1/8, 3/8, 9/8)

    GrGrGrd7 = (-9/8, 3/8, 9/8)

Since our schismatic temperament tunes the AcAcA0 to 1/1, it doesn't matter what coordinates we have for that component, since 1 raised to any real power is going to to be 1. In particular, both of those intervals are tuned to

    (2)^(3/8) * (5/4)^(9/8) ~ 1.666901790204155

in this temperament. You might wonder if this simplifies at all when you expand out the fraction raised to a fractional power. It ends up being 5 * 10^(1/8) / 4. So not really. The 5-limit just value of M6 is 5/3 = 1.6666 repeating 6s, so we're doing well with representing our 5-limit fractions. How about our old 3-limit fractions? Well, this temperament tunes P5 to 
    (2)^(5/8) * (5/4)^(-1/8) = 1.4997884186649115

which is like 0.2 cents off from the just value of 3/2. Pretty bang up job, right? I think I've done a bang up job.

One down side is that a keyboard arranged in P8s and M3s would be hard to play, I think. And also the interval coordinates are fractional, so the grid might be a little slanty or something. But I think we can fix that: pick whatever intervals you think make a nice 2d arrangement for playing then tune them to the values of this great (AcAcA0, P8, M3) -> (1/1, 2/1, 5/4) temperament. Then the frequency ratios will be the same and the grid will be good as well. I think that's an option. You can define the temperament in different ways once you know the induced frequency ratios. You just need two points independent of AcAcA0. Maybe M2 and m2 would make a nice layout for example. To do those, you just need:

t(m2) = 4 * 10^(1/8) / 5
t(M2) = 5 * 10^(1/4) / 8

Here are a bunch of tuned values for simple intervals in this schismatic temperament with pure octaves and pure 5-limit major thirds:

     P1 = (0, 0, 0) # (2)^(0) * (5/4)^(0) = 1/1
Ac1 = (-4, 4, -1) # (2)^(1/2) * (5/4)^(-3/2) ~ 1.0119288512538815
d2 = (7, 0, -3) # (2)^(1) * (5/4)^(-3) = 128/125
A1 = (-3, -1, 2) # (2)^(-5/8) * (5/4)^(17/8) ~ 1.0418136188775968
Grm2 = (8, -5, 0) # (2)^(-1/8) * (5/4)^(5/8) ~ 1.0542412585714556
m2 = (4, -1, -1) # (2)^(3/8) * (5/4)^(-7/8) ~ 1.0668171457306592
M2 = (1, -2, 1) # (2)^(-1/4) * (5/4)^(5/4) ~ 1.1114246312743268
AcM2 = (-3, 2, 0) # (2)^(1/4) * (5/4)^(-1/4) ~ 1.1246826503806981
Grm3 = (5, -3, 0) # (2)^(1/8) * (5/4)^(3/8) ~ 1.1856868528308278
m3 = (1, 1, -1) # (2)^(5/8) * (5/4)^(-9/8) ~ 1.1998307349319293
M3 = (-2, 0, 1) # (2)^(0) * (5/4)^(1) = 5/4
AcM3 = (-6, 4, 0) # (2)^(1/2) * (5/4)^(-1/2) ~ 1.2649110640673518
d4 = (5, 0, -2) # (2)^(1) * (5/4)^(-2) = 32/25
P4 = (2, -1, 0) # (2)^(3/8) * (5/4)^(1/8) ~ 1.333521432163324
Ac4 = (-2, 3, -1) # (2)^(7/8) * (5/4)^(-11/8) ~ 1.3494288109714632
A4 = (-1, -2, 2) # (2)^(-1/4) * (5/4)^(9/4) ~ 1.3892807890929082
d5 = (2, 2, -2) # (2)^(5/4) * (5/4)^(-9/4) ~ 1.4395937924872935
Gr5 = (3, -3, 1) # (2)^(1/8) * (5/4)^(11/8) ~ 1.4821085660385345
P5 = (-1, 1, 0) # (2)^(5/8) * (5/4)^(-1/8) ~ 1.4997884186649115
A5 = (-4, 0, 2) # (2)^(0) * (5/4)^(2) = 25/16
Grm6 = (7, -4, 0) # (2)^(1/2) * (5/4)^(1/2) ~ 1.5811388300841898
m6 = (3, 0, -1) # (2)^(1) * (5/4)^(-1) = 8/5
M6 = (0, -1, 1) # (2)^(3/8) * (5/4)^(9/8) ~ 1.666901790204155
AcM6 = (-4, 3, 0) # (2)^(7/8) * (5/4)^(-3/8) ~ 1.686786013714329
Grm7 = (4, -2, 0) # (2)^(3/4) * (5/4)^(1/4) ~ 1.7782794100389228
m7 = (0, 2, -1) # (2)^(5/4) * (5/4)^(-5/4) ~ 1.799492240609117
M7 = (-3, 1, 1) # (2)^(5/8) * (5/4)^(7/8) ~ 1.8747355233311396
d8 = (4, 1, -2) # (2)^(13/8) * (5/4)^(-17/8) ~ 1.9197291758910868
P8 = (1, 0, 0) # (2)^(1) * (5/4)^(0) = 2/1

I experimented with a bunch of bases/layouts, and I think this one is nice:


Meantone temperaments are named based on how they alter P5. For example, quarter comma meantone lowers the tuned value of the perfect fifth from the just value by a factor of (81/80)^(1/4). The base, 81/80, is the just value for the syntonic comma, and the exponent, 1/4, explains why the system is called quarter comma meantone. Here's a big set of meantone temperament definitions:
    (Ac1, P5, P8), (1, 3/2, 2) # Pythagorean tuning (0-comma meantone)
    t(Ac1, AcA4, P8) = (1, 45/32, 2) # 1/6-comma meantone
    t(Ac1, M3, P8) = (1, 5/4, 2) # 1/4-comma meantone
    t(Ac1, m3, P8) = (1, 6/5, 2) # 1/3-comma meantone 
    t(Ac1, M2, P8) = (1, 10/9, 2) # 1/2-comma meantone
    t(Ac1, m2, P8) = (1, 16/15, 2) # 1/5-comma meantone
    t(Ac1, A1, P8) = (1, 25/24, 2) # 2/7-comma meantone

The schismatic temperament I defined in this post tuned P5 to (2)^(5/8) * (5/4)^(-1/8), which simplifies to 10^(7/8)/5. I didn't want to solve for the exponent, but WolframAlpha assures me that this is flat of (3/2) by the eighth root of the tuned schisma:
    (3/2) / (32805/32768)^(1/8) = 10^(7/8)/5

so I think I've defined the "1/8-comma schismatic temperament", where the comma is now the schisma instead of the acute unison.

Do you want to see what other schismatic temperaments we can define and what they shall be named? I know I do!

If we tune P5 purely, we get Pythagorean tuning again of course. We already know that tuning M3 to a pure 5/4 gives us 1/8-comma schismatic. 

If we tune m3 to a pure 6/5, we get 1/9 comma schismatic, since:
    (6/5)^(1/9) * 2^(5/9)= (3/2) / (32805/32768)^(1/9)

If we tune M2 to a pure (10/9), then we get 1/10-comma schismatic, since
    (10/9)^(-1/10) * 2^(3/5) = (3/2) / (32805/32768)^(1/10)

If we tune m2 to a pure 16/15, then we get 1/7 schismatic, since
    (16/15)^(1/7) * 2^(4/7) = (3/2) / (32805/32768)^(1/7) 

It sure looks like the comma is in the exponent on the left  hand side every time, and it's the exponent of the tuned value of the interval that we're altering between temperaments (not the 2/1 base for the octave). 

So if we define a tuning system by 
    t(AcAcA0, AcA4, P8) = (1, 45/32, 2)

we get a tuned value of  
    (45/32)^(-1/6) * 2^(2/3)
for P5.

I bet we'll find that this is 1/6-comma schismatic. Let's check.
    (45/32)^(-1/6) * 2^(2/3) = (3/2) / (32805/32768)^(1/6)

WolframAlpha says True! Nice.

If we define a schismatic temperament in which we purely tune A1 to 25/24, we get a t(P5) of
    (25/24)^(-1/17) * 2^(10/17)

Do we therefore get 1/17-comma schismatic? Nope! We get 2/17-comma schismatic
     (25/24)^(-1/17) * 2^(10/17) = (3/2) / (32805/32768)^(2/17)

So I guess I don't know the rule. But I'll figure it out. In the meantime, these are still nice names for the temperaments.

I'm going to do a few more. Still tempering out the schisma, still tuning the octave purely, let's just name the last interval that's tuned purely. Here's a big condensed table, arranged by increasing denominators in the fractional comma:

P5 -> 3/2: 0-comma schismatic (Pythagorean tuning)
Grd4 -> 512/405: 1/4-comma schismatic.
AcA4 -> 45/32: 1/6-comma schismatic.
m2 -> 16/15: 1/7-comma schismatic.
M3 -> 5/4: 1/8-comma schismatic. Also d2 -> 128/125. Also d4 -> 32/25.
m3 -> 6/5: 1/9-comma schismatic. Also A2 -> 125/108. Also A4 -> 25/18.
M2 -> 10/9: 1/10-comma schismatic. Also GrM3 -> 100/81.
Ac4 -> 27/20: 1/11-comma schismatic
Ac1 -> 81/80: 1/12-comma schismatic.
Gr4 -> 320/243: 1/13-comma schismatic.
AcA2 -> 75/64: 2/15-comma schismatic.
A1 -> 25/24: 2/17-comma schismatic.
Acm2 -> 27/25: 2/19-comma schismatic.
Acm3 -> 243/200: 2/21-comma schismatic.
A3 -> 125/96: 3/25-comma schismatic.
d3 -> 144/125: 3/26-comma schismatic.
GrA1 -> 250/243: 3/29-comma schismatic.
GrA3 -> 625/486: 4/37-comma schismatic.
GrA2 -> 2500/2187: 4/39-comma schismatic.

I'm pretty intrigued by what's showing up so far and what's not. But I don't know how to use these things musically, so maybe it's best that I stop monkeying around.

...

Or I could monkey around with the meantone temperaments a little? For all of these tuning systems, I'll tune Ac1 to 1/1 and tune P8 to 2/1, and I'll just list the third interval that's tuned purely and what system results:
    A3 -> 125/96: 3/11-comma meantone.
    A4 -> 25/18: 1/3-comma meantone again.
    Ac4 -> 27/20: 1/1-comma meantone.
    AcA2 -> 75/64: 2/9-comma meantone.
    Acd1 -> 243/250: 3/8-comma meantone.
    Acd2 -> 648/625: 1/3-comma meantone again.
    Acm2 -> 27/25: 2/5-comma meantone.
    Acm3 -> 243/200: 2/3-comma meantone.
    Gr4 -> 320/243: negative 1/1-comma meantone?
    GrA1 -> 250/243: 3/7-comma meantone.
    GrA2 -> 2500/2187: 4/9-comma meantone.
    GrA3 -> 625/486: 4/11-comma meantone.
    GrA4 -> 1000/729: 1/2-comma meantone again.
    GrM2 -> 800/729: 1/1-comma meantone again.
    GrM3 -> 100/81: 1/2-comma meantone again.
    Grd2 -> 2048/2025: 1/6-comma meantone again.
    Grd3 -> 256/225: 1/5-comma meantone again
    Grd4 -> 512/405: 1/4-comma meantone again
    d3 -> 144/125: 3/10-comma meantone.
    d4 -> 32/25: 1/4-comma meantone again.
    AcA1 -> 135/128: 1/7-comma meantone.
...

And here they all are sorted by increasing comma fraction denominators:
P5 -> 3/2: Pythagorean tuning (0-comma meantone)
Gr4 -> 320/243: negative 1/1-comma meantone?
Ac4 -> 27/20: 1/1-comma meantone.
GrM2 -> 800/729: 1/1-comma meantone again.
M2 -> 10/9: 1/2-comma meantone.
GrM3 -> 100/81: 1/2-comma meantone again.
GrA4 -> 1000/729: 1/2-comma meantone again.
m3 -> 6/5: 1/3-comma meantone.
Acd2 -> 648/625: 1/3-comma meantone again.
A4 -> 25/18: 1/3-comma meantone again.
Acm3 -> 243/200: 2/3-comma meantone.
M3 -> 5/4: 1/4-comma meantone.
d4 -> 32/25: 1/4-comma meantone again.
Grd4 -> 512/405: 1/4-comma meantone again.
m2 -> 16/15: 1/5-comma meantone.
Grd3 -> 256/225: 1/5-comma meantone again.
Acm2 -> 27/25: 2/5-comma meantone.
AcA4 -> 45/32: 1/6-comma meantone.
Grd2 -> 2048/2025: 1/6-comma meantone again.
AcA1 -> 135/128: 1/7-comma meantone.
A1 -> 25/24: 2/7-comma meantone.
GrA1 -> 250/243: 3/7-comma meantone.
Acd1 -> 243/250: 3/8-comma meantone.
AcA2 -> 75/64: 2/9-comma meantone.
GrA2 -> 2500/2187: 4/9-comma meantone.
d3 -> 144/125: 3/10-comma meantone.
A3 -> 125/96: 3/11-comma meantone.
GrA3 -> 625/486: 4/11-comma meantone.

I have no idea what to make of this. Neat though, right?

Questions for people who are better at math than me: Are 1/8-comma meantone or 2/11-comma meantone possible? Is 1/14-comma schismatic possible? How about 2/23-comma schismatic or 3/23-schismatic?

...

Oh, good. I figured out how to derive the comma fractions from the tuning system. Now I don't have to wait for WolframAlpha to solve them. And that means I can iterate over weird temperament tuning systems automatically to find weird fractional commas.

Basically, if we have a basis (B1, B2, B3) tuned (t(B1), t(B2), t(B3)), with B1 equal to the tempered comma, B2 an interval of interest that we'll tune justly, and B3 equal to the octave, also tuned justly, then if the tempered coordinates for P5 are (m, n, o), we have empirically

     t(B2)^ n * t(B3)^o = t(P5) / t(B1)^(x)

in frequency space, which corresponds to
     B2 * n + B3 * o = P5 - B1 * (x)

in interval space. With a little rearrangement, 
    x = (P5 - (B2 * n + B3 * o)) / B1

For example, if we define a temperament by t(Ac1, M3, P8) = (1/1, 5/4, 2/1), then this equation becomes:

    x =  (-1/1, 1/1, -1/4) / (-4, 4, -1)

Now, if you divide the vectors elementwise, you get (1/4, 1/4, 1/4) confirming that this is quarter-comma meantone. I don't know any reason why this should always work (or always work when B2 is independent of each B1 and B3), in the sense that the three entries of x are always equal, but it works empirically and I'll continue on investigating in this manner.

Okay, here are some meantone/Ac1 temperaments defined by the fractional power of the justly tuned Ac1 that you flatten P5 on the left and the interval that you tune purely on the right:
-1/2 Ac1 temperament: AcAcM2
-1/1 Ac1 temperament: Gr4
0/1 Ac1 temperament: AcM2, AcM3, Grm2, Grm3
1/1 Ac1 temperament: GrM2
1/2 Ac1 temperament: AcAcd4, GrM3, M2
1/3 Ac1 temperament: A2, Acd2, Acdd4, Acddd3, GrAAA1, m3
2/3 Ac1 temperament: Acm3
1/4 Ac1 temperament: M3, d2, d4
3/4 Ac1 temperament: GrGrM3
1/5 Ac1 temperament: Grd3, m2
2/5 Ac1 temperament: Acd3, Acm2
3/5 Ac1 temperament: AcAcm2
1/7 Ac1 temperament: AcA1
2/7 Ac1 temperament: A1, AA1
3/7 Ac1 temperament: GrA1
3/8 Ac1 temperament: Acd4, GrAA2
2/9 Ac1 temperament: AcA2
4/9 Ac1 temperament: GrA2
3/10 Ac1 temperament: d3, ddd5
3/11 Ac1 temperament: A3
4/11 Ac1 temperament: GrA3
5/12 Ac1 temperament: AcAcd2
5/14 Ac1 temperament: GrAA1
4/15 Ac1 temperament: dd4
5/16 Ac1 temperament: AA2
5/17 Ac1 temperament: dd3
6/17 Ac1 temperament: Acdd3
6/19 Ac1 temperament: GrAA0
7/22 Ac1 temperament: Acddd4
7/23 Ac1 temperament: AAA2
.
And here are some schismatic/AcAcA0 temperament definitions:
0/1 AcAcA0 temperament: AcM2, AcM3, Grm2, Grm3
1/5 AcAcA0 temperament: AcA1
1/7 AcAcA0 temperament: Grd3, m2
1/8 AcAcA0 temperament: M3, d2, d4
1/9 AcAcA0 temperament: A2, Acd2, Acdd4, Acddd3, GrAAA1, m3
1/10 AcAcA0 temperament: AcAcd4, GrM3, M2
1/11 AcAcA0 temperament: GrM2
1/13 AcAcA0 temperament: Gr4
1/14 AcAcA0 temperament: AcAcM2
2/15 AcAcA0 temperament: AcA2
2/17 AcAcA0 temperament: A1, AA1
2/19 AcAcA0 temperament: Acd3, Acm2
2/21 AcAcA0 temperament: Acm3
3/25 AcAcA0 temperament: A3
3/26 AcAcA0 temperament: d3, ddd5
3/28 AcAcA0 temperament: Acd4, GrAA2
3/29 AcAcA0 temperament: GrA1
3/31 AcAcA0 temperament: AcAcm2
3/32 AcAcA0 temperament: GrGrM3
4/33 AcAcA0 temperament: dd4
4/37 AcAcA0 temperament: GrA3
4/39 AcAcA0 temperament: GrA2
5/43 AcAcA0 temperament: dd3
5/44 AcAcA0 temperament: AA2
5/46 AcAcA0 temperament: GrAA1
5/48 AcAcA0 temperament: AcAcd2
6/53 AcAcA0 temperament: GrAA0
6/55 AcAcA0 temperament: Acdd3
7/61 AcAcA0 temperament: AAA2
7/62 AcAcA0 temperament: Acddd4
.
...

I just had the best idea! I'll sort the temperaments within a family by the size of their P5s, and sort them alongside EDOs that temper out the (syntonic, schismatic)-commas as well. That way we can be like, "this two dimensional temperament has a very close P5 to the one-dimensional 45-EDO" or whatever. And maybe that will help me to figure out range limits on the fractional commas! Like, if you temper out the syntonic comma and keep octaves pure, then tuning a third octave purely seems to put pretty tight constraints on how P5 gets tuned, and maybe we can say that tempered Ac1 and pure P8 means that P5 has to fall between, oh, 5-EDO's P5 and 7-EDO's P5, or something like that!

...

Ah! From preliminary investigation, it seems that the flattest P5 you get with schismatic temperaments comes with 1/2-comma schismatic, which tunes GrGrd3 purely. GrGrd3 is tuned justly to 32768/32805, which is the inverse of the schisma, the AcAcA0, justly tuned to 32805/32768. That I did not expect. The sharpest we go with P5 for schismatic temperaments is a frequency ratio of 3/2 in 0-comma schismatic, i.e. Pythagorean tuning. And all the fractional commas fall between 1/2 and 0/1.

Maybe that's not really the case though? Because when I investigate syntonic temperaments, the range seems to go quite a bit wider in both directions. For example, a syntonic temperament defined by tuning GrGrGrGrM2 purely produces 5/2-comma syntonic, which is obviously more than 1 comma flat. On the other side of a just P5, by purely tuning GrGrGrGr4, we get negative4-comma syntonic, which is sharper than P5 by four acute unisons, i.e. 86ish cents. And I wouldn't be at all surprised if these bounds kept increasing as I tried defining weirder temperaments from weirder purely tuned intervals.

And if syntonic temperaments behave that way, then maybe schismatic ones do too, way out in the dark waters.

...

Okay, I promised EDOs and I'm going to do EDOs. There seem to be finitely many EDOs that temper out the syntonic comma, Ac1. They are: [5, 7, 12, 19, 24, 26, 31, 36, 38, 43, 45, 50, 55, 57, 62, 67, 69, 74, 76, 81, 86, 88, 93, 98, 100, 105, 117, 129]-EDO. Nothing else between 5-EDO and 5000-EDO. This list is small enough, I feel we can look at all the P5s:
     1.4859942891369484 : 7-EDO
1.4916644904914018 : 26-EDO
1.492548464309911 : 45-EDO
1.4937589616544857 : 19-EDO
1.4937589616544857 : 38-EDO
1.4937589616544857 : 57-EDO
1.4937589616544857 : 76-EDO
1.4943783453027453 : 88-EDO
1.494548945312803 : 69-EDO
1.4948492486349383 : 100-EDO
1.4948492486349383 : 50-EDO
1.495105110169352 : 81-EDO
1.4955178823482085 : 31-EDO
1.4955178823482085 : 62-EDO
1.4955178823482085 : 93-EDO
1.4958363844631488 : 105-EDO
1.4959698311839842 : 74-EDO
1.4960896011977585 : 117-EDO
1.4962957394862462 : 129-EDO
1.4962957394862462 : 43-EDO
1.4962957394862462 : 86-EDO
1.4965418805580937 : 98-EDO
1.496734346325667 : 55-EDO
1.4970159080002896 : 67-EDO
1.4983070768766815 : 12-EDO
1.4983070768766815 : 24-EDO
1.4983070768766815 : 36-EDO
1.515716566510398 : 5-EDO

So only 5-EDO's P5 is sharper than the just P5 at 3/2. 

The P5 of 7-EDO falls between the P5s of 4/5-comma syntonic and 3/4-comma syntonic:
     1.4851668043517086 4/5 Ac1 temperament : AcAcAcm2
1.4859942891369484 : 7 -EDO
1.4860895666142713 3/4 Ac1 temperament : GrGrM3

And 5-EDO's tuned P5 falls between the tuned P5s of -2/3-comma syntonic and -1-comma syntonic.

The EDOs that temper out the schisma also seem to be finite, but it's a much larger list: [12, 17, 24, 29, 36, 41, 53, 65, 77, 82, 89, 94, 101, 106, 118, 130, 135, 142, 147, 154, 159, 171, 183, 195, 200, 207, 212, 219, 224, 236, 248, 253, 260, 265, 272, 277, 289, 301, 313, 318, 325, 330, 342, 354, 366, 371, 378, 383, 390, 395, 407, 419, 424, 431, 436, 443, 448, 460, 472, 484, 489, 496, 501, 508, 513, 525, 537, 542, 549, 554, 561, 566, 578, 590, 602, 607, 614, 619, 626, 631, 643, 655, 660, 667, 672, 679, 684, 696, 708, 720, 725, 732, 737, 744, 749, 761, 773, 778, 785, 790, 797, 802, 814, 826, 838, 843, 850, 855, 862, 867, 879, 891, 896, 903, 908, 915, 920, 932, 944, 956, 961, 968, 973, 985, 997, 1009, 1014, 1021, 1026, 1033, 1038, 1050, 1062, 1067, 1074, 1079, 1086, 1091, 1103, 1115, 1127, 1132, 1139, 1144, 1151, 1156, 1168, 1180, 1185, 1192, 1197, 1204, 1209, 1221, 1233, 1245, 1250, 1257, 1262, 1269, 1274, 1286, 1298, 1303, 1310, 1315, 1322, 1327, 1339, 1351, 1363, 1368, 1375, 1380, 1387, 1392, 1404, 1416, 1421, 1428, 1433, 1440, 1445, 1457, 1469, 1481, 1486, 1493, 1498, 1505, 1510, 1522, 1534, 1539, 1546, 1551, 1558, 1563, 1575, 1587, 1599, 1604, 1611, 1616, 1628, 1640, 1652, 1657, 1664, 1669, 1676, 1681, 1693, 1705, 1710, 1717, 1722, 1729, 1734, 1746, 1758, 1770, 1775, 1782, 1787, 1794, 1799, 1811, 1823, 1828, 1835, 1840, 1847, 1852, 1864, 1876, 1888, 1893, 1900, 1905, 1912, 1917, 1929, 1941, 1946, 1953, 1958, 1965, 1970, 1982, 1994, 2006, 2011, 2018, 2023, 2030, 2035, 2047, 2059, 2064, 2071, 2076, 2083, 2088, 2100, 2112, 2124, 2129, 2136, 2141, 2148, 2153, 2165, 2177, 2182, 2189, 2194, 2206, 2218, 2230, 2242, 2247, 2259, 2271, 2283, 2295, 2300, 2312, 2324, 2336, 2348, 2353, 2365, 2377, 2389, 2401, 2418, 2430, 2442, 2454, 2471, 2483, 2495, 2536, 2548, 2589, 2601, 2654, 2707]. Nothing else between 5-EDO and 5000-EDO.

The flattest P5 in an EDO that tempers out the schisma comes from 12-EDO and the sharpest such P5 comes from 17-EDO.

The 12-EDO tuned P5 is even slightly flatter than the 1/2-comma schismatic P5, and the 17-EDO tuned P5 is even slightly sharper than the tuned P5 of 0-comma schismatic, so these feel like good bounds.

The possibly non-existent bounds on the P5 of syntonic temperaments still befuddle me a little. I'll just have to wade deeper out in the water to investigate. Or content myself that temperaments with P5 outside of [7-EDO's P5, 5-EDO's P5] are non-diatonic and not worth too much of my time.

...

When I look up other commas that people have used to define temperaments, I see a lot of diminished seconds:
    Grd2 = (11, -4, -2) # 2048/2025
    d2 = (7, 0, -3) # 128/125
    Acd2 = (3, 4, -4) # 648/625
 
If you're feeling sassy, analyzing those might be fun.

I hadn't realized that finitely many EDOs temper out a given comma either. That's another ... source of data that could be catalogued and analyzed.

If you want a rank-4 interval to temper out that's justly associated with a small 7-limit frequency ratio, we've got some options:
4375/4374 at 0.4 cents, "ragisma"
2401/2400 at 0.7, "breedsma"
5120/5103 at 5.8c, "hemifamity"
225/224 at 7.7 cents cents, "marvel"
1029/1024 at 8.4 cents, "gamelisma"
126/125 at 13.8 cents, "starling"
245/243 at 14.2 cents, "sensamagic"

I've also listed the silly names for these fractions as they are known on the Xenharmonic wiki for some reason. The first ratio has a nice interpretation as
    (25/24) / ((36/35) * (81/80))

i.e. it's the difference between a grave augmented unison, justly tuned to 250/243, and the septimal super unison of Ben Johnston, 36/35. And a temperament which tunes 
a complicated rank-3 interval to the same frequency ratio as a simpler rank-4 which was perceptually indistinguishable under just tuning is a very good temperament.

The 2401/2400 does not have this property, but 5120/5103 does; it's just
    (36/35) / (81/80)^2

I also like 225/224 at 7.7 cents for this, which can be explained as:
    (36/35) / (128/125)

The 1029/1024 does not have a tidy rank-3 to rank-4 relationship.

The 14-cent 126/125 is a more complicated version of the 225/224 relationship:
    (36/35) / ((128/125) * (81/80))

and significantly more perceptible, so I'm not very impressed by that one.

The last just septimal comma, 245/243, is kind of cool:
    (245/243) = (16/15) / (36/35)^2

It's also too wide for my liking, but this just nicely shows how two septimal commas produce something like a minor second.

To summarize, I'd be friends with anyone who thought that the intervals associated with these ratios:

    ragisma: 4375/4374 at 0.4 cents # (25/24) / ((36/35) * (81/80))
    hemifamity: 5120/5103 at 5.8c # (36/35) / (81/80)^2
    marvel: 225/224 at 7.7 cents cents # (36/35) / (128/125)

were cool things to temper out to reduce rank-4 intervals by a dimension.

Rank-3 Chords

 In rank-3 pitch space, the intervals between successive steps of the major scale are these: 

    [P1, M2, AcM2, m2, AcM2, M2, AcM2, m2]

If we commit ourselves to C major being the major scale with natural pitch classes, then other scales necessarily get new alterations relative to their rank-2 spellings. For example, a G major scale has to be:

    [G, A, B, C, D+, E, F#+, G]

where a "+" is the accidental that indicates raising by an acute unison, a.k.a. a syntonic comma.

If we build diatonic chords by third from a major scale, we get these 13th chords on the scale degrees of the major scale:

I: [P1, M3, P5, M7, M9, P11, M13]

II: [P1, m3, P5, m7, AcM9, Ac11, AcM13]

III: [P1, m3, P5, Grm7, m9, P11, m13]

IV: [P1, M3, P5, M7, AcM9, AcA11, M13]

V: [P1, M3, Gr5, Grm7, M9, P11, M13]

VI: [P1, m3, P5, m7, AcM9, P11, m13]

VII: [P1, Grm3, Grd5, Grm7, m9, P11, m13]

That takes care of how to spell diatonic chords in rank-3 space. But what about non-diatonic chords? For example, how should one spell the diminished seventh chord, which in rank-2 space had been [P1, m3, d5, d7]? We can see from the VII diatonic chord that a half-diminished seventh chord, a.ka. a "m7b5" chord is now spelled [P1, Grm3, Grd5, Grm7]. So we might expect that we'd have to lower Grm7 by an augmented unison. It's also common to analyze a dim7 chord as a rootless 7b9 chord, with an implied root on the fifth scale degree of the major scale. So maybe we should start with the diatonic dominant ninth chord, [P1, M3, P5, M7, AcM9], lower the ninth by an augmented unison, and drop the root.

I tried maybe 15 to 20 different variations like that, and I think [P1, Grm3, Grd5, GrGrd7] sounds the best when tuned in 5-limit just intonation. I don't know how to explain it. This post is for figuring out why there's a GrGrd7 at the top of that chord that sounds so good, and maybe along the way we'll figure out principles for making other non-diatonic rank-3, 5-limit just intonation chords sound good.

...

After some experimentation, I've found three dim7-like chords that sound even better than [P1, Grm3, Grd5, GrGrd7]. Here are the four presented together:

[0, 294, 588, 882] # [P1, Grm3, GrGrd5, GrGrGrd7]

[0, 294, 590, 884] # [P1, Grm3, AcA4, M6]

[0, 294, 610, 904] # [P1, Grm3, Grd5, GrGrd7] // Not as good

[0, 296, 590, 906] # [P1, AcAcA2, AcA4, AcM6]

We can see that AcAcA2 only differs from Grm3 by 2 cents. Likewise M6 only differs from GrGrGrd7 by 2 cents. Likewise GrGrd7 only differs from AcM6 by 2 cents. So the chord I'm grappling toward has a second absolute interval around 294 to 296 cents. The third absolute interval is around 588 to 590 cents. And then my ear is embarrassingly liberal in the choice of the last interval, since it can differ by a syntonic comma without my preference changing. I can't help but wonder if my ear is just really used to 12-TET and the chord I'm grappling toward is just [0, 300, 600, 900] cents. But I like the chords with a third degree of 588 to 590 cents more than the old one with a third degree of 610 cents, so that vaguely suggests that I'm ...not complete garbage. After listening repeatedly, I also think that the fourth interval is better around 882 to 884 than around 904 to 906.

So if this is going to be spelled correctly by thirds, then the dim7 chord has to be [P1, Grm3, GrGrd5, GrGrGrd7]. It's weird that the 7th is such a complicated interval just to get us to something perceptually indistinguishable from a 5-limit major sixth.

This dim7 chord is made up of three Grm3 intervals though, so that's nice and regular. And it's also not 12-TET, which is good. I'd once heard someone say that it never sounds good when you stack two identical intervals in 5-limit just intonation, and I'm here to report that it does so. You can stack an interval three times and get a lovely dim7 chord. Although the Grm3 is actually 3-limit, so maybe that's why it works. It's just the Pyjthagorean m3, and three of them make a Pythagorean d7.

Alternatively, maybe I found a chord spelled by thirds that looks like a dim7, but since I don't know the sound of 12-TET dim7 all that well, I'm perhaps fooling myself, and I've found a very nice sounding some-other-chord that happens to be spelled like a dim7. Like, maybe the top interval is a M6 and I've reconstructed some permutation of a different chord. You know how there are like four ways to interpret every dim7 chord in 12-TET? Maybe I've got ...a dim7 chord but it's permuted.

If I interpret the GrGrGrd7 as a M6 and drop it an octave so it becomes the root, then the new intervals relative to the root are: 
    [0, 316, 610, 904] # [P1, m3, Grd5, GrGrd7] 

I have to admit that this sounds different but also good. Not quite as good, but definitely pretty good. This one has relative intervals of [m3, Grm3, Grm3].

It's entirely possible that different dim7 chords sound good rooted on different scale degrees relative to the tonic. I should probably try alternating a major chord against different dim7 chords with lots of different root pitches to examine that.

My first impression is that the [m3, Grm3, Grm3] sounds better rooted a M6 over the tonic and the [Grm3, Grm3, Grm3] sounds better rooted on the tonic or a M7 over the tonic. But I haven't actually tested dozens of chords at all three of those positions to be sure. I wish I had a tunable keyboard so I could iterate this stuff more rapidly.

...
Okay, I'm going to try ten different dim7 variants that are all spelled correctly / made of some kind of minor thirds. Rooted on the m2, the best sounding 5-limit dim7 variants, when played alternately against  a 5-limit major chord, are these (defined by relative/adjacent intervals):
[Grm3, Grm3, Grm3] // best
[Grm3, Grm3, m3] // decent
[Grm3, m3, Grm3] // just okay
.
For M2, I thought the best variants were
[Grm3, Grm3, Grm3],
[m3, Grm3, Grm3],
.
For a root on m3, the only one that sounded good was:
    [Grm3, Grm3, Grm3]
and I'm starting to think that's going to work pretty well everywhere.

I've noticed an ambiguity in music theory texts about the use of the dim7 chord. Diminished seventh chords work especially well as insertions between chords whose roots are moving up by a major second, or sometimes up a major third. In either case, the dim7 insertion is rooted a "semitone" below the root of the upper/final/target/postfix chord. But sometimes this "semitone below" is notated as an augmented unison below and sometimes as a minor second below. These are both tuned to one step of 12-EDO, so they're both semitones, but the intervals are tuned differently in other other tuning systems, and it's time we settled which way it should be in systems that distinguish them.

For example, is it 
     (I.maj, IIb.dim7, II.min)
or 
     (I.maj, I#.dim7, II.min)
?
And is it
(IV.maj, Vb.dim7, V.maj)
or
(IV.maj, IV#.dim7, V.maj)
?

My guess is you diminish the upper one, but I'll have a listen and find out. And also, in 5-limit JI, it might be some number of syntonic commas away from A1 or m2.

So! a dim7 rooted A4 over P1 sounds way better than a dim7 rooted a d5 over P1. So, e.g. 
    (F.maj7, F#.dim7, G.7, C.maj)
sound way better than
    (F.maj7, Gb.dim7, G.7, C.maj)
.
And A4 is an Acm2 below P5 (the tone we're approaching relative to P1).

Also, GrA4 and AcA4 and Acd5 sound bad. But Grd5 actually sounds good too, alongside A4! 
    (F.maj7, Gb-.dim7, G.7, C.maj)

And that's obviously an Ac1 below P5. I'm not yet sure which one I like more. A friend says that the A4 one is less jarring, but the Grd5 one might have a more satisfying dissonance and resolution thing going on. I think I agree, but let's have a look at the two progressions I liked:
[498, 884, 1200, 1586]: F.maj7
[569, 884, 1178, 1473]: F#.dim7
[702, 1088, 1382, 1698]: G.7
[0, 386, 702]: C.maj
versus
[498, 884, 1200, 1586]: F.maj7
[610, 925, 1220, 1514]: Gb-.dim7
[702, 1088, 1382, 1698]: G.7
[0, 386, 702]: C.maj
.
The numbers are cents over C natural. You can see that in the first progression, the F#.dim7 share its second atone with the F.maj7. In the second chord progression, the 1200 cents to 1220 cent melodic jump is close enough to be an interesting near equivalence.

I want to examine the melodic voice-leading intervals in those chord progressions now! Maybe that's part of the key to figuring out rank-3 chords. 
...

Maybe there's a thing where melodic steps of these sizes: [0, 20, 22, 41, 71, 73, 92, 112, 114, 133, 163, 184, 204, 225] in cents (which showed up in the voice leading of two good dim7 progressions, rooted on A4 and Grd5) are mostly okay, and melodic steps including some number of these melodic steps: [30, 49, 51, 63, 84, 120, 141, 155, 247] in cents (which showed up in voice leading of bad progressions where the dim7 was rooted on d5 or GrA4 or Acd5) are mostly bad. If I had to guess, I'd say that my ear is protesting against 24-EDO quarter tones, i.e. intervals of size (n*100 + 50) cents (for {n} an integer) and that the [30, 63, 84, 120, 141] intervals are less grating than the [49, 51, 155, 247] intervals. Although I really like middle eastern music with neutral tones / quarter tones. But that's almost exclusively not polyphonic, so who knows. Maybe the voice leading intervals don't matter at all. Maybe the principle is something other than quarter-tone proximity.

On further review, a dim7 on AcA4 over P1 is also decent in sound. The voice-leading intervals also check out (as coming from the same set as A4 and Grd5). After one more listen through, I'll stand by the claim that a dim7 chord rooted on A4 is better than on Grd5, which is better than rooting it on AcA4, but they're all decent in a (F.maj7, <?>, G.7) progression.

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.

...