Re: Giving several functions the same argument

• To: mathgroup at smc.vnet.net
• Subject: [mg109624] Re: Giving several functions the same argument
• From: Ingolf Dahl <ingolf.dahl at telia.com>
• Date: Sat, 8 May 2010 07:08:43 -0400 (EDT)

```Hi Simon.

Define

backmap[funclist_, x__] := Apply[#1, {x}] & /@ funclist

Then

backmap[{f, g}, x]

gives

{f[x], g[x]}

and

backmap[{Sin[#1] &, Cos[#1] &}, x]

gives

{Sin[x], Cos[x]}

and

backmap[{Sin[#1] &, Cos[#1] &}, Pi/6]

gives

{1/2,Sqrt[3]/2}

You might also do

backmap[{f, g}, x, y]

which gives

{f[x, y], g[x, y]}

Best regards

Ingolf Dahl
Sweden

-----Original Message-----
From: Simon Pearce [mailto:Simon.Pearce at nottingham.ac.uk]
Sent: den 7 maj 2010 12:28
To: mathgroup at smc.vnet.net
Subject: [mg109624] [mg109587] Giving several functions the same argument

Hi Mathgroup,

I have a list of pure functions, which I wish to apply to the same
argument. I can't seem to be able to thread the list of functions over
the argument in a simple way, all the commands like Apply and Map etc
take a single function. I can do it using Table and Part, but it seemed
like there should be a simple command that I'm missing.

For example:

In[1]:= functs = {Sin[#1] &, Cos[#1] &};

In[2]:= functs[x]

Out[2]= {Sin[#1] &, Cos[#1] &}[x]

I want to get the result {Sin[x],Cos[x]} out, without having to use
something of the form:

In[3]:= Table[functs[[i]][x], {i, 1, 2}]

Out[3]= {Sin[x], Cos[x]}

Which seems like it'd be less efficient when I try and use it on long
lists of functions.

Thanks,

Simon

```

• Prev by Date: How to write reports and books in Mathematica
• Next by Date: Re: HoldFirst, Unevaluated
• Previous by thread: Re: Giving several functions the same argument
• Next by thread: Re: Giving several functions the same argument