Am 11.01.2012 04:32, schrieb Chris Smith:
On Wed, Jan 11, 2012 at 4:43 AM, Joachim Durchholz<[email protected]>  wrote:

f/g will be x, which is continuous. So yes, in this case, the
simplification changes the result.

Since x**2/x is automatically simplified, we should probably automatically
simplify x**2.0/x.

x²/x has a discontinuity for x=0, and x does not, hence x²/x is not the same as x. (I suspect it might even be possible to "prove" 1=0 if you allow removing 0/0 from a product. Division by zero tends to be nasty like that, but I haven't checked.)

However, (if x = 0 then 0 else x²/x) is the extension by continuity of x²/x, and is indeed equal to x.

So:
Simplifying (x**2/x if x != 0 else 0) and (x**2/x if x != 0 else x) to x is valid. Simplifying extend_by_continuity(x**2/x) to x is valid (assuming a hypothetical function extend_by_continuity). simplify(x**2/x, extend_by_continuity=true) could be defined to return a simplified expression that may, at the discretion of simplify(), have been extended by continuity.

But simplifying x**2 to x in the general case is invalid.
If simplify does that without being told to do that, that's a bug.

--
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to