Power[] corrupts, Absolute[Power[]] corrupts absolutely

*To*: mathgroup at yoda.ncsa.uiuc.edu*Subject*: Power[] corrupts, Absolute[Power[]] corrupts absolutely*From*: fateman at peoplesparc.Berkeley.EDU (Richard Fateman)*Date*: Tue, 11 Dec 90 11:05:45 PST

There is some heuristic in Mma to the effect that some functions have ``known'' derivatives, and some do not. For example, in version 1.2, D[Abs[x],x] is Abs`[x]. It appears that a user definition of (appx the same) absolute value function by dividing the domain, say f[x_?NonNegative]:=x f[x_?Negative]:=-x also cannot be differentiated (that is, D[f[x],x] = f'[x]). Mma presumably decided that f's derivative was unknown, based on the information available. OK so far. Consider yet another version of the absolute value function function g[x_]:=If[x>0,x,-x] which Mma thinks CAN be differentiated. It gives a mess (at least in version 1.2) involving the derivative of ``If'' with respect to each of its arguments. This is not too useful. Also, if you try evaluating g at some unexpected places, you may be surprised. g[y] evaluates to If[y>0,y,-y]. g[3+4I] gives an error message Greater::nord: Comparison with complex number 3+4 I attempted. In an attempt to suppress this message, and also to make g[y] come out simpler, consider this redefinition: g[x_]:=If[x>0,x,-x,Abs[x]] Here, the last clause to the If is supposed to provide a result in case the test (x>0, in this case) ``gives neither True nor False''. Unfortunately it doesn't always work as expected. Now g[y] returns Abs[y]. That's ok. But g[3+4I] gives the same error message. [The fix, if one were to be using Lisp, is to provide an ``errorset'' around the conditional to convert all errors into appropriate values.] Now consider the definitions r[x_]:= Sqrt[x] s[x_]:= x^2 Of course, well known to readers of this list, we can Plot[r[s[x]],{x,-1,1}] to see that it looks exactly like Abs[x]. Yet r[s[x]] simplifies to just x. And D[r[s[x]],x] simplifies to just 1. This is unreasonable since r[s[-3]] simplifies to 3, not -3. Power corrupts... Seasons greetings. Richard Fateman (fateman at peoplesparc.Berkeley.edu)