simplification errors in simple expressions
I'm currently testing the possibilities of SAGE as a teaching aid in a high school math course (in Belgium). I stumbled upon this:
- When evaluating x/sqrt(x^2), SAGE answers $\frac{x}{|x|}$, as it should. Appending a .simpify()-instruction to the input does not change anything.
- However,
((1-x^2)/sqrt(1-2*x^2+x^4)).simplify_full()
evaluates to $-1$, in stead of $\frac{1-x^2}{|1-x^2|}$.
As an aside, it's definitely baffling that a behemoth program like SAGE is outdone in this respect by a one-floppy-disk, antique program called DERIVE.
As another aside, I still have to find a meaningful use for the instruction simplify(). Can someone provide me an expression that is actually simplified by simplify()?
Note added: I'm not sure I'm satisfied with mr. Fateman's answer (and I definitely disagree that defining sqrt(x^2)=|x| - for real x - entails +1=-1). But what I really want to know is this: is there a SAGE object that represents (reliably) the positive square root of a positive real number x? (Surely a quantity that is not without interest.) And how do I define it in SAGE?
The issue in the second item seems to be that `(sqrt(1-2*x^2+x^4)).simplify_radical()` returns `x^2 - 1`. I'm not sure why, but it's calling maxima to do this computation.
Maxima's radcan apparently automatically chooses a branch. See below and the link I'm about to give.