login
A228667
Array: row n shows the accelerated continued fraction of F(n+1)/F(n), where F = A000045 (Fibonacci numbers).
2
1, 2, 1, 2, 1, 1, 2, 2, -2, -2, 2, -3, 3, 2, -3, 2, 2, 2, -3, 3, -3, 2, -3, 3, -2, -2, 2, -3, 3, -3, 3, 2, -3, 3, -3, 2, 2, 2, -3, 3, -3, 3, -3, 2, -3, 3, -3, 3, -2, -2, 2, -3, 3, -3, 3, -3, 3, 2, -3, 3, -3, 3, -3, 2, 2, 2, -3, 3, -3, 3, -3, 3, -3, 2, -3, 3
OFFSET
0,2
COMMENTS
The accelerated continued fraction (ACF) of a positive rational number x/y, where GCD(x,y) = 1, is defined by the algorithm below. The number of terms in ACF(x/y) is <= the number of terms in the classical continued fraction CF(x/y).
Step 1. Put w = Mod[x,y]. If w=0, put c(0) = x/y and Stop.
If 0 < w <= y/2, put c(0) = floor(x/y), u->y, v->w, f->1, go to step 2;
if w>y/2, put c(0) = 1 + floor(x/y), u->y, v->y - w, f->-1, go to step 2.
For i>=2, Step i is in 5 cases, as follows:
Case 0.1: f = 1 and w = 0. Put w = Mod[x,y] and c(i) = u/v and Stop.
Case 0.2: f = -1 and w = 0. Put w = Mod[x,y] and c(i) = -u/v and Stop.
Case 1: f = 1 and w <= v/2. Put w = Mod[x,y] and c(i) = floor(u/v), u->v, v->w, f->1, go to step i+1.
Case 2: f = 1 and w > v/2. Put w = Mod[x,y] and c(i) = 1 + floor(u/v), u->y, v->v - w, f->-1, go to step i+1.
Case 3: f = -1 and w <= v/2. Put w = Mod[x,y] and c(i) = -floor(u/v), u->v, v->w, f->-1, go to step i+1.
Case 4: f = -1 and w > v/2. Put w = Mod[x,y] and c(i) = -1 - floor(u/v), u->y, v->v - w, f->-f, go to step i+1.
(End)
EXAMPLE
x/y ......... ACF(x/y)
1/1 ......... 1
2/1 ......... 2
3/2 ......... 1,2
5/3 ......... 1,1,2
8/5 ......... 2,-2,-2
13/8 ........ 2,-3,3
21/13 ....... 2,-3,2,2
34/21 ....... 2,-3,3,-3
55/34 ....... 2,-3,3,-2,-2
89/55 ....... 2,-3,3,-3,3
MATHEMATICA
$MaxExtraPrecision = Infinity; aCF[rational_] := Module[{steps = {}, stop = False, i = 0, x = Numerator[rational], y = Denominator[rational], w, u, v, f, c}, (*Step 1*)w = Mod[x, y]; Which[w == 0, c[i] = x/y; stop = True; AppendTo[steps, "A"], 0 < w <= y/2, c[i] = Floor[x/y]; {u, v, f} = {y, w, 1}; AppendTo[steps, "B"], w > y/2, c[i] = 1 + Floor[x/y]; {u, v, f} = {y, y - w, -1}; AppendTo[steps, "C"]]; i++; (*Step 2*)While[stop =!= True, w = Mod[u, v]; Which[f == 1 && w == 0, c[i] = u/v; stop = True; AppendTo[steps, "0.1"], f == -1 && w == 0, c[i] = -u/v; stop = True; AppendTo[steps, "0.2"], f == 1 && w <= v/2, c[i] = Floor[u/v]; {u, v, f} = {v, w, 1}; AppendTo[steps, "1"], f == 1 && w > v/2, c[i] = 1 + Floor[u/v]; {u, v, f} = {v, v - w, -1}; AppendTo[steps, "2"], f == -1 && w <= v/2, c[i] = -Floor[u/v]; {u, v, f} = {v, w, -1}; AppendTo[steps, "3"], f == -1 && w > v/2, c[i] = -1 - Floor[u/v]; {u, v, f} = {v, v - w, -f}; AppendTo[steps, "4"]]; i++]; (*Display results*){FromContinuedFraction[#], {"Steps", steps}, {"ACF", #}, {"CF", ContinuedFraction[x/y]}} &[Map[c, Range[i] - 1]]]
Table[aCF[Fibonacci[n + 1]/Fibonacci[n]], {n, 1, 20}]
(* Peter J. C. Moses, Aug 28 2013 *)
CROSSREFS
KEYWORD
tabf,easy,sign
AUTHOR
Clark Kimberling, Aug 29 2013
STATUS
approved