# How can I simplify expressions correctly?

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

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


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

Simplify[ttt]

FullSimplify[ttt]

Collect[ttt, f[1], f[2]]


I obtain:

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

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

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


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[1] > 0 && f[2] > 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[1], f[2], 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[1] > 0, f[2] > 0 though. That's why you need to specify it, or imply it by using PowerExpand. Oct 20, 2018 at 21:36