MathGroup Archive 2004

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

Search the Archive

Re: Building a list


On Mar 26, 2004, at 3:56 AM, Mark Coleman wrote:

> Greetings,
>
> I've got a relatively simple function f[a_,b_,c_,d_], where a and b are
> integers and c and d are lists (of reals), and f returns a real.
>
> I need to evaluate f on (potentially long) sets of lists and calculate
> a square "matrix" from the possible permutations of the elements in the
> lists. For instance
>
> If
>
> xlist={x1,x2,x3}
>
>
> I need to calculate
>
> {{f[a,b,x1,x1],f[a,b,x1,x2],f[a,b,x1,x3]},{f[a,b,x2,x1],f[a,b,x2,x2],f[ 
> a
> ,b,x2,x3]},{f[a,b,x3,x1],f[a,b,x3,x2],f[a,b,x3,x3]}}
>
> Note that f[a,b,c,d] does not equal f[a,b,d,c].
>
> My first reaction was that Outer[] might do this, but I cannot seem to
> get it to work. I'd appreciate any suggestions.
>

Your first reaction was fine:

Outer[f[a, b, ##] &, xlist, xlist]

works.  You could also explicitly use Array, for example

Array[f[a, b, xlist[[#]], xlist[[#2]]] &, {Length[xlist],  
Length[xlist]}]

also works.

Regards,

Ssezi


  • Prev by Date: Re: Building a list
  • Next by Date: Re: Building a list
  • Previous by thread: Building a list
  • Next by thread: Re: Building a list