• To: mathgroup at smc.vnet.net
• From: dh <dh at metrohm.ch>
• Date: Thu, 14 Apr 2005 08:54:22 -0400 (EDT)
• References: <d3ib2v\$9pb\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Hi Torsten,

see below

Torsten Coym wrote:
> Hi group,
>
> given three lists
>
> wLst = {w1, w2, w3}
> zLst = {z1, z2, z3}
> cLst = {c1, c2, c3}
>
> with each element representing a boolean value I want to calculate a
> list of the same function applied to the corresponding elements of wLst,
> zLst, cLst respectively. While the expression
>
>
>
>
> {(w1 && z1) || (w1 && c1) || (z1 && c1), (w2 && z2) || (w2 && c2) ||
>     (z2 && c2), (w3 && z3) || (w3 && c3) || (z3 && c3)}
>
> does exactly what I want, I wonder why the following approach using a
> pure function with three input arguments and a single call of Thread[]
> does not give the desired result:
>
>
> Thread[((#1 && #2) || (#1 && #3) || (#2 && #3) & )[wLst, zLst, cLst]]
>
> ({w1, w2, w3} && {z1, z2, z3}) || ({w1, w2, w3} && {c1, c2, c3}) ||
>    ({z1, z2, z3} && {c1, c2, c3})
You simply forgot the inner Thread:

&)[wLst, zLst, cLst]]

SIncerely, Daniel

>
> although
>
> ((#1 && #2) || (#1 && #3) || (#2 && #3) & )[w1, z1, c1]
>
> (w1 && z1) || (w1 && c1) || (z1 && c1)
>
> implements the desired logical expression and
>
>
>
> {f[w1, z1, c1], f[w2, z2, c2], f[w3, z3, c3]}
>
> works the way I expect it.
>
>
> It seems I am a bit disconnected here ...
>
> Torsten
>

```

• Prev by Date: Wierd problems with Mathematica - inversion of a 12x12 matrix
• Next by Date: Re: Output format