The Bohlen-Pierce Scales

There are basically two Bohlen-Pierce scales. One of them separates the frequency ratio of (3/1) (also called a justly tuned perfect 12th or a tritave) into 13 logarithmically equal pieces. Scale degree ^0 of this scale has a frequency ratio of 3^(0/13), and scale degree ^4 has a frequency ratio of 3^(4/13), and so on. If we talk about scales that equally divide the tritave (EDTs) instead of scales that equally divide the octave (EDOs), then the first Bohlen-Pierce scale is 13-EDT.

The second Bohlen-Pierce scale is really close to the first, but it has justly tuned (i.e. rational) frequency ratios, instead of irrational exponential ones. Moreover, the ratios are 7-limit or septimal, meaning that they can have factors of (2, 3, 5, 7) in their factorizations, but no higher primes. In fact, the septimal Bohlen-Pierce ratios don't have any factors of 2 - it's an odd 7-limit scale. There are no octaves and no even harmonics. Here are the elements of the septimal BP scale:

Bohlen 0: C ~ 1/1

Bohlen 1: C#/Db ~ 27/25

Bohlen 2: D ~ 25/21

Bohlen 3: E ~ 9/7

Bohlen 4: F ~ 7/5

Bohlen 5: F#/Gb ~ 75/49

Bohlen 6: G ~ 5/3

Bohlen 7: H ~ 9/5

Bohlen 8: H#/Jb ~ 49/25

Bohlen 9: J ~ 15/7

Bohlen 10: A ~ 7/3

Bohlen 11: A#/Bb ~ 63/25

Bohlen 12: B ~ 25/9

Bohlen 13: C ~ 3/1

.

There are also letter names (i.e. pitch classes) which I've written in. The letters go up to J now, instead of G. How curious. And there's no pitch class I. Kind of dumb. Not my system. Some people call the tritave a "decade", after the number 10, which fits with there being 9 natural pitch classes, just as an octave, after the number 8, fits with there being 7 natural pitch classes in western music. I like "decade" better than tritave, honestly, but....I'll probably use tritave in this post.

The intervals of septimal BP are symmetric with respect to the tritave, so that for example, these intervals add to a tritave:

^1 + ^12 = ^13

and their frequency ratios multiply to a justly-tuned tritave:

(27/25) * (25/9) = (3/1)

. 

Consequently, the intervals between successive steps are also symmetric with respect to the tritave. Four different intervals show up between successive steps. I'm not sure yet how to name intervals in Bohlen-Pierce, but the four intervals have the following frequency ratios:

(27/25), (49/45), (375/343), (625/567)

.

These four tuned intervals happen to increase in size with increasing complexity. Here they are in cents:

133 cents ~ (27/25)

147 cents ~ (49/45)

154 cents ~ (375/343)

169 cents ~ (625/567)

.

The small simple ratios ("A-sized" intervals) are related to each other by one factor and the large complicated ratios ("B-sized" intervals) are related to each other by the same factor:

(49/45) / (27/25) = (245/243)

(625/567) / (375/343) = (245/243)

Each large-complicated ratio is also related to one of the small-simple ratios:

(375/343) * (49/45) = (25/21)

(625/567) * (27/25) = (25/21)

, so there's a lot of structure here.

I said that I don't know how to name intervals in the Bohlen-Pierce scales, but one thing that we could do is just take the names of septimal frequency ratios in {septimal just intonation with pure octaves} and import the names directly to talk about this new scale without octaves. On each line below I show a frequency ratio for a scale degree in septimal BP, the frequency ratio represented in the reduced prime basis (2/1, 3/2, 5/4, 7/4), and the name for the frequency ratio in the Johnston-Lilley naming system for 7-limit just intonation.


1/1 :: (0, 0, 0, 0) : P1

27/25 :: (-1, 3, -2, 0) : Acm2

25/21 :: (1, -1, 2, -1) : SpA2

9/7 :: (0, 2, 0, -1) : SpM3

7/5 :: (0, 0, -1, 1) : Sbd5

75/49 :: (1, 1, 2, -2) : SpSpAA4

5/3 :: (1, -1, 1, 0) : M6

9/5 :: (0, 2, -1, 0) : m7

49/25 :: (0, 0, -2, 2) : SbSbAcd9

15/7 :: (1, 1, 1, -1) : SpA8

7/3 :: (1, -1, 0, 1) : Sbm10

63/25 :: (0, 2, -2, 1) : SbAcd11

25/9 :: (2, -2, 2, 0) : A11

3/1 :: (1, 1, 0, 0) : P12

.

I think it would be really cool if I could take music written in an octave-based tuning system and retune it to BP. That'll be one of my goals in this blog post. Also, I want to find a principled way of assigning interval names to BP steps that looks better than the thing above. Like, the opposite of an augmented 11th, A11, should be diminished interval, not an acute minor second, Acm2. The interval prefixes are mismatched here (or, rather, they're matched to octave complements, rather than tritave complements).


We just represented the BP frequency ratios in a rank-4 basis in order to import names from a subspace of the rank-4 septimal intervals with octave complements, but Bohlen-Pierce is only a rank-3 space: you can represent frequency ratios with powers of (3/1, 5/1, 7/1). Another option I prefer is the tritave-reduced odd prime basis, (3/1, 5/3, 7/3), in which all the odd prime ratios are divided by 3 until they fit in the rage [1/1, 3/1].


Here are the septimal Bohlen Pierce frequency ratios represented in the tritave-reduced odd prime basis:

1/1: (0, 0, 0)

27/25: (1, -2, 0)

25/21: (0, 2, -1)

9/7: (1, 0, -1)

7/5: (0, -1, 1)

75/49: (1, 2, -2)

5/3: (0, 1, 0)

9/5: (1, -1, 0)

49/25: (0, -2, 2)

15/7: (1, 1, -1)

7/3: (0, 0, 1)

63/25: (1, -2, 1)

25/9: (0, 2, 0)

3/1: (1, 0, 0)

.

There's an even better basis than this though. To introduce it, let's talk about how to name BP intervals a little. Guided a lot by the specific intervals that appear between successive steps of the septimal BP scale, and a little bit by the pitch classes for BP scale steps that are listed on Wikipedia and reproduced at the top of this post, I came up with this assignment of interval names and pitch classes for the septimal BP steps:


Bohlen 0: C ~ 1/1 :: P1

Bohlen 1: Db ~ 27/25 :: m2

Bohlen 2: D ~ 25/21 :: M2

Bohlen 3: E ~ 9/7 :: P3

Bohlen 4: Fb ~ 7/5 :: m4

Bohlen 5: F ~ 75/49 :: M4

Bohlen 6: G ~ 5/3 :: P5

Bohlen 7: H ~ 9/5 :: P6

Bohlen 8: Jb ~ 49/25 :: m7

Bohlen 9: J ~ 15/7 :: M7

Bohlen 10: A ~ 7/3 :: P8

Bohlen 11: Bb ~ 63/25 :: m9

Bohlen 12: B ~ 25/9 :: M9

Bohlen 13: C ~ 3/1 :: P10

.

The basic insight that let me build this is that an A-sized interval increases the pitch class lexicographically through (A, B, C, D, E , F, G, H, J), and a B-sized interval raises the pitch class from a flat to a natural. 


This assignment of pitch classes is really close to the set of pitch classes for Bohlen-Pierce that you can find on Wikipedia, or at the top of this article. The only changes are that (Bohlen ^4 ~ 7/5) is now called Fb instead of F, and (Bohlen ^5 ~ 75/49) is now called F instead of F#/Gb. My system has an intervallic justification and is superior.


Once I had all of that figured out, I examined the merits of some bases that had an A-sized interval, a B-sized interval, and third fudge factor interval to smooth over the fact A and B have two members. Since the two members of each size are related by a factor of (245/243), that was my obvious fudge-factor for C-sized intervals. Doing that worked tremendously well - so well that I gave the frequency ratio basis [(27/25), (375/343), (245/243)] a name, the Bluepoint basis, but there's an even better one coming. A Bluepoint is an oyster harvested near Long Island in New York. It's a cute name. I'm cute.

Of the four intervals that appear between successive steps of septimal Bohlen-Pierce, 

[(27/25), (49/45), (375/343), (625/567)]

only the first one has been associated with an interval name so far: it's a minor second, and it appears as Bohlen ^1. If (49/45) is also an A-sized interval that raises letter names of pitch classes, then it also has to be some kind of a 2nd interval. The more I looked at it, the more I came to realize that it was functioning like an acute minor second, Acm2, in 5-limit just intonation. This means that C-sized interval, the "fudge-factor" with a frequency ratio of (245/243), is an acute unison, Ac1. The B-sized interval that raises pitch classes from flat to natural is obviously an augmented unison, A1, since that's basically what augmentation means. I ended up calling (375/343) the A1 and the related (625/567) is an acute augmented unison, AcA1.

All together we have these differences between successive chromatic intervals:

P1 - m2 = m2

m2 - M2 = AcA1

M2 - P3 = m2

P3 - m4 = Acm2

m4 - M4 = A1

M4 - P5 = Acm2

P5 - P6 = m2

P6 - m7 = Acm2

m7 - M7 = A1

M7 - P8 = Acm2

P8 - m9 = m2

m9 - M9 = AcA1

M9 - P10 = m2

.

Next I wrote a program that names intervals in Bluepoint, which we can now say is an interval basis, (m2, A1, Ac1), tuned to a frequency ratio basis, [(27/25), (375/343), (245/243)]. The results are a little bit crazy; some intervals with short names have very large numerators and denominators:

(0, -1, -1) : Grd1 : (567/625)

(0, -1, 0) : d1 : (343/375)

(0, -1, 1) : Acd1 : (16807/18225)

(0, 0, 0) : P1 : (1/1)

(0, 0, 1) : Ac1 : (245/243)

(0, 1, 0) : A1 : (375/343)

(0, 1, 1) : AcA1 : (625/567)

(1, -1, -1) : Grd2 : (15309/15625)

(1, -1, 0) : d2 : (3087/3125)

(1, -1, 1) : Acd2 : (16807/16875)

(1, 0, 0) : m2 : (27/25)

(1, 0, 1) : Acm2 : (49/45)

(1, 1, 0) : GrM2 : (405/343)

(1, 1, 1) : M2 : (25/21)

(1, 1, 2) : AcM2 : (875/729)

(1, 2, 0) : GrA2 : (151875/117649)

(1, 2, 1) : A2 : (3125/2401)

(1, 2, 2) : AcA2 : (15625/11907)

(2, 0, 0) : Grd3 : (729/625)

(2, 0, 1) : d3 : (147/125)

(2, 0, 2) : Acd3 : (2401/2025)

(2, 1, 0) : Gr3 : (2187/1715)

(2, 1, 1) : P3 : (9/7)

(2, 1, 2) : Ac3 : (35/27)

(2, 2, 0) : GrA3 : (164025/117649)

(2, 2, 1) : A3 : (3375/2401)

(2, 2, 2) : AcA3 : (625/441)

(3, 0, 1) : Grd4 : (3969/3125)

(3, 0, 2) : d4 : (2401/1875)

(3, 0, 3) : Acd4 : (117649/91125)

(3, 1, 1) : Grm4 : (243/175)

(3, 1, 2) : m4 : (7/5)

(3, 1, 3) : Acm4 : (343/243)

(3, 2, 1) : GrM4 : (3645/2401)

(3, 2, 2) : M4 : (75/49)

(3, 2, 3) : AcM4 : (125/81)

(3, 3, 1) : GrA4 : (1366875/823543)

(3, 3, 2) : A4 : (28125/16807)

(3, 3, 3) : AcA4 : (15625/9261)

(4, 1, 2) : Grd5 : (189/125)

(4, 1, 3) : d5 : (343/225)

(4, 1, 4) : Acd5 : (16807/10935)

(4, 2, 2) : Gr5 : (81/49)

(4, 2, 3) : P5 : (5/3)

(4, 2, 4) : Ac5 : (1225/729)

(4, 3, 2) : GrA5 : (30375/16807)

(4, 3, 3) : A5 : (625/343)

(4, 3, 4) : AcA5 : (3125/1701)

(5, 1, 2) : Grd6 : (5103/3125)

(5, 1, 3) : d6 : (1029/625)

(5, 1, 4) : Acd6 : (16807/10125)

(5, 2, 2) : Gr6 : (2187/1225)

(5, 2, 3) : P6 : (9/5)

(5, 2, 4) : Ac6 : (49/27)

(5, 3, 2) : GrA6 : (32805/16807)

(5, 3, 3) : A6 : (675/343)

(5, 3, 4) : AcA6 : (125/63)

(6, 1, 3) : Grd7 : (27783/15625)

(6, 1, 4) : d7 : (16807/9375)

(6, 1, 5) : Acd7 : (823543/455625)

(6, 2, 3) : Grm7 : (243/125)

(6, 2, 4) : m7 : (49/25)

(6, 2, 5) : Acm7 : (2401/1215)

(6, 3, 3) : GrM7 : (729/343)

(6, 3, 4) : M7 : (15/7)

(6, 3, 5) : AcM7 : (175/81)

(6, 4, 3) : GrA7 : (273375/117649)

(6, 4, 4) : A7 : (5625/2401)

(6, 4, 5) : AcA7 : (3125/1323)

(7, 2, 4) : Grd8 : (1323/625)

(7, 2, 5) : d8 : (2401/1125)

(7, 2, 6) : Acd8 : (117649/54675)

(7, 3, 4) : Gr8 : (81/35)

(7, 3, 5) : P8 : (7/3)

(7, 3, 6) : Ac8 : (1715/729)

(7, 4, 4) : GrA8 : (6075/2401)

(7, 4, 5) : A8 : (125/49)

(7, 4, 6) : AcA8 : (625/243)

(8, 2, 4) : Grd9 : (35721/15625)

(8, 2, 5) : d9 : (7203/3125)

(8, 2, 6) : Acd9 : (117649/50625)

(8, 3, 4) : Grm9 : (2187/875)

(8, 3, 5) : m9 : (63/25)

(8, 3, 6) : Acm9 : (343/135)

(8, 4, 5) : GrM9 : (135/49)

(8, 4, 6) : M9 : (25/9)

(8, 4, 7) : AcM9 : (6125/2187)

(8, 5, 5) : GrA9 : (50625/16807)

(8, 5, 6) : A9 : (3125/1029)

(8, 5, 7) : AcA9 : (15625/5103)

(9, 3, 6) : d10 : (343/125)

(9, 4, 5) : Gr10 : (729/245)

(9, 4, 6) : P10 : (3/1)

(9, 4, 7) : Ac10 : (245/81)

(9, 5, 6) : A10 : (1125/343)

, but that's not a problem with my system; when you have frequency ratios with factors of (3, 5, 7) instead of (2, 3, 5), the numerators and denominators are simply usually going to be bigger. So here's the code. You can now name name septimal Bohlen-Pierce intervals, provided you can express them in the Bluepoint basis, which is a pretty simple matter of finding the exponents of [(27/25), (375/343), (245/243)] that reproduce your desired frequency ratio. 

This basis is really good. It has many of the desirable properties of Lilley's (Ac1, A1, d2) basis for 5-limit just intonation. Let's look at just the chromatic intervals of septimal BP in the Bluepoint basis for a moment:

(0, 0, 0) : P1 : (1/1)

(1, 0, 0) : m2 : (27/25)

(1, 1, 1) : M2 : (25/21)

(2, 1, 1) : P3 : (9/7)

(3, 1, 2) : m4 : (7/5)

(3, 2, 2) : M4 : (75/49)

(4, 2, 3) : P5 : (5/3)

(5, 2, 3) : P6 : (9/5)

(6, 2, 4) : m7 : (49/25)

(6, 3, 4) : M7 : (15/7)

(7, 3, 5) : P8 : (7/3)

(8, 3, 5) : m9 : (63/25)

(8, 4, 6) : M9 : (25/9)

(9, 4, 6) : P10 : (3/1)

.

Some desirable properties:

1) All of the basis components increase monotonically with increasing BP step.

2) All of the frequency ratios of the tuned basis elements are greater than (1/1).

3) One of the basis components matches the ordinal of the interval name minus one. I would have been happy if they were related by any constant integer offset, but minus one is nice.

4) The absolute determinant of the basis is unity, which just ensures that things have integral coordinates. I haven't demonstrated this to you, and I know it's a little unclear what I mean. If you express Bluepoint in the odd prime basis, you can find the determinant of that matrix of vectors, and the absolute value of the determinant will be 1. There are lots of full rank bases with determinants that are one or minus one, and expressing any of them in any of the others will give you determinant whose absolute value is unity, which gives you integer coordinates. Integer coordinates are good for lots of reasons, like for designing isomorphic keyboards with non-overlapping keys. Also integer coordinates become integer exponents in tuning, which means that if you start with basis elements tuned to rational values, then every interval in your system will also be rational. Tuning systems where the absolute determinant of the matrix of basis vectors is unity (when the basis vectors are expressed in any other such basis, using the primes as a base case for inducing the full family) let you define just intonation tuning systems.

There's an even better basis coming, but this table is still good for quickly looking up interval names and their corresponding frequency ratios.

What if you don't want to do a brute force search over exponents in order to name a frequency ratio? I can help with that. First, factorize your frequency ratio, i.e. express it in the odd prime basis (3/1, 5/1, 7/1). Then we can do a change of basis to Bluepoint.   

If you've been reading my blog, you know the drill by now. To change bases, first you find the frequency ratios of the old basis (the odd 7-limit prime basis in this case) expressed in the new basis (the Bluepoint basis in this case):

3/1 = (9, 4, 6) # P10

5/1 = (13, 6, 9) # P14

7/1 = (16, 7, 11) # P17

Then you convert columns into rows: 

def convert_prime_basis_to_bluepoint(interval):

(x, y, z) = interval

a = x * 9 + y * 13 + z * 16

b = x * 4 + y * 6 + z * 7

c = x * 6 + y * 9 + z * 11

return (a, b, c)

It is done, and it is done well. Now you can find the tritave-based interval names associated with arbitrary odd 7-limit frequency ratios from their factorizations, by using this change of basis function and then running my python code from before.

Now for the best basis: in 5-limit octave-based just intonation, the Lilley basis is (Ac1, A1, d2). In septimal Bohlen-Pierce, the Bluepoint basis is (m2, A1, Ac1). The order of intervals isn't important, so the only real difference is that the d2 from 5-limit JI is replaced with an m2 in the Bluepoint basis. What happens if we use Lilley's (Ac1, A1, d2) for Bohlen Pierce intervals though? The BP diminished 2nd is 

d2 : (3087/3125)

To make a change of basis, here are the old vectors of the Bluepoint basis 

(0, 1, 1) = 27/25 # m2

(0, 1, 0) = 375/343 # A1

(1, 0, 0) = 245/243 # Ac1

expressed in a version of the Lilley basis, (Ac1, A1, d2), modified for Bohlen-Pierce, so that we now tune those intervals to frequency ratios of (245/243, 375/343, 3087/3125). Although, it's actually faster for me to find coordinates by brute force search over exponents than to do a change of basis, so instead of writing a new change of basis function, here are the coordinates for the chromatic Bohlen Pierce intervals directly:

(0, 0, 0) = 1/1 # P1

(0, 1, 1) = 27/25 # m2

(1, 2, 1) = 25/21 # M2

(1, 3, 2) = 9/7 # P3

(2, 4, 3) = 7/5 # m4

(2, 5, 3) = 75/49 # M4

(3, 6, 4) = 5/3 # P5

(3, 7, 5) = 9/5 # P6

(4, 8, 6) = 49/25 # m7

(4, 9, 6) = 15/7 # M7

(5, 10, 7) = 7/3 # P8

(5, 11, 8) = 63/25 # m9

(6, 12, 8) = 25/9 # M9

(6, 13, 9) = 3/1 # P10

.

It's so good! Now the last component, d2, is the interval's ordinal minus 1, just as m2 was before. The second component, A1, is the number of Bohlen-Pierce steps!  The first component is... just there. I've never known how to interpret Ac1 in 5-limit octave-basis just intonation either. But it's fine. It's the fudge factor. In 5-limit JI, major Nth and minor Nths had the same Ac1 component, which was kind of nice, and that's not the case here or in the Bluepoint basis, but it's still fine.

Coordinates in the BP-Lilley basis and the JI-Lilley basis generally don't have the same interval names, and of course they shouldn't - the two systems have different intervals, like P3 in Bohlen-Pierce and P4 in Just Intonation. For an example, (4, 9, 6) is a major seventh, M7, in the BP-Lilley basis with a frequency ratio of 15/7 ~= 2.14, and it's an acute diminished 7th, Acd7, in the JI-Lilley basis, with a frequency ratio of 2187/1250 = 1.7496. I wouldn't have minded if the names had been different and the frequency ratios had been close. That would have made it easy to translate music. But it's fine. And you can still translate music if you want, it's just going to be really weird. And let's not pretend that we don't like when music is really weird. The chromatic BP intervals translated to JI intervals this way do keep their order, at least. If we take the chromatic intervals of BP and reinterpret their BP-Lilley coordinates as being JI-Lilley coordinates, we get these frequency ratios:

(0, 0, 0) -> 1.0

(0, 1, 1) -> 1.066666

(1, 2, 1) -> 1.125

(1, 3, 2) -> 1.2

(2, 4, 3) -> 1.296

(2, 5, 3) -> 1.35

(3, 6, 4) -> 1.458

(3, 7, 5) -> 1.5552

(4, 8, 6) -> 1.679616

(4, 9, 6) -> 1.7496

(5, 10, 7) -> 1.889568

(5, 11, 8) -> 2.0155392

(6, 12, 8) -> 2.125764

(6, 13, 9) -> 2.2674816

That interval on the bottom line used to be the perfect 10th with a frequency ratio of (3/1), and now it's only ~ 2.27. So just intonation is falling quite flat.

I've looked at lots of different way of translating music between tritave-based interval space and (rank-2, rank-3, rank-4) octave-based interval spaces and this is by far the best I've come up with. This post used to be about three times as long, and it was just documenting my failures with that search. This is one of the only ways that even keeps the chromatic BP intervals in the same tuned order.

My next goal is to write a program to translate music from 5-limit JI to septimal BP using this scheme to find out how it sounds. I bet it will really suck, but I've got to know.

 ...

Some other time. Some more music theory first. The 13-EDT version of the Bohlen-Pierce scale tempers out some intervals that the septimal BP scale doesn't. And we can find them *so* easily. An interval in the Lilley basis that has a zero for its second component, the A1 component, will be tuned to 0 steps in 13-EDT. All of those intervals are tempered out, i.e. tuned to the same value as P1, namely 1/1 or 3^(0/13). Here are a few with short names

(-2, 0, 0) : GrGr1 :: 59049/60025

(-1, 0, -1) : GrA0 :: 16875/16807

(-1, 0, 0) : Gr1 :: 243/245 

(-1, 0, 1) : Grd2 :: 15309/15625 

(0, 0, -1) : A0 :: 3125/3087 

(0, 0, 0) : P1 :: 1 

(0, 0, 1) : d2 :: 3087/3125

(1, 0, -1) : AcA0 :: 15625/15309

(1, 0, 0) : Ac1 :: 245/243

(1, 0, 1) : Acd2 :: 16807/16875

(2, 0, 0) : AcAc1 :: 60025/59049


Those intervals are all tuned to a frequency ratio of 1/1 or 3^(0/13). The fractions at the end were their old justly tuned values. The mathematically inclined among you might be saying, "Since we're going from a 3 dimensional space to a one dimensional space, shouldn't all the tempered out intervals be a linear combination of two independent commas?" You're right and they are. The two independent ones are Ac1 and d2. Any other tempered out interval can be made by a linear combination of those two. It's so easy. There's a much harder way to tune things to 13-EDT, but let's go the easy way.


I went the hard way first and made/found some useful functions along the way though.

This one converts from the Bluepoint basis to the Lilley basis:

def convert_bluepoint_basis_to_lilley(interval):

(x, y, z) = interval

a = x * 0 + y * 0 + z * 1

b = x * 1 + y * 1 + z * 0

c = x * 1+ y * 0 + z * 0

return (a, b, c)

, and this one converts from the Lilley basis to the (P5, P8, P10) basis:

def convert_lilley_basis_to_reduced_perfect(interval):

(x, y, z) = interval

a = x * 1 + y * 3 + z * -5

b = x * 2 + y * -3 + z * 3

c = x * -2 + y * 1 + z * 0

return (a, b, c)

. 

The intervals (P5, P8, P10) are the ones that were justly tuned to (5/3, 7/3, 3/1), respectively, so (P5, P8, P10) is just an intervallic name for the tritave-reduced prime basis of frequency ratios. It's nice that the primes got paired up with perfect intervals, isn't it? It's a good system.

It feels wrong that I have large tables and programs concerning the Bluepoint basis and comparatively little written about the BP-Lilley basis, which I prefer. So here are some more interval in the BP-Lilley basis, sorted by increasing frequency ratio:

(0, 0, 0) : P1 :: 1/1

(1, 0, 0) : Ac1 :: 245/243

(0, 0, -1) : A0 :: 3125/3087

(0, 1, 1) : m2 :: 27/25

(0, 1, 0) : A1 :: 375/343

(1, 2, 2) : d3 :: 147/125

(1, 2, 1) : M2 :: 25/21

(0, 3, 2) : Gr3 :: 2187/1715

(2, 3, 3) : d4 :: 2401/1875

(1, 3, 2) : P3 :: 9/7

(2, 3, 2) : Ac3 :: 35/27

(1, 3, 1) : A2 :: 3125/2401

(2, 4, 3) : m4 :: 7/5

(1, 4, 2) : A3 :: 3375/2401

(3, 5, 4) : d5 :: 343/225

(2, 5, 3) : M4 :: 75/49

(3, 6, 5) : d6 :: 1029/625

(2, 6, 4) : Gr5 :: 81/49

(3, 6, 4) : P5 :: 5/3

(2, 6, 3) : A4 :: 28125/16807

(4, 6, 4) : Ac5 :: 1225/729

(2, 7, 5) : Gr6 :: 2187/1225

(4, 7, 6) : d7 :: 16807/9375

(3, 7, 5) : P6 :: 9/5

(4, 7, 5) : Ac6 :: 49/27

(3, 7, 4) : A5 :: 625/343

(4, 8, 6) : m7 :: 49/25

(3, 8, 5) : A6 :: 675/343

(5, 9, 7) : d8 :: 2401/1125

(4, 9, 6) : M7 :: 15/7

(5, 10, 8) : d9 :: 7203/3125

(4, 10, 7) : Gr8 :: 81/35

(5, 10, 7) : P8 :: 7/3

(4, 10, 6) : A7 :: 5625/2401

(6, 10, 7) : Ac8 :: 1715/729

(5, 11, 8) : m9 :: 63/25

(5, 11, 7) : A8 :: 125/49

(6, 12, 9) : d10 :: 343/125

(6, 12, 8) : M9 :: 25/9

(6, 13, 10) : d11 :: 9261/3125

(5, 13, 9) : Gr10 :: 729/245

(6, 13, 9) : P10 :: 3/1

.

Cool.

You might wonder if other divisions of the tritave decade would do comparably well to 13 at matching the 5th and 7th harmonic (or the reduced harmonics, equivalently). They really don't. Here's a comparison with some runners up:

:: 13-divisions of the decade

5/3: 6c

7/3: 4c

:: 17-divisions of the decade

5/3: -11c

7/3: 13c

:: 22-divisions of the decade

5/3: 19c

7/3: -3c

:: 30-divisions of the decade

5/3: -4c

7/3: 9c

:: 34-divisions of the decade

5/3: -11c

7/3: 13c

:: 35-divisions of the decade

5/3: 15c

7/3: 0c

:: 36-divisions of the decade

5/3: -14c

7/3: -12c

Not only does 13-division of the decade provide an excellent just approximation for its complexity, it provides an excellent just approximation for any complexity. If you want an equal temperament that also covers the 11th harmonic well, then 39-divisions does very well, and equally well on the other harmonics to 13-divisions.

Any equal-division of the tritave/decade temperament will hit the 3rd harmnic exactly, so I'll skip that, but let's look at some temperaments that do well on the 11th harmonic:

13-divisions: 6 cents, 4 cents, 54 cents

22-divisions: 20 cents, -3 cents, 1 cents

26-divisions: 6 cents, 4 cents, -19 cents

39-divisions: 6 cents, 4 cents, 6 cents

43-divisions: -1 cents, 7 cents, -7 cents

54-divisions: 4 cents, -12 cents, -5 cents

56-divisions: 1 cents, 7 cents, 7 cents

58-divisions: -1 cents, -9 cents, -14 cents

60-divisions: -4 cents, 9 cents, -2 cents

62-divisions: -6 cents, -5 cents, 10 cents

.

I haven't looked into the small commas for all of these, but that could be fun.

I did happen to find the rank-3 all-odd independent commas with the smallest frequency ratios for 30-divisions of the tritave/decade, back before I saw its poor approximation of the 11th harmonic. They happen to be 1) the Bohlen Pierce Ac1, justly tuned to (245/243) @ 14 cents, which was also a comma of the 13-division equal temperament, and 2) the Bohlen Pierce Grddd4, which has BP-Lilley coordinates [1, 1, 3], and which is justly tuned to (51883209/48828125) @ 105 cents.

I don't have minimal, sufficient, and jointly independent commas to define those interesting rank-4 temperaments, but as a first step, I do have some 4-limit commas. Here they are presented in terms of their just tunings:

:: 13 divisions: 16875/16807, 245/243, 3125/3087, 891/875, 77/75, 2475/2401, 3773/3645, 1375/1323, 3267/3125, 5929/5625, 363/343, 605/567, 378125/352947, 323433/300125, 456533/421875, 1331/1225, 1331/1215, 166375/151263

:: 22 divisions: 12005/11979, 1331/1323, 245/243, 6075/5929, 2475/2401, 125/121, 1375/1323, 30625/29403, 759375/717409, 28125/26411, 378125/352947

:: 26 divisions: 16875/16807, 245/243, 3125/3087, 3087/3025, 6075/5929, 16807/16335, 125/121, 30625/29403, 15435/14641, 759375/717409, 420175/395307

:: 30 divisions: 245/243, 891/875, 4159375/4084101, 77/75, 3773/3645, 3267/3125, 5929/5625, 456533/421875

:: 32 divisions: 1331/1323, 9375/9317, 3125/3087, 891/875, 4159375/4084101, 6075/5929, 2475/2401

:: 35 divisions: 456533/455625, 9375/9317, 245/243, 2475/2401, 1375/1323, 378125/352947

:: 39 divisions: 456533/455625, 12005/11979, 16875/16807, 1331/1323, 9375/9317, 245/243, 3125/3087, 4159375/4084101

:: 43 divisions: 456533/455625, 9375/9317, 245/243, 3087/3025, 16807/16335

:: 54 divisions: 1331/1323, 6075/5929, 2475/2401

:: 56 divisions: 12005/11979, 1331/1323, 245/243

:: 58 divisions: 12005/11979, 3125/3087, 6075/5929

:: 60 divisions: 245/243, 3087/3025, 16807/16335

:: 62 divisions: 16875/16807, 891/875, 4159375/4084101

We'll need at least three of them plus the tritave/decade to define a rank-4 temperament.

:: Rank-2 Unequal Bohlen Pierce Temperaments

...