does anyone have a program for the period length of a continued fraction?

• To: mathgroup at smc.vnet.net
• Subject: [mg23216] does anyone have a program for the period length of a continued fraction?
• From: "Matthew Herman" <Henayni at hotmail.com>
• Date: Mon, 24 Apr 2000 01:12:23 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```I am working on a program for pell's equation, and I need this.
In the meantime, here is a program for the {a1,a2...an} list of a finite
or infinite continued fraction and another for the convergents. If
anyone has any comments or suggestions.. let me know. FullExtendedGCD is
taken from Stan Wagon's "Mathematica in Action".

contfrac[a_,b_]:=
If[IntegerQ[a =
b],Part[FullExtendedGCD[a,b],2],Floor[NestList[r,a,b-1]]]
r[x_] := 1/(x - Floor[x])

FullExtendedGCD[a_, b_] := FullExtendedGCD[a, b, {a}, {}]
FullExtendedGCD[a_, b_, r_, q_] := FullExtendedGCD[
b, Mod[a,b], Append[r, b], Append[q, Floor[a/b]]]
FullExtendedGCD[a_, 0, r_, q_]  :=
Block[{s = {1, 0}, t = {0, 1}},
Scan[(AppendTo[t, t[[-2]] - t[[-1]] #];
AppendTo[s, s[[-2]] - s[[-1]] #]) &, q];
{r, q, s, t}]

(conv[a_, b_] :=
Table[p[a, b, k]/q[a, b, k], {k, 1, Length[contfrac[a, b]]}]
p[a_,b_,n_]:=Part[contfrac[a,b],n]p[a,b,n-1]+p[a,b,n-2]
p[a_,b_,2]:=Part[contfrac[a,b],1]*Part[contfrac[a,b],2]+1
p[a_,b_,1]:=Part[contfrac[a,b],1]
q[a_,b_,1]:=1
q[a_,b_,2]:=Part[contfrac[a,b],2]
q[a_,b_,n_]:=Part[contfrac[a,b],n]q[a,b,n-1]+q[a,b,n-2]

thanks,

matt

```

• Prev by Date: how to XY plot a list of complex numbers?
• Next by Date: Re: Remote kernel with ssh
• Previous by thread: Re: how to XY plot a list of complex numbers?