Re: Problem with the Derivative of a Arg-function
- To: mathgroup at smc.vnet.net
- Subject: [mg48628] Re: Problem with the Derivative of a Arg-function
- From: klishko at mail.ru (Alex Klishko)
- Date: Tue, 8 Jun 2004 00:48:23 -0400 (EDT)
- References: <c9k37o$fbo$1@smc.vnet.net> <c9pfq9$t79$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
ab_def at prontomail.com (Maxim) wrote: > The short answer is that the derivative of Arg is undefined: Arg is > not an analytical function. Just consider what happens when you move > along different directions, for example, from 1 to 1+eps and from 1 to > 1+I*eps, with real eps. I think you mean that derivative is Limit[(f[z+dz]-f[z])/dz,dz->0] and for f=Arg it's depends on Re[dz] and Im[dz]. The fisrt case (from 1 to 1+eps) corresponds to Im[dz]=0, the second case(from 1 to 1+I*eps) Re[dz]=0. I think the problem in another field, namely, in that fact that Arg is discontinuous function. A complex number z=Re+I*Im, we may represend also as z=Abs*E^(I*Arg). Where Abs=Squre root[Re^2+Im^2], Arg=ArcTan[Im/Re]. Hense as my function is f=E^(I*z)=E^(-Im)*E^(I*Re) so Arg[f]=Re[z] by definition. Therefore Arg'[E^(I*z)]=Re'[z]. So in that case the derivative is define only for real z, but Mathematica does not show any error message for not real z and gives definite number. I think it's a bug. Examples: f[x_] := Arg[E^(-I*x)] ; N[D[f[x], x]] /. x -> 5 +3*I Clear[f] Out: -0.919536 + 0.272011*I f[x_] := Arg[E^(-I*x)] ; N[D[f[x], x]] /. x -> 5 Clear[f] Out: -0.919536 + 0.272011*I f[x_] := ComplexExpand@Arg[E^(-I* x)] ; N[D[f[x], x]] /. x -> 5 Clear[f] Out: -1. By the way --------------------- dArg=(1/(1+(Im/Re)^2))*d(Im/Re)=(-Im*dRe+Re*dIm)/Abs^2 > > In[1]:= > ComplexExpand[(Arg[z + h] - Arg[z])/h, z, > TargetFunctions -> Abs] // > Limit[#, h -> 0] & // FullSimplify > > Out[1]= > -Im[z]/Abs[z]^2 In that case Mathematica suppose that dRe=dz, and dIm=0. ----------------------- Best wishes Alex Klishko