View Full Version : Complex argument derivative
daudaudaudau
Oct13-08, 01:25 PM
If z is a complex number, isn't the derivative of arctan(z) just 1/(1+z^2) ? That's what I would think, but my CAS does not agree with me.
HallsofIvy
Oct13-08, 02:24 PM
The derivative of arctan(z) is 1/(1+ z^2)+ C no matter what number field z is in. What does your CAS say?
daudaudaudau
Oct13-08, 03:45 PM
I meant to write: Isn't the derivative of the complex argument of z, Arg(z) equal to 1/(z^2+1) beacuse this is the derivative of arctan(z) ?
Isn't the derivative of the complex argument of z, Arg(z) equal to 1/(z^2+1) beacuse this is the derivative of arctan(z) ?
I don't see your line of reasoning.
Anyways, the facts of the situation are that Arg(z) isn't complex-differentiable. (Try computing it directly) You have a huge clue that something's wrong: Arg(z) is a strictly real-valued function, yet your alledged derivative can take complex values.
daudaudaudau
Oct13-08, 05:28 PM
Yes, that made no sense, sorry. What about if A and B are a complex constants and x is a real number. Then I suppose the derivative of Arg(A+C*x) exists ?
Yes, that made no sense, sorry. What about if A and B are a complex constants and x is a real number. Then I suppose the derivative of Arg(A+C*x) exists ?
Arg is differentiable as a function on the plane. It's just not differentiable as a complex function.
daudaudaudau
Oct13-08, 05:44 PM
What about this attached screenshot then? Why does the derivative even have an imaginary part?
My best guess is that you gave a, or maybe x, a numerical value earlier in your session. What does it think
D[Arg[x*(I+1)+1],x]
and
D[Arg[x*(I+1)+1],x]/.x->a
simplify to?
daudaudaudau
Oct13-08, 06:39 PM
I started a new session, and this is what it looks like. D[Arg[...]] makes no sense, but D[ArcTan[...]] looks about right. Isn't Arg using ArcTan ?
Aha, I see what's going on.
Mathematica's documentation says that it only 'evaluates' Arg when it has a numerical result. It's internal thinking about the function changed in the following way:
When you first asked for the derivative, it made a purely formal calculation via the chain rule, probably thinking of it as a 'formal' complex derivative. (Note that mathematica will do the same thing with any formal symbol. Try asking for D[f[x], x] when you haven't defined f)
But when you replaced x with an actual number, you kicked in the programming for Arg, so it happily returned (1+i) times whatever it thinks the derivative of Arg should be. (I can't explain the extra factor of -1/2, though))
If you want to insist on working with Arg directly, you might be able to get better results in one of the following ways:
. Use assumptions to tell Mathematica that x is a real number.
. Try replacing x in the expression with Abs[x], or maybe Re[x].
daudaudaudau
Oct14-08, 06:10 AM
Yes, that seems to be the case. Apparently one has to write D[ComplexExpand[Arg[x*(1 + I) + 1], TargetFunctions -> {Re, Im}], x]
to get the "right" result. :)
vBulletin® v3.7.6, Copyright ©2000-2009, Jelsoft Enterprises Ltd.