msolve: A Library for Solving Polynomial Systems - Sorbonne Université Access content directly
Conference Papers Year : 2021

msolve: A Library for Solving Polynomial Systems

Jérémy Berthomieu
Christian Eder
  • Function : Author
  • PersonId : 954916
Mohab Safey El Din


We present a new open source C library \texttt{msolve} dedicated to solving multivariate polynomial systems of dimension zero through computer algebra methods. The core algorithmic framework of \texttt{msolve} relies on Gr\"obner bases and linear algebra based algorithms for polynomial system solving. It relies on Gr\"obner basis computation w.r.t.\ the degree reverse lexicographical order, Gr\"obner conversion to a lexicographical Gr\"obner basis and real solving of univariate polynomials. We explain in detail how these three main steps of the solving process are implemented, how we exploit \texttt{AVX2} instruction processors and the more general implementation ideas we put into practice to better exploit the computational capabilities of this algorithmic framework. We compare the practical performances of \texttt{msolve} with leading computer algebra systems such as \textsc{Magma}, \textsc{Maple}, \textsc{Singular} on a wide range of systems with finitely many complex solutions, showing that \texttt{msolve} can tackle systems which were out of reach by the computer algebra software state-of-the-art.
Fichier principal
Vignette du fichier
main.pdf (564.54 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-03191666 , version 1 (07-04-2021)
hal-03191666 , version 2 (18-05-2021)
hal-03191666 , version 3 (05-11-2021)



Jérémy Berthomieu, Christian Eder, Mohab Safey El Din. msolve: A Library for Solving Polynomial Systems. 2021 International Symposium on Symbolic and Algebraic Computation, Jul 2021, Saint Petersburg, Russia. pp.51-58, ⟨10.1145/3452143.3465545⟩. ⟨hal-03191666v3⟩
512 View
770 Download



Gmail Facebook X LinkedIn More