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