MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: help working with functions (follow-up)

  • To: mathgroup at smc.vnet.net
  • Subject: [mg60007] Re: [mg59987] help working with functions (follow-up)
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Sun, 28 Aug 2005 03:07:41 -0400 (EDT)
  • Reply-to: hanlonr at cox.net
  • Sender: owner-wri-mathgroup at wolfram.com

Amplifying on my previous response

f1[i_,j_,n_]:= Module[{k=0},
      Nest[
        Append[#,#[[-2]]+#[[-1]]+i*j^(k++)]&, 
        {0,1}, n-2]];

f1[0,4,10]

{0,1,1,2,3,5,8,13,21,34}

You can also solve for the closed form

expr=FullSimplify[a[k]/.
      RSolve[{a[k]==a[k-1]+a[k-2]+i*j^(k-2),a[0]==0,a[1]==1}, a[k], k][[1]],
    Element[k, Integers]]

(2^(-k - 1)*(2*Sqrt[5]*(-(1 - Sqrt[5])^k + (1 + Sqrt[5])^k)*((j - 1)*j - 1) + 
    i*(5*2^(k + 1)*j^k + 2*Sqrt[5]*((1 - Sqrt[5])^k - (1 + Sqrt[5])^k)*j + (-5 + 
Sqrt[5])*(1 + Sqrt[5])^k - 
      (1 - Sqrt[5])^k*(5 + Sqrt[5]))))/(5*((j - 1)*j - 1))

Consequently,

f2[i_,j_,n_]:=Table[(2^(-k-1)*(2*Sqrt[5]*(-(1-Sqrt[5])^k+(1+
              Sqrt[5])^k)*((j-1)*j-1)+i*(5*2^(k+1)*j^k+2*Sqrt[5]*((
                        1-Sqrt[5])^k-(1+Sqrt[5])^k)*j+(-5+Sqrt[5])*(
                          1+Sqrt[5])^
                  k-(1-Sqrt[
                          5])^k*(5+Sqrt[5]))))/(5*((j-1)*j-1)),{
                            k,0,n-1}]//Simplify;

Checking that f1 and f2 are equivalent

And@@Flatten@Table[f1[i,j,n]==f2[i,j,n],{i,5},{j,5},{n,2,10}]

True

For i=0 the sequence is the Fibonacci sequence

FullSimplify[
  Coefficient[expr, i,0]==
    CoefficientList[expr,i][[1]]==
    Collect[expr,i][[1]]==
    Fibonacci[k],
  Element[k, Integers]]

True

n=25;
f1[0,j,n]==f2[0,j,n]==Table[Fibonacci[k],{k,0,n-1}]
Clear[n];

True


Bob Hanlon

> 
> From: Bob Hanlon <hanlonr at cox.net>
To: mathgroup at smc.vnet.net
> Date: 2005/08/27 Sat AM 10:41:02 EDT
> To: "hawkmoon269" <rson at new.rr.com>, <mathgroup at smc.vnet.net>
> Subject: [mg60007] Re: [mg59987] help working with functions
> 
> f[i_,j_,n_]:= Module[{k=0},
>       Nest[
>         Append[#,#[[-2]]+#[[-1]]+i*j^(k++)]&, 
>         {0,1}, n-2]];
> 
> f[0,4,10]
> 
> {0,1,1,2,3,5,8,13,21,34}
> 
> 
> Bob Hanlon
> 
> > 
> > From: "hawkmoon269" <rson at new.rr.com>
To: mathgroup at smc.vnet.net
> > Date: 2005/08/27 Sat AM 04:11:20 EDT
> > Subject: [mg60007] [mg59987] help working with functions
> > 
> > I have the following program written:
> > 
> > Clear[a]; Clear[seq];
> > seq = Array[a,10,0]; a[0]=0; a[1]=1;
> > Do[a[k] = a[k-1] + a[k-2] + 0 4^(k-2), {k,2,10}];
> > seq
> > 
> > It works fine and correctly outputs
> > 
> > {0, 1, 1, 2, 3, 5, 8, 13, 21, 34}
> > 
> > My sense,though, is that this is inelegant newbie code and am
> > interested in hearing alternative ways to program with the same output.
> >  Also, I would like to generalize this as a callable function with
> > arguments i,j,n...something like:
> > 
> > f[i_,j_,n_]:=
> > Clear[a]; Clear[seq];
> > seq = Array[a,n,0]; a[0]=0; a[1]=1
> > Do[a[k] = a[k-1] + a[k-2] + i j^(k-2), {k,2,n}]
> > seq
> > 
> > So that
> > 
> > f[0,4,10]
> > 
> > would output
> > 
> > {0, 1, 1, 2, 3, 5, 8, 13, 21, 34}
> > 
> > I've tried variants of the foregoing, but can't get it to work
> > correctly...
> > 
> > Many thanks in advance for ideas and assistance etc.
> > 
> > h
> > 
> > 
> 


  • Prev by Date: Re: Re: Another damn simplifying problem: ArcTan
  • Next by Date: Re: with 5.2 Mac
  • Previous by thread: Re: RasterGraphics[]
  • Next by thread: Re: help working with functions (follow-up)