Unraveling the Complex Derivative of Arctan(z)

Click For Summary
SUMMARY

The derivative of the complex argument function Arg(z) is not complex-differentiable, contrary to the assumption that it is equal to 1/(z^2 + 1). Instead, Arg(z) is strictly a real-valued function, which leads to discrepancies when attempting to compute its derivative using tools like Mathematica. The discussion highlights that Mathematica evaluates Arg only when it has a numerical result, which can lead to unexpected outputs. To achieve accurate results, users should apply assumptions about the variable's nature or utilize functions like ComplexExpand.

PREREQUISITES
  • Understanding of complex analysis and complex functions
  • Familiarity with Mathematica and its symbolic computation capabilities
  • Knowledge of derivatives and differentiation rules in calculus
  • Experience with complex numbers and their properties
NEXT STEPS
  • Learn how to use assumptions in Mathematica for complex variables
  • Explore the concept of complex differentiability and its implications
  • Study the differences between Arg(z) and ArcTan(z) in complex analysis
  • Investigate the use of ComplexExpand in Mathematica for handling complex functions
USEFUL FOR

Mathematicians, students of complex analysis, and users of Mathematica seeking to understand the nuances of complex differentiation and function evaluation.

daudaudaudau
Messages
297
Reaction score
0
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.
 
Physics news on Phys.org
The derivative of arctan(z) is 1/(1+ z^2)+ C no matter what number field z is in. What does your CAS say?
 
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.
 
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 ?
 
daudaudaudau said:
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.
 
What about this attached screenshot then? Why does the derivative even have an imaginary part?
 

Attachments

  • Screenshot3.png
    Screenshot3.png
    12.9 KB · Views: 990
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?
 
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 ?
 

Attachments

  • Screenshot4.png
    Screenshot4.png
    13.7 KB · Views: 892
  • #10
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
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. :)
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K