Updates:
Status: Fixed
Comment #4 on issue 2672 by asmeurer: UnificationFailed with
integrate(-diff(y/(x**2 + y**2), y), x)
http://code.google.com/p/sympy/issues/detail?id=2672
It was fixed by Mateusz's recent integration() fix:
commit 04a53dc970eb8632745fe0382c9864d0976231fa
Author: Mateusz Paprocki <matt...@gmail.com>
Date: Thu Oct 6 16:05:46 2011 -0700
Fixed integrate(a/(a**2 + b*a + b*c*x**2), x) (#2718)
In [1]: var('a:c', positive=True)
Out[1]: (a, b, c)
In [2]: integrate(a/(a**2+b*a+b*c*x**2),x)
Out[2]:
⎛ ⎛ ___ 3/2 ⎞ ⎞
___ ⎜ x⋅⎝a⋅╲╱ b ⋅c + b ⋅c⎠ ⎟
╲╱ a ⋅atan⎜──────────────────────────────────────────────⎟
⎜ 3/2 ___ _______ ___ ___ _______⎟
⎝a ⋅╲╱ c ⋅╲╱ a + b + ╲╱ a ⋅b⋅╲╱ c ⋅╲╱ a + b ⎠
──────────────────────────────────────────────────────────
___ ___ _______
╲╱ b ⋅╲╱ c ⋅╲╱ a + b
In [3]: simplify(_)
Out[3]:
⎛ ___ ___ ⎞
___ ⎜ ╲╱ b ⋅╲╱ c ⋅x ⎟
╲╱ a ⋅atan⎜───────────────⎟
⎜ ___ _______⎟
⎝╲╱ a ⋅╲╱ a + b ⎠
───────────────────────────
___ ___ _______
╲╱ b ⋅╲╱ c ⋅╲╱ a + b
As far as simplifying at the end, it's because it first gets the expression
with logarithms from the OP, and then they cancel when the square roots
reduce because y is real. To put it another way, the y's are not canceled
automatically because they are not the integration variable.
I think this can be marked as fixed, or do you think we need a test? The
traceback for issue 2718 is basically the same as the one here, so I think
that the test added for that should suffice, so I'm closing this. Please
reopen if you disagree.
--
You received this message because you are subscribed to the Google Groups
"sympy-issues" group.
To post to this group, send email to sympy-issues@googlegroups.com.
To unsubscribe from this group, send email to
sympy-issues+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/sympy-issues?hl=en.