MathGroup Archive 2011

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

Search the Archive

Re: Just another Mathematica "Gotcha"

  • To: mathgroup at
  • Subject: [mg120786] Re: Just another Mathematica "Gotcha"
  • From: Roger Wilson <rogerhw999 at>
  • Date: Thu, 11 Aug 2011 03:27:09 -0400 (EDT)
  • Delivered-to:
  • References: <j1r5d3$fi4$>

On Aug 9, 12:24 pm, AES <sieg... at> 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.
> Out[1]= a+(b1+b2) x
> Out[2]= a+b1 x

Its a case of operator priority.  /. has a higher priority than // so,
in the first case, you're doing Normal /. {b2->0} first which
evaluates to Normal.

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

  • Prev by Date: Re: ?
  • Next by Date: Re: Just another Mathematica "Gotcha"
  • Previous by thread: Re: Just another Mathematica "Gotcha"
  • Next by thread: Re: Just another Mathematica "Gotcha"