Boring Math (11.0)
The ratios themselves are interesting:
{2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127, 521, 607, 1279, 2203}/{3, 5, 7, 11, 13, 17, 19, 23, 31, 43, 61, 79, 101, 127, 167, 191}
The first 4 are less than 1
The next 3 are equal to 1
The next 5 are between 1 and 89/43
The rest seem larger so far.
Boring Math (11.0)
I don't know if I mentioned I read this a week or so ago:
https://en.m.wikipedia.org/wiki/Mersenne_conjectures#New_Mersenne_conjecture
It's certainly interesting.
Boring Math (11.0)
I didn't even realize I subconsciously re-found something I read:
https://en.m.wikipedia.org/wiki/Mersenne_conjectures#New_Mersenne_conjecture
And
Boring Math (11.0)
19*2^2.6854520010653064453097 ~= 122.2236...
19*2^3.2758229187218111597876 ~= 184.0240...
https://en.m.wikipedia.org/wiki/Khinchin%27s_constant
https://en.m.wikipedia.org/wiki/L%C3%A9vy%27s_constant
Boring Math (11.0)
a(n+1) = floor(sqrt(a(n)*163)), a(0)=28
n | a(n)
0 | 28
1 | 67
2 | 104
3 | 130
4 | 145
5 | 153
6 | 157
7 | 159
8 | 160
9 | 161
Where 67, 130, 145, 157 are of interest to me, particularly in the context of
https://math.stackexchange.com/questions/1309541/relatives-of-heegner-numbers
Boring Math (11.0)
I'm thinking 145 & 34 are the relevant ones here:
(6^2 - 2)/2 = 17
(12^2 + 1/2)*2 = 17^2
Which may imply 17 is relevant to music theory.
Boring Math (11.0)
So I'm thinking 72, 77, 80 is relevant here, for:
https://en.m.wikipedia.org/wiki/Music_and_mathematics
https://en.m.wikipedia.org/wiki/34_equal_temperament
9^2, 80 for 12 notes
5^2, 24/"72" for 17 notes
Boring Math (11.0)
I'm thinking about https://oeis.org/A107360
{3, 5, 7, 13, 17, 19, 31, 61, 127 }
2^n - 3 = p --> {3, 4, 6} | {5, 13, 61}
2^n - 1 = p --> {2, 3, 5, 7} | {3, 7, 31, 127}
2^n + 1 = p --> {1, 2, 4} | {3, 5, 17}
2^n + 3 = p --> {-inf, 1, 2, 4} | {3, 5, 7, 19}
3 occurs 3x
5 occurs 3x
7 occurs 2x
All other terms occur 1x
Boring Math (11.0)
It looks like practical numbers may not be relevant, based on
Table[(n-2)*Boole[isprime(2^n - 3)]], n= 2 to 1000
Boring Math (11.0)
There's two features in this picture that interest me:
One is at coordinate (165, 363), the other is at (318, 477), which may essentially be related to the Heegner number 163 (& 2*163).
Boring Math (11.0)
from itertools import chain, cycle, accumulate, combinations
from typing import List, Tuple
# %% Factors
def factors5(n: int) -> List[int]:
"""Factors of n, (but not n)."""
def prime_powers(n):
# c goes through 2, 3, 5, then the infinite (6n+1, 6n+5) series
for c in accumulate(chain([2, 1, 2], cycle([2,4]))):
if c*c > n: break
if n%c: continue
d,p = (), c
...
Boring Math (11.0)
...
while not n%c:
n,p,d = n//c, p*c, d + (p,)
yield(d)
if n > 1: yield((n,))
r = [1]
for e in prime_powers(n):
r += [a*b for a in r for b in e]
return r[:-1]
# %% Powerset
def powerset(s: List[int]) -> List[Tuple[int, ...]]:
"""powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3) ."""
return chain.from_iterable(combinations(s, r) for r in range(1, len(s)+1))
...
Boring Math (11.0)
...
# %% Practical number
def is_practical(x: int) -> bool:
"""Practical number test with factor reverse sort and short-circuiting."""
if x == 1:
return True
if x % 2:
return False # No Odd number more than 1
mult_4_or_6 = (x % 4 == 0) or (x % 6 == 0)
if x > 2 and not mult_4_or_6:
return False # If > 2 then must be a divisor of 4 or 6
...
Boring Math (11.0)
...
elif normalized_sigma_value > highest_practical_value:
highest_practical = x
highest_practical_value = normalized_sigma_value
else:
normalized_sigma_value = sigma(x, 1)/x
if normalized_sigma_value < lowest_nonpractical_value:
lowest_nonpractical = x
lowest_nonpractical_value = normalized_sigma_value
...
Boring Math (11.0)
...
elif normalized_sigma_value > highest_nonpractical_value:
highest_nonpractical = x
highest_nonpractical_value = normalized_sigma_value
print(lowest_practical, " (", float(lowest_practical_value), ") - ", highest_practical, " (", float(highest_practical_value), ")")
print(lowest_nonpractical, " (", float(lowest_nonpractical_value), ") - ", highest_nonpractical, " (", float(highest_nonpractical_value), ")")
Boring Math (11.0)
Oh, right, the output is:
1 ( 1.0 ) - 2520 ( 3.7142857142857144 )
2999 ( 1.0003334444814937 ) - 1608 ( 2.537313432835821 )
Basically, the lower values (both near 1) are uninteresting.
The upper values seem to increase without bound, but maybe the ratio between them is predictable. highest_nonpractical_value may have a strict bound, but I need to get a more efficient algorithm set to figure that out.
Boring Math (11.0)
I forgot to paste some modifications from yesterday (mostly after midnight):
Looking at records over time. I think I'm interested in the narrow band starting at the perfect numbers and going up to a factor of 2 of the upper limit: https://en.wikipedia.org/wiki/Divisor_function#Growth_rate
Boring Math (11.0)
I was looking at
"3, 4, 6 -seq:7 -seq:9 -seq:11 -seq:13 -seq:15" on oeis.org
And realized the 3, 4, 6... may just be prime(n) + 1