Zeros of complex function in SciPy

Click For Summary

Discussion Overview

The discussion centers around the use of the scipy.optimize.Newton() method for finding the roots of complex functions in Python's SciPy library. Participants explore the applicability of this method to complex functions, particularly through the example of f(z) = 1 + z^2, and seek guidance on its implementation.

Discussion Character

  • Exploratory, Technical explanation, Debate/contested

Main Points Raised

  • One participant expresses difficulty in using scipy.optimize.Newton() for complex functions, noting that the documentation does not mention complex roots.
  • Another participant suggests that to find a complex root using Newton's method, the initial guess must have a non-zero imaginary part to avoid convergence issues along the real line.
  • There are multiple posts addressing forum rules regarding double posting, indicating a procedural concern rather than a technical discussion.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the effectiveness of scipy.optimize.Newton() for complex functions, and the discussion remains unresolved regarding its implementation and requirements.

Contextual Notes

Limitations include the lack of clarity in the documentation regarding complex functions and the potential need for specific initial conditions for convergence.

PeteyCoco
Messages
37
Reaction score
1
I've been told that the method scipy.optimize.Newton() will solve complex functions so long as the first derivative is provided. I can't make it work. The documentation for Newton() mentions nothing of complex functions. Could someone show me how one would find the roots of a function like f(z) = 1 + z^2 in SciPy? I need to solve something much more complex, but a simple example will help me immensely.
 
Physics news on Phys.org
Please read the forum rules. Double posts are not allowed.
 
phinds said:
Please read the forum rules. Double posts are not allowed.

I realized that I posted in the wrong forum, but can't delete the old thread. I reported it.
 
I don't know anything about Python, but if you want to find a complex root by Newton's method, make sure the imaginary part of your initial guess is non-zero. Otherwise, the iterations will probably never leave the real line, and therefore won't converge to a complex root.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
Replies
7
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K