The latest versions of the Wolfram Language have built-in knowledge about singularities and branch cuts of mathematical functions. Here we show some examples of how this knowledge is used to solve univariate transcendental equations.
Suppose we would like to find all roots of a univariate function in a complex rectangle. We can start by finding root approximations using a numeric method. However, we would like to know for sure that each approximation represents an actual root and that we have found all the roots. This is where some knowledge of the function is required.
If we know that the function is holomorphic (complex differentiable) in the disk represented by an approximate number, we can use interval arithmetic (for elementary functions) or significance arithmetic (for non-elementary functions) and a criterion based on Rouché’s theorem to prove existence and the total multiplicity of roots in the disk.
To prove that we have found all the roots in a given complex rectangle, we compute the winding number of the function along the boundary of the rectangle (the total number of times that the value of the function travels around zero when its argument travels around the boundary of the rectangle) using interval arithmetic (for elementary functions) or numeric integration (for non-elementary functions). For this method to be valid, we need to know that the function is holomorphic in the rectangle or that the function is meromorphic (a ratio of holomorphic functions) in the rectangle, and we need to know the total multiplicity of poles of the function contained in the rectangle.