Re: Problem with Thread over Plus?
- To: mathgroup at smc.vnet.net
- Subject: [mg65388] Re: [mg65370] Problem with Thread over Plus?
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Thu, 30 Mar 2006 05:29:39 -0500 (EST)
- References: <200603291134.GAA27493@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
> On 29 Mar 2006, at 13:34, Virgilio, Vincent - SSD wrote:
>
> Hello,
>
> Why does this work:
>
> Thread[ Plus[ {1,1} , { {1,1} , {2,2} } ] ]
>
> but this doesn't?
>
> Thread[ Plus[ {1,1} , { {1,1} , {2,2} , {3,3} } ] ]
>
> Thanks,
>
> Vince Virgilio
>
>
Thread evaluates its argument(s) so in the first case you get the
equivalent of this
Plus[{1, 1}, {{1, 1}, {2, 2}}]
{{2, 2}, {3, 3}}
Thread[%]
{{2, 3}, {2, 3}}
while in the second
Plus[ {1, 1} , { {1, 1} , {2, 2} , {3, 3} } ]
tries to add lists of different lengths and fails.
In fact, are you sure that you really meant to get the answer you did
get in the case you claim "works"? Did you not rather mean this:
Thread[Unevaluated[Plus[{1, 1} , {{1, 1}, {2, 2}}]]]
{{2, 2}, {3, 3}}
?
It is a little harder to make the second case work in the same way
but of course it can be done:
Thread[ Unevaluated[Plus[ {1,1} , { {1,1} , {2,2} , {3,3} } ] ],List,-1]
{{2, 2}, {3, 3}, {4, 4}}
Andrzej Kozlowski
- References:
- Problem with Thread over Plus?
- From: "Virgilio, Vincent - SSD" <Vincent.Virgilio@itt.com>
- Problem with Thread over Plus?