MathGroup Archive 2011

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

Search the Archive

Re: sequence of functions

  • To: mathgroup at smc.vnet.net
  • Subject: [mg120143] Re: sequence of functions
  • From: Albert Retey <awnl at gmx-topmail.de>
  • Date: Sat, 9 Jul 2011 07:34:37 -0400 (EDT)
  • References: <iv6hbv$sau$1@smc.vnet.net>

Am 08.07.2011 11:07, schrieb rych:
> I would like to build a function sequence inductively, for example
> f[n][x]=f[n-1][2x]+f[n-1][2x-1], f[0][x] = x(1-x)
>
> This is what I tried in Mathematica,
>
> ClearAll["Global`*"]
> f[n_] = Function[x, Simplify[f[n - 1][2 x] + f[n - 1][2 x - 1]]];
> f[0] = Function[x, x (1 - x)];
>
> f[2][x]
> Out:
> -20 + 64 x - 64 x^2
>
> ?f
> Out:
> Global`f
> f[0]=Function[x,x (1-x)]
> f[n_]=Function[x,Simplify[f[n-1][2 x]+f[n-1][2 x-1]]]
>
> My questions: it doesn't seem to cache the previous f[n-1] etc? If I
> do it this way instead,
> f[n_] := f[n] = Function[...
>
> Then it does cache the f[n-1] etc. but still in the unevaluated form,
> Global`f
> f[0]=Function[x,x (1-x)]
> f[1]=Function[x$,Simplify[f[1-1][2 x$]+f[1-1][2 x$-1]]]
> f[2]=Function[x$,Simplify[f[2-1][2 x$]+f[2-1][2 x$-1]]]
> f[n_]:=f[n]=Function[x,Simplify[f[n-1][2 x]+f[n-1][2 x-1]]]
>
> How do I force the reduction so that I see f[1] = -2 (1 - 2 x)^2, etc.
> in the definitions?

I think this is what you want:

ClearAll["Global`*"]
f[n_] := f[n] = Block[{x},
     Function @@ {{x}, Simplify[f[n - 1][2 x] + f[n - 1][2 x - 1]]}
     ];
f[0] = Function[x, x (1 - x)];

hth,

albert


  • Prev by Date: Re: Beeps in Mathematica
  • Next by Date: Incredible slow Plot
  • Previous by thread: Re: sequence of functions
  • Next by thread: Re: sequence of functions