Tie-Phi, Cy-Phi

More and more slowly. That’s how this function increases:

x = x + 1/x

x = 1
1 + 1/1 = 2
2 + 1/2 = 2_1/2
2_1/2 + 1/2_1/2 = 2_9/10
2_9/10 + 1/2_9/10 = 3_71/290
3_71/290 + 1/3_71/290 = 3_150911/272890 = 3.5530103704…
3.5530103704… + 1/3.5530103704… = 3.8344618428…
3.8344618428… + 1/3.8344618428… = 4.0952546322…
4.0952546322… + 1/4.0952546322… = 4.33943969272…
4.3394396927… + 1/4.3394396927… = 4.56988419035…
4.5698841903… + 1/4.5698841903… = 4.78870811637…
4.7887081163… + 1/4.7887081163… = 4.99753270449…
4.9975327044… + 1/4.9975327044… = 5.19763144503…
[…]

But you can tie the function down, as it were, by changing it to this:

x = 1 + 1/x

x = 1
1 + 1/1 = 2
1 + 1/2 = 1_1/2 = 1.5
1 + 1/1_1/2 = 1_2/3 = 1.66666…
1 + 1/1_2/3 = 1_3/5 = 1.6
1 + 1/1_3/5 = 1_5/8 = 1.625
1 + 1/1_5/8 = 1_8/13 = 1.615384615384615384…
1 + 1/1_8/13 = 1_13/21 = 1.619047619047619047619047619…
1 + 1/1_13/21 = 1_21/34 = 1.617647058823529411764705882…
1 + 1/1_21/34 = 1_34/55 = 1.6181818…
1 + 1/1_34/55 = 1_55/89 = 1.617977528089887640449438202…
1 + 1/1_55/89 = 1_89/144 = 1.6180555…
1 + 1/1_89/144 = 1_144/233 = 1.618025751072961373390557940…
1 + 1/1_144/233 = 1_233/377 = 1.618037135278514588859416446…
1 + 1/1_233/377 = 1_377/610 = 1.618032786885245901639344262…
1 + 1/1_377/610 = 1_610/987 = 1.618034447821681864235055724…
1 + 1/1_610/987 = 1_987/1597 = 1.618033813400125234815278648…
1 + 1/1_987/1597 = 1_1597/2584 = 1.618034055727554179566563468…
1 + 1/1_1597/2584 = 1_2584/4181 = 1.618033963166706529538387946…
1 + 1/1_2584/4181 = 1_4181/6765 = 1.618033998521803399852180340…
1 + 1/1_4181/6765 = 1_6765/10946 = 1.618033985017357938973140873…
[…]

You could call the function “x = 1 + 1/x” a tie-phi, because it generates the golden ratio, a fascinating mathematical constant also known as phi or φ = 1.6180339887498948482… Note how the denominator (the lower part) of each fraction above becomes the numerator (the upper part) of the next fraction. The function is reproducing the Fibonacci sequence, which starts with “1, 1” and proceeds by adding the two previous numbers:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597…

Dividing each number by the previous number yields a better and better approximation of φ (but never reaches the exact value of φ, which is an irrational number, that is, it cannot be expressed as a ratio of two whole numbers). And what about the function x = 1 – 1/x? If you remember that subtracting a negative number is the same as adding a positive number, you can work it out like this:

x = 1 – 1/x

x = 2

1 – 1/2 = 1/2 = 0.5
1 – 1/1/2 = -1
1 – 1/-1 = 2
1 – 1/2 = 1/2 = 0.5
1 – 1/1/2 = -1
1 – 1/-1 = 2
1 – 1/2 = 1/2 = 0.5
1 – 1/1/2 = -1
1 – 1/-1 = 2
[…]

x = 3

1 – 1/3 = 2/3 = 0.66666…
1 – 1/2/3 = -1/2 = -0.5
1 – 1/-1/2 = 3
1 – 1/3 = 2/3 = 0.66666…
1 – 1/2/3 = -1/2 = -0.5
1 – 1/-1/2 = 3
1 – 1/3 = 2/3 = 0.66666…
1 – 1/2/3 = -1/2 = -0.5
1 – 1/-1/2 = 3 = 3
1 – 1/3 = 2/3 = 0.66666…
[…]

x = 73

1 – 1/73 = 72/73 = 0.98630136986301369863013…
1 – 1/72/73 = -1/72 = -0.01388888…
1 – 1/-1/72 = 73
1 – 1/73 = 72/73 = 0.98630136986301369863013…
1 – 1/72/73 = -1/72 = -0.01388888…
1 – 1/-1/72 = 73
1 – 1/73 = 72/73 = 0.98630136986301369863013…
1 – 1/72/73 = -1/72 = -0.01388888…
1 – 1/-1/72 = 73
[…]

The function falls into an endless loop of period 3. But what about using the two functions together, first x = 1 + 1/x, then x = 1 – 1/x, then repeating?

loop(x = 1 + 1/x, x = 1 – 1/x)

x = 1
1 + 1/1 = 2
1 – 1/2 = 1/2 = 0.5
1 + 1/1/2 = 3
1 – 1/3 = 2/3 = 0.666666…
1 + 1/2/3 = 2_1/2 = 2.5
1 – 1/2_1/2 = 3/5 = 0.6
1 + 1/3/5 = 2_2/3 = 2.66666…
1 – 1/2_2/3 = 5/8 = 0.625
1 + 1/5/8 = 2_3/5 = 2.6
1 – 1/2_3/5 = 8/13 = 0.615384615384…
1 + 1/8/13 = 2_5/8 = 2.625
1 – 1/2_5/8 = 13/21 = 0.619047619047619…
1 + 1/13/21 = 2_8/13 = 2.615384615384615384…
1 – 1/2_8/13 = 21/34 = 0.6176470588235294117647058824…
1 + 1/21/34 = 2_13/21 = 2.619047619047619047619047619…
1 – 1/2_13/21 = 34/55 = 0.6181818181818181818181818182…
1 + 1/34/55 = 2_21/34 = 2.617647058823529411764705882…
1 – 1/2_21/34 = 55/89 = 0.6179775280898876404494382022…
1 + 1/55/89 = 2_34/55 = 2.6181818…
1 – 1/2_34/55 = 89/144 = 0.618055555…
1 + 1/89/144 = 2_55/89 = 2.617977528089887640449438202…
1 – 1/2_55/89 = 144/233 = 0.6180257510729613733905579399…
1 + 1/144/233 = 2_89/144 = 2.618055555…
1 – 1/2_89/144 = 233/377 = 0.6180371352785145888594164456…
1 + 1/233/377 = 2_144/233 = 2.618025751072961373390557940…
1 – 1/2_144/233 = 377/610 = 0.6180327868852459016393442623…
1 + 1/377/610 = 2_233/377 = 2.618037135278514588859416446…
1 – 1/2_233/377 = 610/987 = 0.6180344478216818642350557244…
1 + 1/610/987 = 2_377/610 = 2.618032786885245901639344262…
1 – 1/2_377/610 = 987/1597 = 0.6180338134001252348152786475…

Phi and the Fibonacci sequence are back, but in a zig-zagging or two-steps-forward, one-step-back kind of way. Now adapt the two previous functions slightly. Here’s the plus function adapted:

x = 2 + 1/x

x = 1

2 + 1/1 = 3…
2 + 1/3 = 2_1/3 = 2.33333…
2 + 1/2_1/3 = 2_3/7 = 2.428571428571428571…
2 + 1/2_3/7 = 2_7/17 = 2.411764705882352941176470588…
2 + 1/2_7/17 = 2_17/41 = 2.414634146341463…
2 + 1/2_17/41 = 2_41/99 = 2.41414141…
2 + 1/2_41/99 = 2_99/239 = 2.414225941422594142259414226…
2 + 1/2_99/239 = 2_239/577 = 2.414211438474870017331022530…
2 + 1/2_239/577 = 2_577/1393 = 2.414213926776740847092605887…
2 + 1/2_577/1393 = 2_1393/3363 = 2.414213499851323223312518585…
[…]

This function is generating Pell numbers and approximating the value 1 + √2, where √2 = 1.414213562373095048801688724… Now try adapting the minus function:

x = 2 – 1/x

x = 2

2 – 1/2 = 1_1/2 = 1.5
2 – 1/1_1/2 = 1_1/3 = 1.33333…
2 – 1/1_1/3 = 1_1/4 = 1.25
2 – 1/1_1/4 = 1_1/5 = 1.2
2 – 1/1_1/5 = 1_1/6 = 1.166666…
2 – 1/1_1/6 = 1_1/7 = 1.142857142857142857…
2 – 1/1_1/7 = 1_1/8 = 1.125
2 – 1/1_1/8 = 1_1/9 = 1.11111…
2 – 1/1_1/9 = 1_1/10 = 1.1
2 – 1/1_1/10 = 1_1/11 = 1.09090909…
2 – 1/1_1/11 = 1_1/12 = 1.0833333…
2 – 1/1_1/12 = 1_1/13 = 1.0769230769230769230…
2 – 1/1_1/13 = 1_1/14 = 1.0714285714285714285…
2 – 1/1_1/14 = 1_1/15 = 1.0666666…
2 – 1/1_1/15 = 1_1/16 = 1.0625
[…]

Where x = 1 – 1/x falls into an endless loop, x = 2 – 1/x endlessly falls towards 1. Now try combining x = 2 + 1/x and x = 2 – 1/x. The result might be surprising:

loop(x = 2 + 1/x, x = 2 – 1/x)

x = 1

2 + 1/1 = 3
2 – 1/3 = 1_2/3 = 1.66666…
2 + 1/1_2/3 = 2_3/5 = 2.6
2 – 1/2_3/5 = 1_8/13 = 1.615384615384615384…
2 + 1/1_8/13 = 2_13/21 = 2.619047619047619047619047619…
2 – 1/2_13/21 = 1_34/55 = 1.618181818181818181818181818…
2 + 1/1_34/55 = 2_55/89 = 2.617977528089887640449438202…
2 – 1/2_55/89 = 1_144/233 = 1.618025751072961373390557940…
2 + 1/1_144/233 = 2_233/377 = 2.618037135278514588859416446…
2 – 1/2_233/377 = 1_610/987 = 1.618034447821681864235055724…
2 + 1/1_610/987 = 2_987/1597 = 2.618033813400125234815278648…
2 – 1/2_987/1597 = 1_2584/4181 = 1.618033963166706529538387946…
2 + 1/1_2584/4181 = 2_4181/6765 = 2.618033998521803399852180340…
2 – 1/2_4181/6765 = 1_10946/17711 = 1.618033990175597086556377393…
2 + 1/1_10946/17711 = 2_17711/28657 = 2.618033988205325051470844820…
2 – 1/2_17711/28657 = 1_46368/75025 = 1.618033988670443185604798401…
2 + 1/1_46368/75025 = 2_75025/121393 = 2.618033988780242682856507377…
2 – 1/2_75025/121393 = 1_196418/317811 = 1.618033988754322537608830406…
2 + 1/1_196418/317811 = 2_317811/514229 = 2.618033988748203621343798191…
2 – 1/2_317811/514229 = 1_832040/1346269 = 1.618033988749648101530971893…
2 + 1/1_832040/1346269 = 2_1346269/2178309 = 2.618033988749989097047296779…
2 – 1/2_1346269/2178309 = 1_3524578/5702887 = 1.618033988749908598925421458…
[…]

It’s a tie-phi again, with better and better aproximations to φ and φ + 1 = φ^2. Now another function that may be another surprise:

x = 5 – 5/x

x = 2

5 – 5/2 = 2_1/2 = 2.5
5 – 5/2_1/2 = 3 = 3
5 – 5/3 = 3_1/3 = 3.333333…
5 – 5/3_1/3 = 3_1/2 = 3.5
5 – 5/3_1/2 = 3_4/7 = 3.571428571428571428…
5 – 5/3_4/7 = 3_3/5 = 3.6
5 – 5/3_3/5 = 3_11/18 = 3.611111…
5 – 5/3_11/18 = 3_8/13 = 3.615384615384615384615384615…
5 – 5/3_8/13 = 3_29/47 = 3.61702127659574468085106383…
5 – 5/3_29/47 = 3_21/34 = 3.617647058823529411764705882…
5 – 5/3_21/34 = 3_76/123 = 3.617886178861788617886178862…
5 – 5/3_76/123 = 3_55/89 = 3.617977528089887640449438202…
5 – 5/3_55/89 = 3_199/322 = 3.618012422360248447204968944…
5 – 5/3_199/322 = 3_144/233 = 3.61802575107296137339055794…
5 – 5/3_144/233 = 3_521/843 = 3.618030842230130486358244365…
5 – 5/3_521/843 = 3_377/610 = 3.618032786885245901639344262…
5 – 5/3_377/610 = 3_1364/2207 = 3.618033529678296329859537834…
[…]

It’s a tie-phi with the Fibonacci sequence again. But only the Fibonacci sequence. The Lucas sequence too:

2, 1, 3, 4, 7, 11, 18, 29, 47, 76, 123, 199, 322, 521, 843, 1364, 2207, 3571, 5778…

The Lucas sequence is generated by the same rule as the Fibonacci sequence — add the two previous numbers — but it’s seeded with “2, 1” rather than “1, 1”.

Finally, if you’re wondering where cy-phi is, it’s here:

x = 1 – 1/x

x = φ

φ – 1/φ = 2 – φ = 0.3819660112501052…
2-φ – 1/(2-φ) = -φ = -1.6180339887498948…
-φ – 1/-φ = φ = 1.6180339887498948…
2-φ = 0.3819660112501052…
-φ = -1.6180339887498948…
φ 1.6180339887498948…
2-φ = 0.3819660112501052…
-φ = -1.6180339887498948…
[…]

That’s a cycling phi or cy-phi.

Think Frink

Inky Bloaters (1987) is the name of an album by psycho-songstress Danielle Dax. Frinky growthers are those who are interested in frincremental growth. That’s growth by fractions, as in the equation x = x + 1/x. If the initial x = 1, its frincremental growth looks like this:

1
1 + 1/1 = 1 + 1 = 2
2 + 1/2 = 2_1/2
2_1/2 + 1/2_1/2 = 2_9/10
2_9/10 + 1/2_9/10 = 3_71/290
3_71/290 + 1/3_71/290 = 3_150911/272890
3_150911/272890 → 3_220789390391/264588959090 → 4_25570190327910692085061/268440386798659418988490 → 4_100170363026578204006507990129853967021051645381/295105036840595214385430531020664149472669868290

As you can see, the numerators and denominators of the fractional part of x get very large very quickly. So you can’t track the frincremental growth of x with perfect accuracy. Even the most compendious computer will run out of space. But representing x as a decimal is usually enough for us frinky growthers:

1 + 1 = 2
2 + 1/2 = 2 + 0.5 = 2.5
2.5 + 1/2.5 = 2.9
3.244827586206896551724137931…
3.553010370478947561288431236…
3.834461842815967366750790750…
4.095254632258778985771918456…
4.339439692724345181049239663…
4.569884190357676650018985962…
4.788708116379690742064597208…
4.997532704493448986664559639…
5.197631445038131469095668466…
5.390026771750770995914851381…
5.575554607204394029915651664…
5.754908962142979073283550015…
5.928673657045750549124213874…
6.097345447373015508408978797…
6.261351244425377152997703626…
6.421061179383957004641284553…
6.576798676981813718180627345…

The larger x gets, the slower it grows. But it never stops growing and will pass any finite integer in finite time. I was interested in the fractional part of x += 1/x (a shorthand for x = x + 1/x). Plainly, it’s almost unique for every integer seed (the fractional part is identical, just displaced by one step, for initial x = 1 = 2). I graphed the fractional part of x += 1/x for 1, 2, 3, 4, 5… and discovered some interesting patterns:

frac(x) of x += 1/x for x = 1, 2, 3, 4, 5…


Later frac(x) of x += 1/x





In time, the rounded patterns disappear for lower initial x. But you also get symmetrical patterns for x += sqrt(x), that is, x = x + square_root(x). And they last longer:

frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… #1


frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… #2


frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… #3


frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… #4


frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… #5


Here’s an animation of the first fifty steps of x += sqrt(x):

animated frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… (animated at EZgif) (click for larger image)


And what about x += ln(x), or x = x + natural_logarithm(x)? The patterns are both more dynamic and longer-lasting for lower initial x:

frac(x) of x += ln(x) for 1, 2, 3, 4, 5… #1


frac(x) of x += ln(x) for 1, 2, 3, 4, 5… #2


frac(x) of x += ln(x) for 1, 2, 3, 4, 5… #3


frac(x) of x += ln(x) for 1, 2, 3, 4, 5… #4


And two animations of x += ln(x), one slower, one faster:

animated frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… (EZgif) (click for larger)


faster animated frac(x) of x += sqrt(x) for 1, 2, 3, 4, 5… (click for larger)


Size Scatters

While I play New Order, let’s view order. Below are some rational fractions ordered by increasing size of denominator (the lower part of the fraction, e.g. the 7 in 3/7) and numerator (the upper part of the fraction, e.g. the 5 in 5/9). Note the positions of 1/2 and 1/7:

1/2, 1/3, 2/3, 1/4, 3/4, 1/5, 2/5, 3/5, 4/5, 1/6, 5/6, 1/7, 2/7, 3/7, 4/7, 5/7, 6/7, 1/8, 3/8, 5/8, 7/8, 1/9, 2/9, 4/9, 5/9, 7/9, 8/9, 1/10, 3/10, 7/10, 9/10

Now let’s plot fractions ordered like that on a fract-L, a graph whose axes represent numbers < 1. If both x and y = 1/2, 1/3, 2/3, 1/4, 3/4, 1/5…, you get a line at 45°:

fract-L for x = 1/2, 1/3, 2/3…, y = 1/2, 1/3, 2/3…


If the fractions went to infinity, you’d get a solid line. As it is, you get some interesting splits in the 45° line. And when you plot the fractions like that, it’s easy to see that each point, (x,y), has a unique x and a unique y. But there are other ways to order the rational fractions. Try the same set ordered by the size of the decimal, not the denominator and numerator. In the previous set, 1/2 came before 1/7. Now 1/2 comes after 1/7, because 0.5 = 1/2 > 0.142857… = 1/7:

1/10, 1/9, 1/8, 1/7, 1/6, 1/5, 2/9, 1/4, 2/7, 3/10, 1/3, 3/8, 2/5, 3/7, 4/9, 1/2, 5/9, 4/7, 3/5, 5/8, 2/3, 7/10, 5/7, 3/4, 7/9, 4/5, 5/6, 6/7, 7/8, 8/9, 9/10

Now let’s plot x as the first set of fractions, ordered by size of denominator-and-numerator, and y as the second set of fractions, ordered by the size of the decimal. You’ll see that this kind of size scatters:

fract-L for x = 1/2, 1/3, 2/3, 1/4, 3/4, 1/5…, y = 1/10, 1/9, 1/8, 1/7, 1/6, 1/5, 2/9…


Now the points aren’t compressed into a 1-d line, but beginning to spread in 2-d space. The more fractions you use, the more the points spread. They remind me of papillae on a fractal tongue:

x = 1/2, 1/3, 2/3, 1/4, 3/4, 1/5… < 1/26, y = sizesort(1/2..1/26)


Papillae on a human tongue (image courtesy chatGPT)


x = denumsort(1/2..1/51), y = sizesort(1/2..1/51)


x = denumsort(1/2..101/), y = sizesort(1/2..1/101)


And the points seem to be occurring at the same x or y value. But that’s an artefact of a screen with limited pixels. On an impossible screen with infinite pixels, each (x,y) still has a unique x and unique y. Here are more fract-Ls with more fractions:

x = denumsort(1/2..1/151), y = sizesort(1/2..1/151)


x = denumsort(1/2..1/201), y = sizesort(1/2..1/201)


x = denumsort(1/2..1/251), y = sizesort(1/2..1/251)


finer detail for x = denumsort(1/2..1/251), y = sizesort(1/2..1/251)


x = denumsort(1/2..37/406), y = sizesort(1/2..37/406)


x = denumsort(1/2..1/501), y = sizesort(1/2..1/501)


Finally, to the closing bars of New Order, let’s view order in an animated gif:

x = denumsort(a/b), y = sizesort(a/b) (animated at EZgif)


Post-Performative Post-Scriptum…

In fact, I wasn’t listening to New Order to view order. I’m not a fan of New Order, just a fan of assonance.

Middlemoth

I’ve never read Middlemarch (1871). But I have seen a middlemoth. It was when I was looking at a new way of creating fractLs. A fractL is what I call a graph shaped like a capital L, with the x- and y-axes representing values between 0 and 1, like 1/2 and 1/3 and 8/55. You can also use numbers > 1 to create numbers < 1: 73 → 0.73; 128719 → 0.128719; and so on. But I decided to reverse the integer before converting it: 73 → 0.37; 128719 → 0.917821; and so on. And use different bases for the x- and y-axes. So that’s what I did on a fractL: I mapped fractions converted from integers in one base against fractions converted from integers in another base. The results, as you can see, were spectacularly dull:

fractL for int→frac in base 2 and base 6


fractL for int→frac in base 3 and base 6


fractL b04, b06


fractL b06, b08


So I decided to try some perspectivision, mapping the integer-fractions not on a fractL but on a fractO instead. A fractO is a circle where you find a point inside the circle by using two fractions, fr1 and fr2, to create two radian values: θ1 = fr1 * 2 * π and θ2 = fr2 * 2 * π. Then you use θ1 and θ2 to find two points on the perimeter of the circle, (x1, y1) and (x2, y2), and then find their midpoint, (x3, y3) = ((x1, y1) + (x2, y2)) / 2. The results this time are much more pleasing on the eye:

fractO for integers in base 2 and base 6

fractL b02, b06, for fractO b02, b06


Here’s an animated gif showing the conversion from visually dull fractL to visually interesting fractO:

fractL b02b06 to fractO b02b06 (animated at EZgif)


When I was looking at more fractOs, I found one that was lepidopterally interesting too:

fractO b09, b12 with middlemoth


fractO b09, b12 (middlemoth in green)


You can try spotting more pareidolia in more fractOs from reversed fractintegers:

fractO b03, b15

fractL b03, b15 for fractO above


fractL b03b15 to fractO b03b15 (animated at EZgif)


fractO b02, b10


fractO b02, b12


fractO b02, b14


fractO b03, b06


fractO b03, b12


fractO b03, b21


fractO b04, b06


fractO b04, b20


fractO b06, b08


fractO b09, b15


fractO b10, b24


fractO b12, b16


fractO b15, b20


fractO b24, b28


fractO b42, b78


fractO b02, b18 (fr2 x 3)


fractO b02, b06 (fr2 x 3)

Faux-Fib Funcs for Phiday

Today isn’t Friday, let alone Phriday. But it is Phiday, that is, it’s a date when the digits of the day of the month, the 23rd, reproduce two successive terms in the famous Fibonacci sequence:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155,…

The rule for the Fibonacci sequence is very simple. If n(i) represents the i-th term of the sequence, n(i) = n(i-1) + n(i-2). So 8, the sixth term, equals the sum of 3 and 5, the fourth and fifth terms, respectively. Dividing successive terms in the sequence, n(i)/n(i-1), gives you closer and closer approximations to a famous constant called the golden ratio or phi or φ, which equals 1.6180339887498948482045868343656381177203091798… So the Phidays in a month are the 11th, the 12th and the 23rd (except in other bases, where you can get 112 in base 3 = 14 in base 10 and 123 in b4 = 27 in b10). Obviously, you can try variants on the Fibonacci sequence. Here’s one I hadn’t tried before, summing the reciprocals of the two previous terms (1/x is the reciprocal of x) and seeded with (1,1):

f(i) = 1/f(i-1) + 1/f(i-2)

A good mathematician might not be surprised by what happens when you apply that function, but I was. Here’s the sequence in action:

1/1 + 1/1 = 1 + 1 = 2
1/2 + 1/1 = 1/2 + 1 = 3/2 = 1.5
1/2 + 1/(3/2) = 1/2 + 2/3 = 7/6 = 1.1666666666666666…
1/(3/2) + 1/(7/6) = 2/3 + 6/7 = 32/21 = 1.5238095238095…
1/(7/6) + 1/(32/21) = 6/7 + 21/32 = 339/224 = 1.51339285714285…
1/(32/21) + 1/(339/224) = 14287/10848 = 1.3170169616519174…
1/(339/224) + 1/(14287/10848) = 6877760/4843293 = 1.4200586254…
1/(14287/10848) = 1/(6877760/4843293) = 143806067571/98262557120 = 1.4634879427713391…

And here’s the sequence as a list:

1, 1, 2, 1.5, 1.16666666…, 1.52380952…, 1.51339286…, 1.31701696…, 1.42005863…, 1.46348794…, 1.38749538…, 1.40402222…, 1.43296256…, 1.41009438…, 1.40702733…, 1.41989064…, 1.41499784…, 1.41099445…, 1.41543487…, 1.41521666…, 1.41310224…, 1.41426846…, 1.41474221…, 1.41392189…, 1.4140952…, 1.41441861…, 1.41417024…, 1.41413272…, 1.41427565…, 1.41422294…, 1.41417783…, 1.41422674…, 1.41422484…, 1.41420133…, 1.41421404…, 1.41421944…, 1.41421039…, 1.41421221…, 1.41421583…, 1.41421311…, 1.41421266…, 1.41421424…, 1.41421367…, 1.41421317…, 1.4142137…, 1.41421369…, 1.41421343…, 1.41421357…, 1.41421363…, 1.41421353…, 1.41421355…, 1.41421359…

The successive terms themselves (not the division of two successive terms) get closer and closer to another famous constant, 1.4142135623… = sqrt(2) = √2 = the square root of 2. That is, 2 = 1.4142135623…^2 = √2 * √2 = 2.

Now try this faux-Fibonacci function, which sums the reciprocals of three previous terms and is seeded with (1,1,1):

f(i) = 1/f(i-1) + 1/f(i-2) + 1/f(i-3)

1, 1, 1, 3, 2.33333333…, 1.76190476…, 1.32947233…, 1.74831712…, 1.8917243…, 1.85277499…, 1.64032782…, 1.67798344…, 1.74531862…, 1.77854896…, 1.73117082…, 1.71286113…, 1.72371834…, 1.74160342…, 1.73814321…, 1.7296513…, 1.72766133…, 1.73229495…, 1.73423726…, 1.73270842…, 1.73102242…, 1.73144679…, 1.7323761…, 1.73248681…, 1.73199851…, 1.73181453…, 1.73200171…, 1.73216337…, 1.73210842…, 1.73201045…, 1.73200754…, 1.73205948…, 1.73207579…, 1.73205401…, 1.73203852…, 1.73204551…, 1.7320556…, 1.73205507…, 1.73204955…, 1.73204821…, 1.73205067…, 1.73205214…, 1.73205128…, 1.73205025…, 1.73205039…, 1.73205097…, 1.73205108…, 1.7320508…, 1.73205066…

This time the terms are approximating √3 = 1.7320508075688772…

The pattern should be becoming clear. Here’s a faux-Fibonacci function summing the reciprocals of four previous terms and seeded with (1,1,1,1):

f(i) = 1/f(i-1) + 1/f(i-2) + 1/f(i-3) + 1/f(i-4) = f(i) = sum(j=1,4,1/f(i-j)) → 1, 1, 1, 1, 4, 3.25…, 2.55769231…, 1.94866975…, 1.46184034…, 1.89590957…, 2.11566858…, 2.19735496…, 2.13927698…, 1.9226554…, 1.91531809…, 1.96476075…, 2.01863597…, 2.04657233…, 2.0150802…, 1.98923188…, 1.98297066…, 1.99188053…, 2.00529681…, 2.00771794…, 2.00308927…, 1.99802424…, 1.99648053…, 1.99868265…, 2.00093427…, 2.00147194…, 2.0006098…, 1.99957598…, 1.99935245…, 1.99974785…, 2.00017861…, 2.00028636…, 2.00010876…, 1.99991963…, 1.99987668…, 1.99995216…, 2.0000357…, 2.00005396…, 2.00002038…, 1.99998445…, 1.99997638…, 1.99999121…, 2.0000069…, 2.00001027…, 2.00000381…, 1.99999695…, 1.99999552…, 1.99999836…, 2.00000134…, 2.00000196…

It’s approximating √4 = 2. Finally, a faux-Fibonacci function summing five previous terms and seeded with (1,1,1,1,1):

f(i) = sum(j=1,5,1/f(i-j)) → 1, 1, 1, 1, 1, 5, 4.2, 3.43809524…, 2.72895396…, 2.09539474…, 1.57263179…, 2.00850854…, 2.26829518…, 2.41829618…, 2.46536969…, 2.39375132…, 2.1756289…, 2.13738424…, 2.1643861…, 2.2128966…, 2.25917432…, 2.28405957…, 2.26223931…, 2.2364176…, 2.22153651…, 2.21977901…, 2.22763471…, 2.23872439…, 2.24336745…, 2.24198222…, 2.23787719…, 2.23423394…, 2.23290801…, 2.23407155…, 2.23592634…, 2.2371344…, 2.23728276…, 2.23667283…, 2.235919…, 2.23554916…, 2.23562462…, 2.23592649…, 2.23619761…, 2.23629263…, 2.2362179…, 2.23608413…, 2.23599221…, 2.23597907…, 2.23602277…, 2.23607674…, 2.23610497…, 2.2361008…, 2.23607908…, 2.23605908…, 2.23605182…

f(i) = sum(j=1,5,1/f(i-j)) → √5 = 2.2360679774997896964…

What’s going on? Why does a faux-Fibonacci function summing the reciprocals of n previous terms approximate √n? Simple. It’s because √n/n = 1/√n, so:

√2 = 1/√2 + 1/√2
√3 = 1/√3 + 1/√3 + 1/√3
√4 = 1/√4 + 1/√4 + 1/√4 + 1/√4
√5 = 1/√5 + 1/√5 + 1/√5 + 1/√5 + 1/√5
√6 = 1/√6 + 1/√6 + 1/√6 + 1/√6 + 1/√6 + 1/√6
√7 = 1/√7 + 1/√7 + 1/√7 + 1/√7 + 1/√7 + 1/√7 + 1/√7

Now try a variant of this variant on the standard Fibonacci function. Rather than summing the reciprocals of n previous terms, that is, adding all the reciprocals, you can try adding some, subtracting others and leaving others out. When I played with add-subtract-ignore, I had another surprise. Consider the faux-Fibonacci function using four terms where you add f(i-4), subtract f(i-3) and f(i-2), and neither add nor subtract f(i-1). If it’s seeded with (1,1,1,1), it behaves like this (note that subtracting a negative number is the same as adding its positive form):

f(i) = 1/f(i-4) – 1/f(i-3) – 1/f(i-2) = f(i) = -1/f(i-2) – 1/f(i-3) + 1/f(i-4)

1, 1, 1, 1, -1, -1, 1, 3, -1, -2.33333333…, 1.66666667…, 1.76190476…, -1.17142857…, -1.596139…, 0.886090969…, 2.04773796…, -1.35569898…, -2.24340789…, 1.37783544…, 1.67172102…, -1.01765253…, -1.76971243…, 1.11024382…, 2.14590316…, -1.31829317…, -1.93177087…, 1.19325541…, 1.7422206…, -1.07894042…, -1.92968341…, 1.19089866…, 2.01903508…, -1.24831753…, -1.85320783…, 1.14549415…, 1.83596921…, -1.13445903…, -1.95726202…, 1.20979165…, 1.93706664…, -1.19714822…, -1.85375091…, 1.14566257…, 1.89100976…, -1.16872901…, -1.94112216…, 1.19966969…, 1.89961427…, -1.17402719…, -1.87515137…, 1.15890915…, 1.91148197…, -1.18135916…, -1.91932498…, 1.18620874…, 1.89065342…, -1.16848806…, -1.89295612…, 1.16991105…, 1.91299871…, -1.18229835…, -1.90577961…, 1.17783653…, 1.89326935…, -1.1701048…, -1.90192076…, 1.17545169…, 1.90859542…, -1.17957683…, -1.90046656…, 1.17455293…, 1.89789374…, -1.17296284…, -1.90447424…, 1.17702981…, 1.90452112…, -1.17705878…, -1.89974183…, 1.17410502…, 1.90102893…, -1.17490049…, -1.9041308…, 1.17681755…, 1.90234084…, -1.1757113…, -1.90059155…, 1.17463018…, 1.90236908…, -1.17572875…, -1.90314411…, 1.17620774…, 1.90164296…, -1.17527998…, -1.9014973…, 1.17518996…, 1.90262351…, -1.17588599…, -1.90241767…, 1.17575878…, 1.90165956…, -1.17529024…, -1.902018…, 1.17551177…, 1.90246751…

The function cycles through approximations of four constants consisting of successive pairs that are identical except for their sign (positive and negative). When you square those constants, you get this (multiplying two negative numbers is the same as multiplying their positive forms):

+1.1755705045849462583374119093…^2 = 1.3819660112501051517954131656…
+1.9021130325903071442328786668…^2 = 3.6180339887498948482045868343…
-1.1755705045849462583374119093…^2 = 1.3819660112501051517954131656…
-1.9021130325903071442328786668…^2 = 3.6180339887498948482045868343…

I was surprised to see that φ had appeared:

3.6180339887498948482045868344… = 2 + φ = 1 + φ^2
1.3819660112501051517954131656… = 1 + (φ-1)^2 = 1 + (1/φ)^2


Elsewhere Other-Accessible…

Friday is Φday — a first look at Phiday

Formulas Focal to the Flesh

Here’s an interesting formula:

fr(1) = 1/2; mx = 3
fr(i) = fr(i-1) + 1/fr(i-1)
if fr(i) > mx, fr(i) = fr(i) – mx

Early terms look like this:

0.5, 2.5, 2.9, 3.244827586…, 4.329334628…, 2.081590666…, 2.561992513…, 2.952313716…, 3.291031107…, 3.727089920…, 2.102435627…, 2.578074447…, 2.965960841…, 3.303119709…, 3.602146368…, 2.262872154…, 2.704788415…, 3.074503101…, 13.49676325…, 10.59203071…, 7.723747777…, 4.935444092…, 2.452121378…, 2.859931533…, 3.209590254…, 4.980804482…, 2.485649867…, 2.887959143…, 3.234224430…, 4.503633905…, 2.168689406…

Can you see any patterns emerging? I’d guess not. And I’d guess a thousand more terms wouldn’t help you see any better. It’s hard for humans to see patterns in a jumble of numbers. Our eyes don’t work as well on numbers as on shapes. That’s why you can make that formula focal to the flesh, as it were, by plotting the numbers on a graph. Or part of the numbers, anyway. Suppose you take the fractional parts of each pair of terms and use them to map (x,y) on a FractL (my name for a graph whose arms run from 0 to 1). For example, the terms 4.935444092… and 2.452121378… would yield x = 0.935444092… and y = 0.452121378… (or vice versa). The resultant graph makes the formula focal to the flesh. And it’s replete with patterns:

fr(i)+=1/fr(i-1); if fr(i)>3, fr(i)-=3; x = frac(fr(i)), y = frac(fr(i+1))


I can’t explain the patterns and they may arise from limited precision in the decimal digits. But I like them however they arise. The graph doesn’t change when mx = 4 (although it creates the lines in a different order):

if fr(i)>4, fr(i)-=4


But it does change when mx = 4/3. The lines almost vanish, except for a tiny comet-like mark towards the upper right-hand corner:

if fr(i)>4/3, fr(i)-=4/3


When mx = 7/2, the graph of mx = 3|4 is back in a slightly different form:

if fr(i)>7/2, fr(i)-=7/2


And again with 7/3:

if fr(i)>7/3, fr(i)-=7/3


There’s a big change with 7/4, Most of the lines disappear:

if fr(i)>7/4, fr(i)-=7/4


And only the main lines appear with 9/5:

if fr(i)>9/5, fr(i)-=9/5


And so on till you try fr -= 2/f, as noted below:

if fr(i)>11/5, fr(i)-=11/5


if fr(i)>11/6, fr(i)-=11/6


if fr(i)>15/8, fr(i)-=15/8


if fr(i)>29/15, fr(i)-=29/15


Now try fr += 2/fr and fr += 3/fr. This is what happens:

fr += 2/fr; if fr(i)>3, fr(i)-=3


fr += 2/fr; if fr(i)>8/3, fr(i)-=8/3


fr += 2/fr; if fr(i)>11/4, fr(i)-=11/4


fr += 3/fr; if fr(i)>6, fr(i)-=6


And what about these graphs?




They’re created by seeding a sum, s, with a fraction, then adding more fractions < 1 whose numerators = 1,2,3… and whose denominators are the prime numbers 1, s -= 1. When s > 1, s -= 1. Then you take the fractional parts of s(i) and s(i+1) and graph (x,y) as above.


Post-Performative Post-Scriptum

The title of this post refers to Morbid Angel’s Formulas Fatal to the Flesh (1998). I’ve never heard it, but I like Morbid Angel’s alphabetically alliterative album-titles.