Re: strange behavior with Map
- To: mathgroup at smc.vnet.net
 - Subject: [mg116398] Re: strange behavior with Map
 - From: Leonid Shifrin <lshifr at gmail.com>
 - Date: Sun, 13 Feb 2011 03:07:07 -0500 (EST)
 - References: <201102121020.FAA20181@smc.vnet.net>
 
Hi Robert,
It's a bit subtle indeed. The key observation is this:
In[23]:= Map[f, {{1, 2}, {1, 2}}, 2]
Out[23]= {f[{f[1], f[2]}], f[{f[1], f[2]}]}
Since things evaluate from the bottom, the interesting part happens after we
have this:
{f[{2, 2}], f[{2, 2}]}
(schematically - in reality, the first f completely evaluates, and only then
the second). Now,
consider:
In[27]:= Function[x, 0 x + 2][{2, 2}]
Out[27]= {2, 2}
In[28]:= Function[x, 2][{2, 2}]
Out[28]= 2
which is, the functions *are* different, because multiplication by a scalar
(zero included) preserves the
dimensionality of the second factor, for the first function, while the
second function simply replaces the
argument by 2, whatever it is.
Regards,
Leonid
On Sat, Feb 12, 2011 at 1:20 PM, Robert Rosenbaum <robertr at math.uh.edu>wrote:
> This doesn't seem right:
>
>
> In[181]:= Map[Function[x, 2], {{1, 2}, {1, 2}}, 2]
>
> Out[181]= {2, 2}
>
> In[180]:= Map[Function[x, 0 x + 2], {{1, 2}, {1, 2}}, 2]
>
> Out[180]= {{2, 2}, {2, 2}}
>
>
> Best,
> Robert
>
>
- References:
- strange behavior with Map
- From: Robert Rosenbaum <robertr@math.uh.edu>
 
 
 - strange behavior with Map