JuliaCon Local Paris 2025

PACE.jl: Certified Solving of Polynomial Systems for Engineering Applications
2025-10-03 , Robert Faure Amphitheater
Language: English

PACE.jl is a Julia package designed to address challenging problems in control theory and robotics through certified polynomial system solving. By combining symbolic elimination techniques with multi-precision interval computations, PACE.jl provides robust, certified solutions and an efficient alternative to traditional numerical methods. This talk will demonstrate its usage and performance through classic examples from control theory and robotics, while remaining accessible to anyone interested in certified polynomial system solving.


Engineering applications demand computational tools that provide both efficiency and mathematical rigor. While numerical methods offer speed, they often lack guarantees, and symbolic methods, while exact, can be computationally expensive. PACE.jl addresses this challenge by providing a unified framework that combines the best of both worlds, implemented in both C and Julia.

It combines symbolic elimination techniques, including (among others) discriminant varieties and Rational Univariate Representation, with numerical refinement using Newton's method and multi-precision interval computations. In particular, PACE.jl brings together several specialized packages, some developed by our team and others by collaborators:

  • DiscriminantVariety.jl: Discriminant variety computations in polynomial systems [3].
  • LACE.jl: Julia wrapper around a C library for Newton's method with interval arithmetic [4].
  • MPFI.jl: Wrapper for the C library MPFI for multiple-precision interval computations in Julia. See [5] for specifications.
  • RationalUnivariateRepresentation.jl: Algorithm from [1] for the Rational Univariate Representation (RUR) computation of zero-dimensional polynomial systems.
  • RS.jl: Julia wrapper around a C library that computes isolating intervals for the real roots of a polynomial or a zero-dimensional polynomial system. The package implements the algorithms from [2] and [6].

During this talk, we will demonstrate how to use PACE.jl to solve polynomial systems with certified guarantees in Julia, leveraging symbolic-numeric methods. As concrete examples, we will use established certified methods from control theory, including parameter identification in dynamical systems, stability analysis, and H-infinity norm computation, showing how PACE.jl handles both parameter-dependent and parameter-free systems. Our experiments show that PACE.jl achieves better performance than Maple's certified solvers, while remaining free and open-source.

While our primary focus is on control theory applications, we will briefly mention PaceRobots.jl, a specialized package that applies PACE.jl to certify the kinematics of robotic systems, including Spherical Parallel Manipulators and Hexapod Robots. Due to time constraints, we won't be able to demonstrate PaceRobots.jl in detail, but this will give attendees a glimpse of the broader applicability of our methods.

The presentation will be accessible to practitioners across various fields, as polynomial systems appear naturally in diverse scientific problems.

All examples and code will be made available through our documentation and notebooks, which we plan to polish and enhance by the time of the talk:
- PACE.jl: https://pace.gitlabpages.inria.fr/pace.jl/
- Control Applications: https://pace.gitlabpages.inria.fr/pace.jl/applications-control/
- Robotics Applications (PaceRobots.jl): https://pace.gitlabpages.inria.fr/robotics/pacerobots.jl/

References:
[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] 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
[3] Lazard and Rouillier (2007). Solving Parametric Polynomial Systems, Journal of Symbolic 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
[5] Revol, N. and Rouillier, F. (2005). Motivations for an arbitrary precision interval arithmetic and the MPFI library. Reliable Computing, 11(4), 275–290
[6] Rouillier, F. and Zimmermann, P. (2004). Efficient isolation of polynomial's real roots, Journal of Computational and Applied Mathematics, 162(1), 33-50

Currently a research engineer at Inria Paris developing symbolic computation software. I hold a PhD in Mathematics from Sorbonne Université (Paris 6).