An adaptive parallel algorithm for computing zeros of analytic functions
This paper presents a robust, parallel C++ algorithm that combines adaptive zero-counting, two-dimensional bisection, and Newton-Kantorovich methods to efficiently compute and certify millions of zeros for analytic functions, including exponential polynomials and partial sums of the Riemann zeta function, with high precision.
Original paper licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
In the vast landscape of mathematics, there are problems that look simple on the surface but hide immense complexity beneath. One such challenge involves finding the "roots" or zeros of certain mathematical functions—specifically, the points where a function's value drops to nothing. While finding a zero for a simple equation like "x plus two equals zero" is a matter of basic arithmetic, the functions studied by mathematicians in this field are far more intricate. They are built from combinations of exponential growth and decay, often appearing in the study of systems that change over time with a delay, such as the spread of a disease or the vibration of a mechanical structure. These functions are called exponential polynomials. Another related family, known as Dirichlet polynomials, plays a crucial role in number theory, particularly in understanding the distribution of prime numbers. The difficulty lies in the fact that these functions can have thousands, or even millions, of zeros scattered across the complex plane, and finding them all with absolute certainty is a task that often overwhelms standard computer methods.
A team of researchers has developed a new, robust way to tackle this problem. Their work focuses on creating an algorithm that can find every single zero of these complex functions within a specific rectangular area, guaranteeing that none are missed and that the location of each zero is known with extreme precision. The method is designed to be "adaptive," meaning it can change its strategy on the fly depending on what it encounters. If the function is behaving smoothly, the algorithm takes large steps to cover ground quickly. If the function is twisting and turning wildly, indicating that a zero is nearby, the algorithm automatically slows down and zooms in, breaking the area into smaller and smaller pieces until the zero is isolated. This process is guided by a mathematical principle that counts how many times the function's value rotates around zero as you trace a path around a region. By carefully tracking this rotation, the computer can determine exactly how many zeros are hiding inside a box without needing to see them directly.
To make this process fast enough to be useful, the researchers built their algorithm to run on multiple computer processors simultaneously. Imagine a large room filled with boxes, and a team of workers tasked with finding hidden objects inside them. Instead of one person checking every box one by one, the team splits the room into sections, and each worker tackles a section at the same time. The researchers used a system of protected stacks to manage this teamwork, ensuring that no two workers tried to grab the same box at the same time, which would cause confusion and errors. Once a worker isolates a box that contains exactly one zero, they switch to a high-speed refinement technique to pinpoint the zero's exact location. This combination of a slow, careful search to find the right neighborhood, followed by a rapid, precise search to find the exact spot, allows the system to handle massive amounts of data efficiently.
The team tested their method on two major types of functions. First, they applied it to exponential polynomials that exhibit three different types of behavior, known as retarded, advanced, and neutral, which describe how delays affect the system's future. They successfully mapped out the zeros for these functions, confirming that the method works regardless of the specific type of delay involved. Second, and perhaps more significantly, they turned their attention to the partial sums of the Riemann zeta function, a famous mathematical object central to the study of prime numbers. They computed the zeros for these sums for various sizes, ranging from small to moderately large. In doing so, they calculated and certified more than 2.5 million zeros. Every single one of these zeros was located with a guaranteed tolerance of 9.9 times 10 to the power of negative 21, a level of precision that is effectively perfect for almost any practical application.
The results of this work are not just a theoretical exercise; they provide a concrete, reliable tool for scientists and engineers who need to understand the behavior of complex systems. By proving that they can find and certify millions of zeros with absolute certainty, the researchers have removed a significant barrier in computational mathematics. Their method does not rely on luck or approximation; it uses a combination of global information about the function and local refinement to ensure that the answer is correct. The code they developed is open for anyone to use, allowing others to apply this powerful technique to their own problems. In a field where missing a single zero can lead to incorrect conclusions about the stability of a bridge or the distribution of prime numbers, this ability to find every single one with such high confidence represents a significant step forward in how we solve these difficult mathematical puzzles.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.