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)
I'm looking at
2^({1, 2, 4, 6, 8, 12, 16, 18, 20, 24, 28, 30, 32, 36, 40, 42, 48, 54, 56, 60, 64, 66, 72, 78, 80, 84, 88, 90, 96, 100, 104, 108, 112, 120, 126, 128, 132, 140, 144, 150}+2) - 3 (practical numbers)
Example:
factor {5, 13, 61, 253, 1021, 16381, 262141, 1048573, 4194301, 67108861, 1073741821, 4294967293, 17179869181, 274877906941, 4398046511101, 17592186044413, 1125899906842621, 72057594037927933}
Prime for
{5, 13, 61, 1021, 16381, 1048573, 4194301}
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)
...
f = sorted(factors5(x), reverse=True)
if sum(f) < x - 1:
return False # Never get x-1
ps = powerset(f)
found = set()
for nps in ps:
if len(found) < x - 1:
y = sum(nps)
if 1 <= y < x:
found.add(y)
else:
break # Short-circuiting the loop.
return len(found) == x - 1
...
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)
Essentially this means I'm looking for a modified definition of practical numbers that excludes powers of 2 and the most composite practical numbers. I'm wondering what the density of this set of numbers is compared to the primes, and also wondering if I can e.g. construct a 1:1 relationship between primes and "modified practical numbers".
Boring Math (11.0)
Using e**(log(sigma(v, 1))/(log(v)*log(log(v)))):
The values seem to approach ~7/4 and 1/2. think the 1/2 is exact based on https://en.wikipedia.org/wiki/Divisor_function#Growth_rate
But I'm not sure about the other one.
Boring Math (11.0)
I'm wayyy off lol:
e**(log(sigma(52307529120))/(log(52307529120)*log(log(52307529120)))) ~= 1.39127
Boring Math (11.0)
I was trying to consider practical numbers where the negative sign could be used e.g.:
1
3-1
3
3+1
9-3-1
9-3
9-3+1
9-1
9
Notably, there is a common math question related to base-3 and a balance scale.
Which likely results in the sequence:
Although it's still possible there are exceptions.
Boring Math (11.0)
Aww yee:
https://en.m.wikipedia.org/wiki/Complete_sequence#Conditions_for_completeness
Which leads to an interesting sequence:
I still want to figure out a sequence containing 78 specifically.
Boring Math (11.0)
This references https://arxiv.org/abs/1405.2585
Which seems to have a mention of the maximal ratio (and it may be unbounded?)
Boring Math (11.0)
Table[(2*n)*Boole[Max[Ratios[Divisors[(2*n)]]] > 2 and not isprime(n)]], n=1 to 200
Which leads me to
Boring Math (11.0)
Boring Math (11.0)
I started thinking about this because I was comparing primes to practical numbers and noticed the first major difference was the gap between primes 23 & 29 where there are two practical numbers (i.e. 24 & 28).
I also was particulary curious about comparing 8 (practical) to 11 (prime).
Boring Math (11.0)
...
if __name__ == '__main__':
highest_practical = 1
lowest_practical = 1
highest_nonpractical = 1
lowest_nonpractical = 1
highest_practical_value = 0
lowest_practical_value = 1e10
highest_nonpractical_value = 0
lowest_nonpractical_value = 1e10
...