Re: Building a list
- To: mathgroup at smc.vnet.net
- Subject: [mg47139] Re: [mg47114] Building a list
- From: Sseziwa Mukasa <mukasa at jeol.com>
- Date: Sat, 27 Mar 2004 01:34:43 -0500 (EST)
- References: <200403260856.DAA22958@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
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
- References:
- Building a list
- From: Mark Coleman <mark@markscoleman.com>
- Building a list