MathGroup Archive 2001

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

Search the Archive

Re: A=B example

  • To: mathgroup at smc.vnet.net
  • Subject: [mg32131] Re: [mg32120] A=B example
  • From: BobHanlon at aol.com
  • Date: Sat, 29 Dec 2001 00:46:51 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

In a message dated 12/28/01 3:51:58 AM, erich.neuwirth at univie.ac.at writes:

>this has probably been asked before.
>being new to the list i would be happy with a pointer to previous
>answers.
>
>
>in A=B by Wilf and Zeilberger,
>on page 61 there is the following program for deriving recursions
>explicitly
>(i had to change FactorialSimplify to FullSimplify
>because the original version was for mathematica 2.2):
>
>
>findrecur[f_, ii_, jj_] :=
>  Module[{yy, zz, ll, tt, uu, r, s, i, j},
>    yy = Sum[
>        Sum[a[i, j] *FullSimplify[f[n - j, k - i]/f[n, k]], {i, 0, ii}],
>{j, 
>          0, jj}];
>    zz = Collect[Numerator[Together[yy]], k];
>    ll = CoefficientList[zz, k];
>    tt = Flatten[Table[a[i, j], {i, 0, ii}, {j, 0, jj}]];
>    uu = Flatten[Simplify[Solve[ll == 0, tt]]];
>    For[r = 0, r <= ii, r++,
>      For[s = 0, s <= jj, s++,
>        a[r, s] = Replace[a[r, s], uu]]];
>    Sum[Sum[a[i, j]  F[n - j, k - i], {i, 0, ii}], {j, 0, jj}] == 0]
>
>defining
>f[n_, k_] := n!/(n - k)!
>
>and executing
>findrecur[f,1,1]
>works,
>but trying to run exactly the same statement a second time
>produces a lot of errors and effectively hangs mathematica.
>
>is there a solution?

Inside the definition of findrecur you use a[].  a is defined globally and 
retains its values from the first call.  Try

findrecur[f_,ii_,jj_, a_Symbol:a]:=
    Module[{yy,zz,ll,tt,uu,r,s,i,j},
      Clear[a];
      yy= ... ];


Bob Hanlon
Chantilly, VA  USA


  • Prev by Date: RE: ParamtricPlot3D
  • Next by Date: Re: A=B example
  • Previous by thread: A=B example
  • Next by thread: Re: A=B example