Join the official 2019 Python Developers Survey

Find all the roots (zeros) of a complex analytic function within a given contour in the complex plane.

## cxroots

cxroots is a Python package for finding all the roots of a function, f(z), of a single complex variable within a given contour, C, in the complex plane. It requires only that:

• f(z) has no roots or poles on C
• f(z) is analytic in the interior of C

The implementation is primarily based on [KB] and evaluates contour integrals involving f(z) and its derivative f’(z) to determine the roots. If f’(z) is not provided then it is approximated using a finite difference method. The roots are further refined using Newton-Raphson if f’(z) is given or Muller’s method if not. See the documentation for a more details and a tutorial.

With Python installed you can install cxroots by entering in the terminal/command line

```pip install cxroots
```

### Example

```from numpy import exp, cos, sin
f = lambda z: (exp(2*z)*cos(z)-1-sin(z)+z**5)*(z*(z+2))**2

from cxroots import Circle
C = Circle(0,3)
roots = C.roots(f)
roots.show()
``` ```print(roots)
```
``` Multiplicity |               Root
------------------------------------------------
2       | -2.000000000000 +0.000000000000i
1       | -0.651114070264 -0.390425719088i
1       | -0.651114070264 +0.390425719088i
3       |  0.000000000000 +0.000000000000i
1       |  0.648578080954 -1.356622683988i
1       |  0.648578080954 +1.356622683988i
1       |  2.237557782467 +0.000000000000i
```

The Fortran 90 package ZEAL is a direct implementation of [KB].

## Project details

This version 1.1.8 1.1.7 1.1.6 1.1.5 1.1.4 1.1.3 1.1.2 1.1.1 1.1.0 1.0.11 1.0.9 1.0.8 1.0.7 1.0.6 1.0.5 1.0.4 1.0.0