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