Drexel dragonThe Math ForumDonate to the Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.

Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

Topic: Map
Replies: 2   Last Post: May 25, 2013 5:34 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Jon Morris

Posts: 8
From: Berlin
Registered: 3/4/10
Re: Map
Posted: May 25, 2013 5:34 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

Explanation received via email reposted incase it helps other people:

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}]


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}]


qbarlist // Dimensions

{5, 3, 3}

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

{5, 3}

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



What I was hoping it would give as a result was:

{{h[1,1]-b1, h[1,2]-b2, h[1,3]-b3},
{h[2,1]-b1, h[2,2]-b2, h[2,3]-b3},
{h[3,1]-b1, h[3,2]-b2, h[3,3]-b3},...

After your explanation I realise that I get that result with Map[(#-bragg) &, hkllist, {1}] and this makes me think that this may have given a bug in the original code.

Thanks for your help!

Date Subject Author
Read Re: Map
Bob Hanlon
Read Re: Map
Jon Morris

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum 1994-2015. All Rights Reserved.