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