MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Just another Mathematica "Gotcha"

  • To: mathgroup at smc.vnet.net
  • Subject: [mg120788] Re: Just another Mathematica "Gotcha"
  • From: Murray Eisenberg <murray at math.umass.edu>
  • Date: Wed, 10 Aug 2011 06:46:13 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201108091119.HAA15770@smc.vnet.net>
  • Reply-to: murray at math.umass.edu

There you go again, insinuating that something is wrong with Mathematica 
when it's just something you don't understand (or simply just don't 
like). And ratcheting up the rhetoric with language such as "by any 
normal rules of interpretation or ordinary interpretations".

If you really do want to understand what's going on here, you could take 
a moment to experiment or read the documentation and treat it as a 
"teachable moment".

You could try something simpler, e.g.:

   expr = a + b x;
   expr // f /. b -> 0
   expr /. b -> 0 // f

Or look at the FullForms of the latter two expressions (after wrapping 
each in Hold).

Or try forcing the order of precedence with the first expression:

   (Series[a + (b1 + b2) x, {x, 0, 1}] // Normal) /. {b2 -> 0}

Or search the Documentation Center for "order of precedence", say, and 
in the first hit peruse the table documenting order of precedence in 
tutorial/OperatorInputForms.

Yes, there are dangers in deviating from straightforward head[[expr]] 
syntax. You can either stick with that or else learn what you need to 
know to avoid, or at least deal with, any surprises.

On 8/9/11 7:19 AM, AES wrote:
> Seems as if the following two expression should yield the same output
> -- seems that way to me anyway -- but they don't.  I'll hide the
> actual outputs down below so Mathematica gurus (or "ordinary users")
> can make their predictions as to which one does what.
>
> In[1]:= Series[a+(b1+b2)x,{x,0,1}] //Normal /.{b2->0}
>
> In[2]:= Series[a+(b1+b2)x,{x,0,1}] /.{b2->0} //Normal
>
> My conclusions:
>
> 1)  By any normal rules of interpretation or ordinary interpretations
> of these statements, they both should do the same same thing.
>
> 2)  This is just another Mathematica "Gotcha" -- and not a
> particularly forgivable one....

-- 
Murray Eisenberg                     murray at math.umass.edu
Mathematics & Statistics Dept.
Lederle Graduate Research Tower      phone 413 549-1020 (H)
University of Massachusetts                413 545-2859 (W)
710 North Pleasant Street            fax   413 545-1801
Amherst, MA 01003-9305




  • Prev by Date: Re: Can a Locator be Made to Track a Curve?
  • Next by Date: Re: Just another Mathematica "Gotcha"
  • Previous by thread: Re: Just another Mathematica "Gotcha"
  • Next by thread: Re: Just another Mathematica "Gotcha"