Hi, With Sage 6.3, I am getting:
sage: abs(x).diff(x) x/abs(x) sage: abs(I*x).diff(x) -x/abs(I*x) But abs(I*x) == abs(x). So also abs(x).diff(x) and abs(I*x).diff(x) must be the same. But in the first case we get x/abs(x), and in the second we got -x/abs(x). In SymPy, the answer is: In [1]: abs(x).diff(x) Out[1]: d d re(x)⋅──(re(x)) + im(x)⋅──(im(x)) dx dx ───────────────────────────────── │x│ In [2]: x = Symbol("x", real=True) In [3]: abs(x).diff(x) Out[3]: sign(x) In [4]: abs(I*x).diff(x) Out[4]: sign(x) In [26]: var("x") Out[26]: x Which seems all correct --- in the complex case [1] we get a little messy expression, but a correct one. For a real case, we get the correct answer. In Wolfram Alpha, the answer of abs(I*x).diff(x) is x/abs(x): http://www.wolframalpha.com/input/?i=Diff%5BAbs%5Bi*x%5D%2C+x%5D Which is only correct for real "x", but at least it is correct for this special case. The Sage result seems wrong for any "x". Ondrej -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.