Re: Map

• To: mathgroup at smc.vnet.net
• Subject: [mg130920] Re: Map
• From: Bob Hanlon <hanlonr357 at gmail.com>
• Date: Sat, 25 May 2013 05:40:39 -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: <20130524102517.549836A70@smc.vnet.net>

```hklist = Array[h, {5, 3}];

bragg = {b1, b2, b3};

qbarlist = Map[(# - bragg) &, hklist, {2, 2}];

As stated in the documentation (
http://reference.wolfram.com/mathematica/ref/Map.html ), the third argument
to Map is the level specification and the form {n1, n2} specifies levels n1
through n2. In this case n1 and n2 are equal so it is equivalent to just
{n1}.

qbarlist === Map[(# - bragg) &, hklist, {2}]

True

If you look at your outputs carefully you will see that you do not get the
same result with a third argument of {1}

qbarlist === Map[(# - bragg) &, hklist, {1}]

False

qbarlist // Dimensions

{5, 3, 3}

Map[(# - bragg) &, hklist, {1}] // Dimensions

{5, 3}

Examine the two different arrays above to understand the different behavior.

Bob Hanlon

On Fri, May 24, 2013 at 6:25 AM, Jon Morris <djpmorris at googlemail.com>wrote:

> 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.
>
> Thanks,
> Jon
>
>

```

• References:
• Map