MathGroup Archive 2003

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

Search the Archive

RE: Applying multiple functions to multiple sets of arguements

  • To: mathgroup at smc.vnet.net
  • Subject: [mg42661] RE: [mg42608] Applying multiple functions to multiple sets of arguements
  • From: "David Park" <djmp at earthlink.net>
  • Date: Sat, 19 Jul 2003 03:19:46 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

Rishi,

Use Outer

Outer[#1[#2] &, {f1, f2, f3, f4}, {x1, x2, x3, x4}]
{{f1[x1], f1[x2], f1[x3], f1[x4]}, {f2[x1], f2[x2], f2[x3], f2[x4]},
{f3[x1],
    f3[x2], f3[x3], f3[x4]}, {f4[x1], f4[x2], f4[x3], f4[x4]}}

For multiple arguments...

Outer[#1 @@ #2 &, {f1, f2, f3, f4}, {{x1, y1}, {x2, y2}, {x3, y3}, {x4,
y4}},
   1]
{{f1[x1, y1], f1[x2, y2], f1[x3, y3], f1[x4, y4]}, {f2[x1, y1], f2[x2, y2],
    f2[x3, y3], f2[x4, y4]}, {f3[x1, y1], f3[x2, y2], f3[x3, y3],
    f3[x4, y4]}, {f4[x1, y1], f4[x2, y2], f4[x3, y3], f4[x4, y4]}}

Functional programming commands like Outer are generally much more powerful,
more efficient, and easier to understand than procedural programming with
loops - once you get the hang of them.


David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/


From: Rishi Roy [mailto:rishiroy at umich.edu]
To: mathgroup at smc.vnet.net

Hi all.  I was hoping someone cold help me.  I wanted a way to apply
an arbitrary number of functions to an arbitrary number of sets of
arguments.

Meaning if I have n functions: {f1, f2, ...,fn} and m sets of
arguments: {x1, x2, ..., xm}, how can I generate a list like:
{{f1[x1], f1[x2], ...,f1[xm]},{f2[x1], f2[x2],
...,f2[xm]},...,{fn[x1], fn[x2], ...,fn[xm]}}?

I am currently doing this by looping throgh both lists and populating
each results one by one.  As expecting this is horribly slow.  I was
hoping someone could recommend a faster, functional way to do this.  I
tried using map, but couldnt get a handle on it.

Any help would be greatly appreciated.  Thank you in advance.

Rishi Roy


  • Prev by Date: AW: Applying multiple functions to multiple sets of arguments
  • Next by Date: External Refs in Compile'd: Speed Impact
  • Previous by thread: Re: Applying multiple functions to multiple sets of arguements
  • Next by thread: problem while loading packages