The Bellissima Curve

The bell curve is a shape that appears when you make a graph by counting all possible sums of a range of integers like 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. The smallest sum you can get is 1; the largest is 55 = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10. But there’s only one sum of 1 and only one sum of 55. Other sums are more common:

• 10 = 1 + 2 + 3 + 4
• 10 = 1 + 2 + 7
• 10 = 1 + 3 + 6
• 10 = 1 + 4 + 5
• 10 = 2 + 3 + 5
• 10 = 2 + 8
• 10 = 3 + 7
• 10 = 4 + 6
• 10 = 10

So there are nine sums of 10. If you graph count-sums with a bigger set of consecutive integers from 1, 2, 3…, you get this shape:

Bell curve from sum-counts with 1, 2, 3, 4, 5, 6, 7, 8, 9, 10…
(open in separate window for full-sized image)


It’s a bell curve. Et c’est une belle curve, a “beautiful curve” in French. But I’ve found what I call bellissime curve — Italian for “most beautiful curves” — by sampling different sets of integers. With the set (1, 3, 5, 7, 9, 11, 13, 15, 17, 19…), you get what you could call a slightly wrinkled bell curve:

Wrinkled bell-curve from sum-counts with 1, 3, 5, 7, 9, 11, 13, 15, 17, 19…
(open in separate window for full-sized image)


After that, as you leave bigger gaps in the sampled sets, the curves start to overlap and add extra beauty:

Overlapping bell curves from sum-counts with 1, 4, 7, 10, 13, 16, 19, 22, 25, 28…


Bellissima curves from sum-counts with 1, 5, 9, 13, 17, 21, 25, 29, 33, 37…


Bellissima curves from sum-counts with 1, 6, 11, 16, 21, 26, 31, 36, 41, 46…


Bellissima curves from sum-counts with 1, 7, 13, 19, 25, 31, 37, 43, 49, 55…


With the set (3, 6, 9, 15, 18, 21…), the bell is back:

Bell curve from sum-counts with 3, 6, 9, 15, 18, 21…


But with (4, 7, 10, 13, 6, 19…), separated by the same distance, you get this:

Bell curve from sum-counts with 4, 7, 10, 13, 6, 19…


When you sample the Fibonacci numbers, (1, 2, 3, 5, 8…), you get this graph:

Caterpillar curve from sum-counts of Fibonacci numbers 1, 2, 3, 5, 8, 13, 21, 34, 55, 89…


When you sample a restricted set of Fibonaccis, (1, 3, 8, 21, 55…), you get this, where each vertical line represents a count of one:

Golden gaps from sum-counts of restricted Fibonacci numbers 1, 3, 8, 21, 55, 144…


That restricted Fibonacci graph is strangely attractive, because it has golden gaps (verb sap!).

Friday is Φiday

The 11th, 12th and 23rd day of a month can be called a φ-day (pronounced fy-day). Why so? Because those numbers are consecutive entries in the famous Fibonacci sequence, which offers better and better approximations to a mathematical constant called φ = (√5 + 1) / 2 = 1.6180339887498948…:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, …

Each number after the second is the sum of the preceding two (so 11, 12, 23… could be the start of a similar sequence). When you divide fib(i) by fib(i-1), you get these approximations to φ:

2 = 2/1
1.5 = 3/2
1.6 = 5/3
1.6 = 8/5
1.625 = 13/8
1.6153846… = 21/13
1.619047619… = 34/21
1.6176470588235294117647… = 55/34
1.618… = 89/55
1.617977528… = 144/89
1.61805… = 233/144
1.618025751… = 377/233
1.618037135… = 610/377
1.618032786… = 987/610
1.618034447… = 1597/987
1.618033813… = 2584/1597
1.618034055… = 4181/2584
1.618033963… = 6765/4181
1.618033998… = 10946/6765
1.618033985… = 17711/10946

Today is the 23rd and not just a φ-day but a Friday (or φriday). So here’s one of the interesting results I’ve recently found while playing with the Fibonacci sequence. As any recreational mathematician kno, you can also find the Fibonacci sequence — and φ — with this little algorithm:

f = 0
LOOP
f = 1 / (f + 1)
print(f)
goto LOOP

The algorithm returns these values:

1, 1/2, 2/3, 3/5, 5/8, 8/13, 13/21, 21/34, 34/55, 55/89, 89/144, 144/233, 233/377, 377/610, 610/987, 987/1597, 1597/2584, 2584/4181, 4181/6765, 6765/10946, 10946/17711, …

I was playing with that algorithm and got an unexpected result with a simple adaptation of it:

f = 0
LOOP
f = 1 / (3 – f)
print(f)
goto LOOP

The values of f generated by this adapted algorithm are:

1/3, 3/8, 8/21, 21/55, 55/144, 144/377, 377/987, 987/2584, 2584/6765, 6765/17711, 17711/46368, 46368/121393, 121393/317811, 317811/832040, 832040/2178309, 2178309/5702887, 5702887/14930352, 14930352/39088169, 39088169/102334155, 102334155/267914296, …

The numerator and denominator in each fraction are next-but-one Fibonacci numbers, beautifully generated at each step:

3 – 0 = 3 → 1/3
3 – 1/3 = (3*3)/3 – 1/3 = 9/3 – 1/3 = (9-1) / 3 = 8 / 3 → 1/(8/3) = 3/8
3 – 3/8 = (3*8)/3 – 3/8 = 24/8 – 3/8 = (24-3) / 8 = 21/8 → 1/(21/8) = 8/21
3 – 8/21 = (3*21)/21 – 8/21 = 63/21 – 8/21 = (63-8)/21 = 55/21 → 1/(55/21) = 21/55
3 – 21/55 = (3*55)/55 – 21/55 = 165/55 – 21/55 = (165-21)/55 = 144/55 → 1/(144/55) = 55/144
3 – 55/144 = (3*144)/144 – 55/144 = (432-55)/144 = 377/144 → 1/(377/144) = 144/377
3 – 144/377 = (3*377)/377 – 144/377 = (1131-144)/377 = 987/377 → 1/(987/377) = 377/987
[…]

If you reverse numerator and denominator, the limit of the fraction is φ^2 = 2.6180339887498948… = φ+1:

3 = 3/1
2.6 = 8/3
2.625 = 21/8
2.6190476190476190476190476… = 55/21
2.6181818181818181818181818… = 144/55
2.6180555555555555555555555… = 377/144
2.6180371352785145888594164… = 987/377
2.6180344478216818642350557… = 2584/987
2.6180340557275541795665634… = 6765/2584
2.6180339985218033998521803… = 17711/6765
2.6180339901755970865563773… = 46368/17711
2.6180339889579020013802622… = 121393/46368
2.6180339887802426828565073… = 317811/121393
2.6180339887543225376088304… = 832040/317811
2.6180339887505408393827219… = 2178309/832040
2.6180339887499890970472967… = 5702887/2178309
2.6180339887499085989254214… = 14930352/5702887
2.6180339887498968544077192… = 39088169/14930352
2.6180339887498951409056791… = 102334155/39088169
2.6180339887498948909091006… = 267914296/102334155

Deep-Dive Dyadendricity

This simple equation helps you understand a fractal:

1 + 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + … = 2 = Σ(1/2k,k=0..∞)

Now here’s the construction of the H-tree fractal, in which the lines are divided in length by sqrt(2) = 1.41421356237… at each stage. Or multiplied by 0.70710678118… = &sqrt;0.5. This means that, after two divisions, the lines are 1/2 the size. So in the end they create a 1 x &sqrt;2 rectangle:

H-Tree fractal #1


H-Tree fractal #2


H-Tree fractal #3


H-Tree fractal #4


H-Tree fractal #5


H-Tree fractal #6


H-Tree fractal #7


H-Tree fractal #8


H-Tree fractal #9


H-Tree fractal #10


[…]

H-Tree fractal #13


H-Tree fractal #14


H-Tree fractal #15


Here’s an animation:

H-Tree fractal (animated at EZgif)


And here’s the H-tree in black-and-white:

H-Tree fractal #3

H-Tree fractal #6

H-Tree fractal #6

H-Tree fractal #12

H-Tree fractal #15

H-Tree fractal (animated at EZgif)


Because the construction of the H-tree is governed by a string of directions — for example, left-right-right-left-left-left… or 211222… — you can perform tests on that string to create sub-fractals from the super-fractal. Like this:

count(1) = count(2) in string to step 12


count(1) = count(2) in string (omitting lines)


sum(string) = mul(string)


sum(string) > mul(string)


count(1) = 2 or count(2) = 2 after step 2


count(1) < count(2)


count(1) < 3 or count(2) < 3 after step 6


value of string after step 8 > value of string at step 1


value after step 8 > value at step 4


value after step 8 < value step 1


ispalindrome(string) to step 11


ispalindrome(string) to step 18


ispalindrome(string) to step 20


alternating 121… or 212… in string after step 9


ispolygonal(sum(string[i]-1),pol=10)


isprime(sum(string))


sum(string[i]-1) mod 13 = 0


sum(string[i]-1) mod 13 = 1


sum(string[i]-1) mod 16 = 0


sum(string[i]-1) mod 18 = 0


Jewel Tree

Dual tree for Farey tessellation and positive Farey tree (from ResearchGate)


• Die Geometrie besitzt zwei große Schätze: einer ist der Satz von Pythagoras, der andere die Teilung einer Strecke nach dem äußeren und mittleren Verhältnis. Den ersten dürfen wir mit einem Scheffel Gold vergleichen; den zweiten nennen wir ein kostbares Juwel. — Johannes Kepler

• “Geometry has two great treasures: one is the Theorem of Phythagoras, the other the division of a line in extreme and mean ratio. The first we can compare to a mass of gold; the other we may call a precious jewel.”

ResidUlam

Seq’ and ye shall find. So what’s the next number in this sequence?

1, 1, 3, 1, 5, 3, 7, 1, 9, 5, 11, 3, 13, 7, 15, 1, 17, 9, 19, ?


It’s simple once you’ve spotted the rule. List the counting numbers. If a number is a multiple of 2, divide it by 2 until it’s no longer a multiple of 2 and it becomes what I call a 2-residue. Like this:

reduce(2,n) = 1, 2 → 1, 3, 4 → 2 → 1, 5, 6 → 3, 7, 8 → 4 → 2 → 1, 9, 10 → 5, 11, 12 → 6 → 3, 13, 14 → 7, 15, 16 → 8 → 4 → 2 → 1, 17, 18 → 9, 19, 20 → 10 → 5... — A000265 at the Online Encyclopedia of Integer Sequences (OEIS)


So the next number was 5. Now, what’s the next number in this sequence?

1, 2, 1, 4, 5, 2, 7, 8, 1, 10, 11, 4, 13, 14, 5, 16, 17, 2, 19, 20, ?


The rule now is: divide multiples of 3 by 3 until they’re no longer multiples of 3.

reduce(3,n) = 1, 2, 1, 4, 5, 2, 7, 8, 1, 10, 11, 4, 13, 14, 5, 16, 17, 2, 19, 20, 7, 22, 23, 8, 25, 26, 1, 28, 29, 10, 31, 32, 11, 34, 35, 4, 37, 38, 13, 40, 41, 14, 43, 44, 5, 46, 47, 16, 49, 50, 17, 52, 53, 2, 55, 56, 19, 58, 59, 20, 61, 62, 7, 64, 65, 22, 67, 68, 23, 70, 71, 8, 73, 74, 25, 76, ... — A038502 at OEIS


So the next number is 7, the 3-residue of 21. After looking at these sequences, I did what I usually did and tried them on an Ulam spiral. The sum of reduce(2,n) is this:

1, 2, 5, 6, 11, 14, 21, 22, 31, 36, 47, 50, 63, 70, 85, 86, 103, 112, 131, 136, 157, 168, 191, 194, 219, 232, 259, 266, 295, 310, 341, 342, 375, 392, 427, 436, 473, 492, 531, 536, 577, 598, 641, 652, 697, 720, 767, 770, 819, 844, 895, 908, 961, 988, 1043, 1050, 1107, 1136, 1195, 1210, 1271, 1302, 1365, 1366, 1431, 1464, 1531, 1548, 1617, 1652, 1723, 1732, 1805, 1842, 1917, 1936, 2013, 2052, 2131, 2136, 2217, 2258, 2341, 2362, 2447, 2490, 2577, 2588, 2677, 2722, 2813, 2836, 2929, 2976... — A135013 at OEIS


And on an Ulam spiral, the sequence looks like this:

Ulam-like spiral for sum(reduce(2,n)) = 1, 2, 5, 6, 11, 14, 21, 22, 31, 36, 47…


Here are more ResidUlam spirals (not all at the same resolution):

Spiral for sum(reduce(3,n))


Spiral for sum(reduce(4,n))


Spiral for sum(reduce(10,n))


Spiral for sum(reduce(11,n))


Spiral for sum(reduce(18,n))


Spiral for sum(reduce(28,n))


Spiral for sum(reduce(51,n))


N.B. THe 51-ResidUlam doesn’t look like that because the numbers are thinning, but because sum(reduce(51,n)) concentrates them in certain parts of the spiral. Compare sum(reduce(64,n)):

Spiral for sum(reduce(64,n))


Next, you can try reducing numbers with more than one multiple. For example, if you reduce the counting numbers by 2 and 3, you get this sequence:

reduce(2,3,n) = 1, 1, 1, 1, 5, 1, 7, 1, 1, 5, 11, 1, 13, 7, 5, 1, 17, 1, 19, 5, 7, 11, 23, 1, 25, 13, 1, 7, 29, 5, 31, 1, 11, 17, 35, 1, 37, 19, 13, 5, 41, 7, 43, 11, 5, 23, 47, 1, 49, 25, 17, 13, 53, 1, 55, 7, 19, 29, 59, 5, 61, 31, 7, 1, 65, 11, 67, 17, 23, 35, 71, 1, 73, 37, 25, 19, 77, 13, 79, 5, 1, ... — A065330 at OEIS


sum(reduce(2,3,n)) = 1, 2, 3, 4, 9, 10, 17, 18, 19, 24, 35, 36, 49, 56, 61, 62, 79, 80, 99, 104, 111, 122, 145, 146, 171, 184, 185, 192, 221, 226, 257, ...


On an ResiduUlam spiral, sum(reduce(2,3,n)) looks like this at higher and higher resolution:

Spiral for sum(reduce(2,3,n)) #1


Spiral for sum(reduce(2,3,n)) #2


Spiral for sum(reduce(2,3,n)) #3


Spiral for sum(reduce(2,3,n)) #4


Now try another double-reducer:

reduce(6,3,n) = 1, 2, 1, 4, 5, 1, 7, 8, 1, 10, 11, 2, 13, 14, 5, 16, 17, 1, 19, 20, 7, 22, 23, 4, 25, 26, 1, 28, 29, 5, 31, 32, 11, 34, 35, 1, 37, 38, 13, 40, 41, 7, 43, 44, 5, 46, 47, 8, 49, 50, 17, 52, 53, 1, 55, 56, 19, 58, 59, 10, 61, 62, 7, 64, 65, 11, 67, 68, 23, ...


sum(reduce(6,3,n)) = 1, 3, 4, 8, 13, 20, 28, 29, 39, 50, 52, 65, 79, ...


Note that it’s important to reduce by 6 before reducing by 3 (reducing by 3 first would mean no numbers to reduce by 6). Here’s the ResidUlam spiral:

Spiral for sum(reduce(6,3,n)) #1


Spiral for sum(reduce(6,3,n)) #2


Spiral for sum(reduce(6,3,n)) #3


Spiral for sum(reduce(6,3,n)) #4


And two more double-multiple ResidUlams:

Spiral for sum(reduce(7,3,n))


Spiral for sum(reduce(10,8,n))