How to remove "Abs" from "Simplify" output?

Hello,

In Mathemtiaca

Simplify[Sqrt[(a  b  c + d  e  g)^2], a  b  c + d  e  g > 0]

will produce

Abs[a b c + d e g]

It is a little wired, as I think the answer should be

a b d+ d e g

Just my guess. Simplify transforms the condition a*b*c + d*e*f>0 into the complicated result of Reduce[a*b*c + d*e*f>0] and then gets bogged down. It does not recognize that it fits the pattern Simplify[Sqrt[x^2], x > 0]. Funny that the following does work:

With[{x = Sin[a*b*c + d*e*f ]},
 Simplify[Sqrt[x^2], x > 0]]

Yes. It is fuuny. Is there a way to

Simplify[Sqrt[(a  b  c + d  e  g)^2], a  b  c + d  e  g > 0]

The easiest would just be removing the absolutes:

yourexpression /. Abs -> Identity

Does this help?

  Assuming[a  b  c + d  e  g > 0,  Simplify[Sqrt[(a  b  c + d  e  g)^2]]]

Out[22]= Abs[a b c + d e g]

Never mind; that’s what you started with!

Misread OP.

Deleted

Simplify[Sqrt[(a b c + d e g)^2], a b c>0&&d e g>0]

returns

a b c+d e g

You might be able to loosen that up a little bit by indicating the result is still positive if one of those triples is negative

Your example shows the square of the root. In that case no domain specification is needed. The OP asked for the root of the square,

Try this:

Simplify[Sqrt[(a b c+d e f)^2],(a b c+d e f)\[Element]NonNegativeReals]

It gives:

a b c + d e f

You are of course correct. Apologies.

Your way is very good. Do you feel a lilttle weird as \[Element] NonNegativeReals works but >0 doesn’t?

May you tell why does this work? I don’t know the reason. For example, this doesn’t work

List[{a, b, c, d}] /. List -> Identity

Well, looking at this further I see that this would also work:

Simplify[Sqrt[(a b c + d e f)^2], (a b c + d e f) >= 0]

So zero needs to be included in the domain of this case.

But when the expression is shorter there is no such need:

Simplify[Sqrt[(a b + d e)^2], (a b + d e) > 0]

This is puzzling

Sqrt[(a b c + d e g)^2] // PowerExpand

If in this situation

Simplify[Sqrt[1/(a  b  c + d  e  f)^2], (a  b  c + d  e  f) > 0]

we can’t use

>=0 

here.

Weird. Your way works.