```Date: May 25, 2013 5:33 AM
Author: Bob Hanlon
Subject: Re: Map

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 argumentto Map is the level specification and the form {n1, n2} specifies levels n1through n2. In this case n1 and n2 are equal so it is equivalent to just{n1}.qbarlist === Map[(# - bragg) &, hklist, {2}]TrueIf you look at your outputs carefully you will see that you do not get thesame result with a third argument of {1}qbarlist === Map[(# - bragg) &, hklist, {1}]Falseqbarlist // Dimensions{5, 3, 3}Map[(# - bragg) &, hklist, {1}] // Dimensions{5, 3}Examine the two different arrays above to understand the different behavior.Bob HanlonOn Fri, May 24, 2013 at 6:25 AM, Jon Morris <djpmorris@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>>
```