Re: Smarter way to calculate middle-right terms of continued fraction partial sums
- To: mathgroup at smc.vnet.net
- Subject: [mg70080] Re: Smarter way to calculate middle-right terms of continued fraction partial sums
- From: ab_def at prontomail.com
- Date: Mon, 2 Oct 2006 00:34:11 -0400 (EDT)
- References: <eflefm$dg8$1@smc.vnet.net><efnui4$7m8$1@smc.vnet.net>
Diana wrote:
> > Note that the signs of a1 alternate between positive and positive.
> Likewise, all the variables alternate in sign.
>
> That would be "the signs of a1 alternate between positive and
> negative."
>
>
> Diana M.
I think you forgot to mention that d[n] was defined as
d[n_] := Product[a[k]^2^(n - k), {k, n}]
You can generate the polynomial convergents automatically, as was
discussed on this list quite recently:
pcf[e_] := Drop[#, -2]&@ NestWhile[
Flatten@ {Drop[#, -2], PolynomialReduce @@ #[[{-1, -2}]], #[[-2]]}&,
{Denominator@ #, Numerator@ #}&@ Together@ e,
!TrueQ[#[[-2]] == 0]&]
In[3]:= pcf[Sum[1/d[k], {k, 4}]]
Out[3]= {0, a[1], -a[2], -a[1], -a[3], a[1], a[2], -a[1], -a[4], a[1],
-a[2], -a[1], a[3], a[1], a[2], -a[1]}
Then you can extract the indices and look up the sequence, e.g., in
Sloane's Encyclopedia of Integer Sequences:
In[4]:= % /. a -> (#&)
Out[4]= {0, 1, -2, -1, -3, 1, 2, -1, -4, 1, -2, -1, 3, 1, 2, -1}
Without the signs this is the ruler function. To account for signs,
consider that +/-n appears at positions (2*k + 1)*2^(n - 1) + 1 and the
signs are alternating (between positive and...well, not positive), so
the sign depends on Mod[k, 2]:
lcf[n_] := Module[
{L = Range[2^n - 1], Lpow},
Lpow = IntegerExponent[L, 2];
Prepend[(-1)^(Quotient[Quotient[L, 2^Lpow] - 1, 2] + Mod[L, 2] + 1)*
a /@ (Lpow + 1),
0]
]
In[6]:= lcf[6] === pcf[Sum[1/d[k], {k, 6}]]
Out[6]= True
Note that the 33rd term is -a[6], not +a[6].
Maxim Rytin
m.r at inbox.ru
***********************************