Magrathean diacritics

User avatar
Dave Keenan
Site Admin
Posts: 2180
Joined: Tue Sep 01, 2015 2:59 pm
Location: Brisbane, Queensland, Australia
Contact:

Re: Magrathean diacritics

Post by Dave Keenan »

Here's a different approach to deciding the 0.5 tina comma. I hinted at it previously.

Find the lowest-N2D3P9 LATE commas for all the odd half tinas up to 9.5 tinas, i.e. n.5±0.25 for integer n, 0 ≤ n ≤ 9. Then look at the metacommas between those and the adjacent even half tinas, n±0.25 for integer n, 0 ≤ n ≤ 9. And choose the metacomma whose pair of commas has the lowest maximum N2D3P9, while itself being 0.5±0.25 tinas. I suspect that will occur between 7 and 7.5 tinas. Or maybe between 7.5 and 8.
User avatar
cmloegcmluin
Site Admin
Posts: 1700
Joined: Tue Feb 11, 2020 3:10 pm
Location: San Francisco, California, USA
Real Name: Douglas Blumeyer (he/him/his)
Contact:

Re: Magrathean diacritics

Post by cmloegcmluin »

Or perhaps this part is more relevant


:lol:

We might have to try a similar technique for 1 tina as well. 307 was hard enough, but it doesn't look like 1259 is going to be viable. Script crashed, but in a new sort of way. It took down every other program that was running on my computer :) I figured out a way to give Node basically no limits on the memory it's allowed to use, but I guess it wanted more than my computer had to give it!

Wish I was a better software engineer at times like this. I'm not sure how I'd improve this one.

There might be some way to reason my way out of this pickle. So: you don't trust the results for 0.5, 1, 2, 4, and 5 as much. The reason why seems to be a lack of trust in my "find-commas" script, vs. my "popular-ratios" script. Now, they're both written by the same person in the same code base and share many of the same methods. I guess the main difference is your lack of familiarity with the "find-commas" script.

Perhaps we could look at it this way: the only thing I see that might cause my "find-commas" script not to turn up something that would show up in the "popular-ratios" list would be getting ruled out based on prime limit and SoPF>3 (as I described earlier today). There are clear relationships between N2D3P9 and these other two things. In fact, N2D3P9 even includes gpf, which is the same as prime-limit.

With SoPF>3 and prime-limit both currently maxing out at 127, the question becomes: would it be possible to have a comma with N2D3P9 less than 1259 which also has SoPF>3 greater than 127? If the answer is no, then you should trust my results for 0.5, 1, 2, 4, and 5 (as much as you trust the table we've got on the Xen wiki for N2D3P9, I'd think).

Unfortunately the answer is "yes": Consider 131/1. N2D3P9(131/1) = (131/2)*131*(1/9) = 953.388888889. And it has SoPF>3 of 131.

However, it's close enough that I'm wondering: perhaps the list of 2,3-free classes satisfying this condition might be quite short, and could be checked manually. Because the moment you add a 5 in here, you're out of bounds: N2D3P9(5/131) = (5/2)*(131/3)*131*(1/9) = 1588.98148148. So literally the only ratios you'd have to consider are the primes 131 and greater until you exceed 1259. Which happens at 151. (151/2)*151*(1/9) = 1266.72222222. So that's just four 2,3-free classes I was missing from the running: 131, 137, 139, and 149.

So all I need to do is check those four classes, see whether any (LATE) commas notating them are tina-sized, and that's that.

And the answer is no. Closest any of those come is the 137s which is 3.953¢, which is 28 tinas (and it's not even LATE).

I realize this is by no means rock-solid, but hopefully somewhat compelling. Restated another way: were my "find-commas" script capable of running without crashing for SoPF>3 just a tiny bit higher, of 149 instead of 127, then that would be equivalent to having a max N2D3P9 of 1259 for our purposes.

I don't think I have the energy to attack the 0.5 tina comma metacomma technique you describe tonight.
User avatar
Dave Keenan
Site Admin
Posts: 2180
Joined: Tue Sep 01, 2015 2:59 pm
Location: Brisbane, Queensland, Australia
Contact:

Re: Magrathean diacritics

Post by Dave Keenan »

cmloegcmluin wrote: Sat Sep 05, 2020 2:59 pm We might have to try a similar technique for 1 tina as well. 307 was hard enough, but it doesn't look like 1259 is going to be viable. Script crashed, but in a new sort of way. It took down every other program that was running on my computer :) I figured out a way to give Node basically no limits on the memory it's allowed to use, but I guess it wanted more than my computer had to give it!
Oh dear. Sorry to hear that.
There might be some way to reason my way out of this pickle.
...
I realize this is by no means rock-solid, but hopefully somewhat compelling.
I'm afraid the description I had in mind was "completely unconvincing". :) It reminds me of ancient arguments for the existence of God, based on the inconceivability of any other way living beings could have come into existence. Pretty convincing, right up until Darwin and Wallace said, "Hang on ...". After which it was seen to be a mere failure of the imagination. :)

Can you generate all 2,3-free ratios up to N2D3P9 = 896 (< 127/2 × 127/9)?
User avatar
cmloegcmluin
Site Admin
Posts: 1700
Joined: Tue Feb 11, 2020 3:10 pm
Location: San Francisco, California, USA
Real Name: Douglas Blumeyer (he/him/his)
Contact:

Re: Magrathean diacritics

Post by cmloegcmluin »

Haha.

Well, fair enough...

Unfortunately I can't, no. Ran for a few hours and crashed. It didn't even make it past calculation of the extremas for the monzo terms. I'm wondering if there might be a better way. Perhaps rather than using the cool method you came up with to find the maximum possible power per denominator prime, we just do the same simple style as we use for finding the maximum possible power per numerator, even though we know that denominators can't get that high because the n > d constraint requires the existence of a > 1 numerator. The max denominator powers, though, would be even higher than the numerator powers, because they get divided by 3... well, but wait, in no extremas we've seen ever has a max denominator prime been greater than its paired max numerator prime... so why not just find the max numerator prime powers and mirror them for the denominator? Sure, we'll end up searching a ton more monzos, many of which would have no hope of having N2D3P9 less than the target max, but at least we'd have a chance of making through to the end.

I shouldn't spend much time on this right now though since it's my weekend and I need to impose some boundaries on myself during funemployment : D
User avatar
Dave Keenan
Site Admin
Posts: 2180
Joined: Tue Sep 01, 2015 2:59 pm
Location: Brisbane, Queensland, Australia
Contact:

Re: Magrathean diacritics

Post by Dave Keenan »

Yeah. There has to be a better way. Your mirroring suggestion is definitely worth a try. Meanwhile I'll give some thought to other possibilities.
User avatar
Dave Keenan
Site Admin
Posts: 2180
Joined: Tue Sep 01, 2015 2:59 pm
Location: Brisbane, Queensland, Australia
Contact:

Re: Magrathean diacritics

Post by Dave Keenan »

I'm having vague ideas about the outer loop incrementing copfr(n), and the loop inside that incrementing copfr(d). So initially you find all monzos within the required N2D3P9 range that have copfr(n) = 1 and copfr(d) = 0. Then you keep copfr(n) = 1 and go to copfr(d) = 1 and generate all the in-range monzos for that, etc.

You exit the copfr(d) loop when you make a pass without generating any new monzos. Likewise you exit the copfr(n) loop, and hence the whole process, when you make a copfr(n) pass without generating any new monzos.

When generating all monzos having a given number of factors-with-repeats, it should be possible to work out simple exit conditions, i.e. when going to a higher prime will give only out-of-range monzos.
User avatar
cmloegcmluin
Site Admin
Posts: 1700
Joined: Tue Feb 11, 2020 3:10 pm
Location: San Francisco, California, USA
Real Name: Douglas Blumeyer (he/him/his)
Contact:

Re: Magrathean diacritics

Post by cmloegcmluin »

I'll keep thinking on it.

Ran a quick experiment today. Well, quick to prepare and kick off anyway. It was the mirrored-denominators style. For max N2D3P9, that results in about 15 quintillion monzos to check. The script can check a bit more than a million a second. At that rate it'll be done in less than half a million years! The code can run sustainably, but I'd like results sooner than then. Clearly it's not going to be tractable for max N2D3P9 of 896 either.
User avatar
Dave Keenan
Site Admin
Posts: 2180
Joined: Tue Sep 01, 2015 2:59 pm
Location: Brisbane, Queensland, Australia
Contact:

Re: Magrathean diacritics

Post by Dave Keenan »

Ha. Well analysed. Thanks.

It may not be the cause of the crashes, and it doesn't address the tractability problem you just mentioned, but maybe we should be calculating everything in logarithmic terms, and only exponentiating at the last moment. It might at least run faster.

lb(N2D3P9(n/d)) = lb(n) + lb(d) + lb(gpf(nd)) - copfr(n) - lb(3) × (copfr(d) + 2)

lb(n) = lb(5) × n5 + lb(7) × n7 + ...
User avatar
Dave Keenan
Site Admin
Posts: 2180
Joined: Tue Sep 01, 2015 2:59 pm
Location: Brisbane, Queensland, Australia
Contact:

Re: Magrathean diacritics

Post by Dave Keenan »

I no longer think the copfr(n) and copfr(d) loops idea has any merit.

I now have vague ideas about the outermost loop being for exponents of the highest prime, and the innermost loop being for exponents of 5. With intermediate loops for all the other primes in order. Each loop would start from an exponent of 0 and would count up (numeratorish) until there was a pass with no new ratios within the N2D3P9 range. Then the loop's exponent would be set to -1 and would count down (denominatorish) until there was a pass with no new ratios within the N2D3P9 range, whereupon the loop would exit.
User avatar
Dave Keenan
Site Admin
Posts: 2180
Joined: Tue Sep 01, 2015 2:59 pm
Location: Brisbane, Queensland, Australia
Contact:

Re: Magrathean diacritics

Post by Dave Keenan »

Dear Douglas, I concede defeat in enumerating N2D3P9 limits and declare fealty to your find-commas script, up to an N2D3P9 limit of 903, which is as high as you can go without requiring primes beyond 127. :)

Thank you for helping me to install and run this script for myself.

By using commands like:
npm run find-commas -- --max-n2d3p9 896 --min-cents 0.0351328852314952 --max-cents 0.105398655694485 --max-five-rough-sopfr 127 --max-prime-limit 127 --max-absolute-three-exponent 6
I have found the comma that I recommend as the definition of the fractional-tina dot. It is the metacomma between lowest-N2D3P9 LATE commas for adjacent odd and even multiples of a half tina, below 10 tinas.

The max-n2d3p9 of 896 instead of 903 in the above command was due to a misconception on my part, but it doesn't affect the result. Correct me if I'm wrong, but I think the max-absolute-three-exponent of 6 ensures LATE commas. [It only ensures LATE commas for commas smaller than 33.38 c, see viewtopic.php?p=2397#p2397.]

The odd multiple with the lowest N2D3P9 is 6.5 tinas. And its neighbour with the lowest N2D3P9 is 6.0 tinas. I believe the optimum 0.5 tina is the difference between them. It has an N2D3P9 of only 44 [Edit: Oops no, it's 1627], but it is not LATE. That doesn't matter because the point is that it gives another LATE comma when added to the 6 tina LATE comma.

tinas name     ratio            prime exponent vector (monzo)              cents  slope gpf sopfr N2D3P9
6.5  13/37n    9477/9472        [ -8  6  0  0  0  1  0  0  0  0  0 -1 ⟩    0.914   5.944  37  50  329.574
6.0  65/77n    2080/2079        [  5 -3  1 -1 -1  1 ⟩                      0.833  -3.051  13  36  200.818
0.5  77/185n   1515591/1515520  [-13  9 -1  1  1  0  0  0  0  0  0 -1 ⟩    0.081   8.995  37  60 1626.744 [was mistakenly 43.966]
Post Reply