Re: Map

• To: mathgroup at smc.vnet.net
• Subject: [mg130918] Re: Map
• From: Szabolcs HorvÃt <szhorvat at gmail.com>
• Date: Sat, 25 May 2013 05:39:59 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• Delivered-to: l-mathgroup@wolfram.com
• Delivered-to: mathgroup-outx@smc.vnet.net
• Delivered-to: mathgroup-newsendx@smc.vnet.net
• References: <knnboj\$qqi\$1@smc.vnet.net>

```On 2013-05-24 09:26:43 +0000, Jon Morris said:

> I'm new to Mathematica and I've been given some code to help me analyse
> some data. I'm trying to understand what the Map function does,
> specifically what the {2,2} means?
>
>    qbarlist = Map[(# - bragg) &, hkllist,{2, 2}];
>
> hklist is a 3 column list, bragg is a three element vector.
>
> When I try the same line with {2} or {1} I seem to get the same answer.
> The online explanation of this term does not make that much sense to
> me. I'd be very grateful if someone could explain the purpose of the
> last term of the Map syntax.

Hello Jon,

Did you take a look at the examples in the documentation?  Those will
make it much clearer how this works. Choose an undefined function so
you get back the result in the form f[x].
I assume you understand what Map does without a level specification.

Now let's take an example from the docs and try different valus of the
levels specification:

In[26]:= Map[f, {{a, b}, {c, d, e}}, {0}]
Out[26]= f[{{a, b}, {c, d, e}}]

In[27]:= Map[f, {{a, b}, {c, d, e}}, {1}]
Out[27]= {f[{a, b}], f[{c, d, e}]}

In[28]:= Map[f, {{a, b}, {c, d, e}}, {2}]
Out[28]= {{f[a], f[b]}, {f[c], f[d], f[e]}}

Notice how the function f goes deeper and deeper into the expression as
you incerase the level.

In[29]:= Map[f, {{a, b}, {c, d, e}}, {3}]
Out[29]= {{a, b}, {c, d, e}}

There's no level 3 in the expression {{a, b}, {c, d, e}} so this last
one does nothing.

{2,2} is exactly the same as {2}.

This will insert f into levels 0 through 2, i.e. all levels of this expression:

In[30]:= Map[f, {{a, b}, {c, d, e}}, {0, 2}]
Out[30]= f[{f[{f[a], f[b]}], f[{f[c], f[d], f[e]}]}]

A naive way to think of level n of a nested list is this: move to
deeper and deeper lists until you have passed exactly n braces.  (But
note that Map works on any expression, not just lists.)

```

• Prev by Date: Re: NURBS Package Available
• Next by Date: Re: NURBS Package Available
• Previous by thread: Re: Map
• Next by thread: Re: Map