Re: Abs[x] function

• To: mathgroup at smc.vnet.net
• Subject: [mg87846] Re: [mg87816] Abs[x] function
• From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
• Date: Fri, 18 Apr 2008 07:10:38 -0400 (EDT)
• References: <200804180637.CAA12423@smc.vnet.net>

```On 18 Apr 2008, at 15:37, Vladislav wrote:
> Who can explain the behavior. THe derivative Abs[x] at x=.5 is well
> defined and is equal to 1.
>
> In[1]:= D[Abs[x], x]
>
> Out[1]=
> \!\(\*SuperscriptBox["Abs", "\[Prime]",
> MultilineFunction->None]\)[x]
>
> In[2]:= % /. x -> .5
>
> Out[2]=
> \!\(\*SuperscriptBox["Abs", "\[Prime]",
> MultilineFunction->None]\)[0.5]
>

First of all your statement is simply not true. Mathematica's symbolic
D works in the complex plane and in the complex plane the derivative
of Abs at 1 is not defined:

Limit[(Abs[1 + t*I] - Abs[1])/t, t -> 0]
0

while

I Limit[(Abs[1 + t ] - Abs[1])/t, t -> 0]
1

The symbolic derivative D automatically applies the chain rule, which
explains why it gives you the answer you got (it returns Abs'[1]
because it does not know what it should be). If you want to
differentiate in the real sense, a non-analytic function at a point
where it has a derivative you have several choices. One is to use
numerical differentiation:

f[x_?NumericQ] := Abs[x]
f'[0.5]
1.

Another is to use Refine before you differentiate:

D[Refine[Abs[x], x > 0], x] /. x -> 0.5
1

another way is the above approach using limits. There are still other
ways but this should be enough.

Andrzej Kozlowski

```

• Prev by Date: Re: heat equation through different media/problem with constant flux
• Next by Date: Re: Re: A Problem with Simplify
• Previous by thread: Abs[x] function
• Next by thread: Re: Abs[x] function