This package uses a discretised version of the argument principle to find regions containing zeros of an analytic function.
using Pkg
Pkg.add("FindComplexZeros")
using FindComplexZeros
Find zeros of a function within a given rectangular domain.
Each line of result contains the upper left, lower right corner of the rectangular box that contains the zero
An example:
function an_exp_sum(x)
return (2+im)*exp((1+im)*x) + (3.5+im)*exp(x) + -im + (2 + 3im)*exp(-x) + (5 - im)*exp((-1+im)*x)
end
findZerosWithSubdivision(-10.2 + 10.22im, 10.1 - 10.1im, an_exp_sum)
Count zeros of a function in a given rectangular domain
An example:
countZeros(-5 + 5im, 5 - 5im, x -> (x - 2)^3*(x-1))
Further documentation can be accessed at the REPL or in IJulia by typing ? followed by the name of the function.
?findZerosWithSubdivision
?countZeros
ComplexPortraits.jl Phase portraits for complex functions (helpful for visualising where the zeros are)