# Complex argument derivative

1. Oct 13, 2008

### daudaudaudau

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.

2. Oct 13, 2008

### HallsofIvy

The derivative of arctan(z) is 1/(1+ z^2)+ C no matter what number field z is in. What does your CAS say?

3. Oct 13, 2008

### daudaudaudau

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) ?

4. Oct 13, 2008

### Hurkyl

Staff Emeritus
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.

5. Oct 13, 2008

### daudaudaudau

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 ?

6. Oct 13, 2008

### Hurkyl

Staff Emeritus
Arg is differentiable as a function on the plane. It's just not differentiable as a complex function.

7. Oct 13, 2008

### daudaudaudau

What about this attached screenshot then? Why does the derivative even have an imaginary part?

#### Attached Files:

• ###### Screenshot3.png
File size:
22.2 KB
Views:
354
8. Oct 13, 2008

### Hurkyl

Staff Emeritus
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?

9. Oct 13, 2008

### daudaudaudau

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 ?

#### Attached Files:

• ###### Screenshot4.png
File size:
22.8 KB
Views:
287
10. Oct 13, 2008

### Hurkyl

Staff Emeritus
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].

11. Oct 14, 2008

### daudaudaudau

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. :)