Because it's nicer when the output looks like the input. For
instance, sin and cos are easier to integrate if rewritten as tan
first, but it's annoying to write integrate(sin(x)) and get
-2/(tan(x/2)**2 + 1) instead of -cos(x).
For elementary functions, such as this one, the Risch algorithm should
handle them no matter what they look like. To be sure, internally it
might need to do all kinds of canoncalizing, but the difference is
that it can do very targeted simplifications and try to put things
back when it is done. It's hard to tell the generic simplify()
something as simple as "ignore anything that doesn't have x" (i.e.,
don't try simplifying complicated symbolic constants).
The other issue is that simplify() can sometimes be very slow, and it
would be a shame to run it if it weren't needed.
Also, note that the Risch algorithm for trig functions isn't actually
implemented in SymPy yet. I'm just pointing out that when it is
implemented, it will handle this better.
Aaron Meurer
>
https://groups.google.com/d/msgid/sympy/b04a7673-6ea0-4f3b-82ab-fef23babde38%40googlegroups.com.