Re: Trying to recursively define a double factorial
- To: mathgroup at smc.vnet.net
- Subject: [mg126526] Re: Trying to recursively define a double factorial
- From: Dana DeLouis <dana01 at me.com>
- Date: Thu, 17 May 2012 04:09:10 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
> I wanna make a recursive function of this double factorial without If(and other similar statements). Hi. If I understand your question, here is one possible idea: f[0]=f[1]=1; f[n_Integer?Positive] := f[n] = n*f[n-2] f[11]==11!! True f[12]==12!! True Information[ f ] f[0]=1 f[1]=1 f[2]=2 f[3]=3 f[4]=8 f[5]=15 f[6]=48 f[7]=105 f[8]=384 f[9]=945 f[10]=3840 f[11]=10395 f[12]=46080 f[n_Integer]:=f[n]=n f[n-2] If you meant to use RSolve, perhaps an alternative might be: equ={ a[0]==1, a[1]==1, a[n]==n*a[n-2] }; // This is a little complicated because it doesn't know if n is odd/even z=FullSimplify[RSolve[equ,a[n],n]] [[1,1,-1]] (2^(1/2 (-3+n)) (2-2 (-1)^n+(1+(-1)^n) Sqrt[2 \[Pi]]) Gamma[1+n/2])/Sqrt[\[Pi]] One technique for the Even or Odd part might be: // Even Assuming[Mod[n,2]==0,FullSimplify[z]] 2^(n/2) Gamma[1+n/2] // Odd Assuming[Mod[n,2]==1,FullSimplify[z]] (2^((1+n)/2) Gamma[1+n/2])/Sqrt[\[Pi]] Test of Even... 12!! == 2^(n/2) Gamma[1+n/2] /. n->12 True = = = = = = = = = = = = HTH :>) Dana DeLouis Mac & Math 8 To understand recursion, one must first understand recursion = = = = = = = = = = = = On May 16, 4:23 am, Jorge Cantu <monsterb... at msn.com> wrote: > My goal here is to define a recursive function for a double factorial. The domain of this function is the set of positive integers. For a positive even integer n the value DF[n] is the product of all positive even integers which are <n. For a positive odd integer n the value DF[n] is the product of all positive odd integers which are <n. > > I wanna make a recursive function of this double factorial without If(and other similar statements). Here is my work so far: > > Clear[MyF1, n]; > MyF1[1] = 1; > MyF1[n_Integer] /; (n > 0) := MyF1[n] = n*MyF1[n - 1] > > Table[MyF1[k], {k, (*integer*), (*integer*)}] > > How do I do this?