Re: Multiple nests?
- To: mathgroup at smc.vnet.net
- Subject: [mg81823] Re: [mg81764] Multiple nests?
- From: DrMajorBob <drmajorbob at bigfoot.com>
- Date: Thu, 4 Oct 2007 04:25:14 -0400 (EDT)
- References: <28217545.1191409498099.JavaMail.root@m35>
- Reply-to: drmajorbob at bigfoot.com
Here's a simple method:
Clear[doubleNest]
doubleNest[{f_, n_Integer}, list_] := Nest[f, list, n]
doubleNest[{first_}, list_] := doubleNest[first, list]
doubleNest[{first_, others__}, list_] :=
doubleNest[{others}, doubleNest[first, list]]
functions = {{Exp, 2}, {dum, 4}, {Sqrt, 3}, {Log, 2}, {#^2 &, 5}}
list = Range@3
{{Exp, 2}, {dum, 4}, {Sqrt, 3}, {Log, 2}, {#1^2 &, 5}}
{1, 2, 3}
doubleNest[functions, list]
Log[Log[dum[
dum[dum[dum[{\[ExponentialE]^\[ExponentialE], \[ExponentialE]^\
\[ExponentialE]^2, \[ExponentialE]^\[ExponentialE]^3}]]]]^(1/8)]]^32
"list" doesn't have to be a List, by the way... depending on the
functions, of course.
Bobby
On Wed, 03 Oct 2007 01:27:50 -0500, Anolethron <Humbleguy876 at hotmail.com>
wrote:
> I'm using Mathematica 5.2 and i need to apply a function to a list
> several times. I'm using next for doing it once, but after this process
> i need to apply a different function to the result of the previous one,
> as in this naif example:
>
> no1[n_]:=Nest[function,list,n]
> no2[m_]:=Nest[function2,result of the previous one,m]
> no3[l_]:=Nest[function3,resultofthepreviousone,l]
>
> Is there a command or a way to do this straight away?
>
> Thanks in advance
>
>
--
DrMajorBob at bigfoot.com