JuliaCon 2025

Solving polynomial systems reliably with PACE.jl
2025-07-25 , Main Room 5

Solving systems of polynomial equations is a challenging problem that appears ubiquitously in the sciences and engineering. In this talk, we will present a tutorial for a new software for solving multivariate polynomial systems that provides guarantees on the correctness of solutions. Our methods are implemented in PACE.jl, a new Julia package that combines symbolic and numerical methods.


One of the key selling features of mathematical software, such as Wolfram Mathematica and Maple, has been the powerful “solve” command. Many of the scientists and engineers using these tools do not have a background in computational performance and a deep understanding of numerical or symbolic methods. Most scientists simply use the software to solve their equations. For this purpose, solvers must be performant, provide certified results, and be autonomous.

In this project, we have made strides to implement such black-box solvers using Julia and C. Our work comes in three new Julia packages:

  • RationalUnivariateRepresentation.jl: a symbolic elimination algorithm for finding exact parametrizations of solutions implemented in Julia [1].

  • RS.jl: a Julia wrapper around a C library used to compute isolating intervals for the real roots of a polynomial or a zero-dimensional polynomial system. The package implements the algorithms from [2, 3].

  • PACE.jl: combines RationalUnivariateRepresentation.jl and RS.jl, and also incorporates Newton's method with interval arithmetic [4].

In the talk, we will present a tutorial for solving systems using our packages. If time permits, we will discuss trade-offs with existing packages in Julia, such as HomotopyContinuation.jl and optimization-based methods. Compared to Wolfram Mathematica and Maple, our software is free. We note that our implementations typically outperform existing state-of-the-art shipped in Maple.

During the presentation, we will try to avoid the technicalities and instead focus on simple but meaningful examples from applications in control: parameter estimation in ODE systems and stability analysis. We plan to include a short demo to demonstrate the capabilities of our packages.

Solving systems of polynomial equations is a ubiquitous task, so we expect that the topic of the talk would be of interest to many practitioners.

For further details, one can consult the relevant pages of the packages and existing demos:
- https://pace.gitlabpages.inria.fr/pace.jl/
- https://pace.gitlabpages.inria.fr/pace.jl/applications-control/
We plan to polish examples and demos by the time of the talk.

This is a joint work by Alexander Demin, Christina Katsamaki, and Fabrice Rouillier.

[1] Demin A., Rouillier F., and Ruiz J. (2024). Reading Rational Univariate Representations on lexicographic Groebner bases, preprint available at https://arxiv.org/abs/2402.07141.
[2] Rouillier, F. and Zimmermann, P. (2004). Efficient isolation of polynomial's real roots, Journal of Computational and Applied Mathematics, 162(1), 33-50.
[3] Kobel, A., Rouillier, F., and Sagraloff, M. (2016). Computing Real Roots of Real Polynomials ... and now For Real!, In ISSAC '16 Proceedings of the ACM on International Symposium on Symbolic and Algebraic Computation.
[4] Revol, N. (2001). Interval Newton Iteration in Multiple Precision for the Univariate Case, research report available at https://inria.hal.science/inria-00072253v1/file/RR-4334.pdf.

Alexander Demin is an undergraduate student in math and CS at HSE University.