# How can I simplify expressions correctly?

the final output of my code gives this expression which i call ttt:

ttt = Sqrt[f f]/(Sqrt[f/f] (gamma^2 + f f));


Now i want to simplify this expression for obvious reason. If i do :

Simplify[ttt]

FullSimplify[ttt]

Collect[ttt, f, f]


I obtain:

Sqrt[f f]/(Sqrt[f/f] (gamma^2 + f f))

Sqrt[f f]/(Sqrt[f/f] (gamma^2 + f f))

Sqrt[f f]/(Sqrt[f/f] (gamma^2 + f f))


Is there a way to have a simplification for this expression ?

• If you know everything is positive, ttt//PowerExpand works. Otherwise, specify some Assumptions with simplify. Oct 20, 2018 at 21:07
• @BillWatts yes it works with ttt // PowerExpand, in this case i can't use Assumptions because the problem is a trivial division. Oct 20, 2018 at 21:15
• @siderius, if it were trivial then Mathematica would have simpified it without assumptions. That is the point. You can use Assumptions like this: Simplify[ttt, f > 0 && f > 0]. Oct 20, 2018 at 21:26
• @MariusLadegårdMeyer yes it works this way too. I wonder why it is necessary this assumption if the simpl is mathematically indipendent from this. Oct 20, 2018 at 21:31
• Try this: FindInstance[ttt != PowerExpand[ttt], {f, f, gamma}]. It gives you a specific case where ttt and the "simplified" answer are not the same. Your simplification is simply not always correct. It is correct when f > 0, f > 0 though. That's why you need to specify it, or imply it by using PowerExpand. Oct 20, 2018 at 21:36