MathGroup Archive 2013

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

Search the Archive

Re: Replacing spurious Abs

  • To: mathgroup at smc.vnet.net
  • Subject: [mg130858] Re: Replacing spurious Abs
  • From: Bill Rowe <readnews at sbcglobal.net>
  • Date: Tue, 21 May 2013 04:21:06 -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

On 5/21/13 at 12:02 AM, carlos.felippa%colorado.edu at gtempaccount.com
wrote:


>Sometimes I get Abs[exp] from Simplify or Integrate, when it should
>be simply exp. Is there a simple way to get rid of the Abs, when exp
>may be an arbitrarily complex expression?  Something like
>/.Abs[#]->#?  Thanks.

In[1]:= Abs[exp] /. Abs[a_] -> a

Out[1]= exp

But keep in mind this is a literal syntax replacement which may
not be mathematically valid. That is you can do something like

In[2]:= Sqrt[2] /. Sqrt[a_] -> a

Out[2]= 2

Turning Sqrt[2] into 2 which is clearly not mathematically valid.

Another approach would be

In[3]:= Assuming[exp > 0, Simplify@Abs[exp]]

Out[3]= exp

which is a mathematically valid operation given the assumption
exp>0 is true. And this last can be done as:

In[4]:= Abs[exp] // Assuming[exp > 0, Simplify@#] &

Out[4]= exp

which is often handy




  • Prev by Date: Can't get FindMinimum[] to quit using value specified by
  • Next by Date: Re: Replacing spurious Abs
  • Previous by thread: Re: Replacing spurious Abs
  • Next by thread: NSolve Question