Finding roots of complex analytic functions via generalized colleague matrices
Hanwen Zhang, Vladimir Rokhlin
TL;DR
The paper addresses the problem of finding all roots of an analytic function within a square domain in the complex plane. It develops a method that first approximates the function by a polynomial in a specially constructed three-term recurrence basis, obtained via complex orthogonalization with random weights to achieve a well-conditioned basis. The roots are then computed as eigenvalues of a generalized colleague matrix using a tailored complex orthogonal QR algorithm with shifts, which runs in O(n^2) time and is supported by a precomputed basis on the domain boundary. Numerical experiments across poles, simple and multiple roots, clustered zeros, and entire functions demonstrate robustness, adaptivity, and the potential for extension to general compact domains. The approach offers a stable, scalable alternative to traditional rootfinding in the complex plane with potential applications in spectral methods and complex-domain analysis.
Abstract
We present a scheme for finding all roots of an analytic function in a square domain in the complex plane. The scheme can be viewed as a generalization of the classical approach to finding roots of a function on the real line, by first approximating it by a polynomial in the Chebyshev basis, followed by diagonalizing the so-called ''colleague matrices''. Our extension of the classical approach is based on several observations that enable the construction of polynomial bases in compact domains that satisfy three-term recurrences and are reasonably well-conditioned. This class of polynomial bases gives rise to ''generalized colleague matrices'', whose eigenvalues are roots of functions expressed in these bases. In this paper, we also introduce a special-purpose QR algorithm for finding the eigenvalues of generalized colleague matrices, which is a straightforward extension of the recently introduced componentwise stable QR algorithm for the classical cases (See [Serkh]). The performance of the schemes is illustrated with several numerical examples.
