TL;DR
msolve is an open-source C library that efficiently solves zero-dimensional multivariate polynomial systems using Gröbner bases, linear algebra, and optimized hardware instructions, outperforming existing computer algebra systems.
Contribution
The paper introduces msolve, a novel library that enhances polynomial system solving by integrating advanced algorithms and hardware optimization techniques, enabling it to handle more complex systems than current tools.
Findings
msolve outperforms Magma, Maple, and Singular on various systems.
It effectively solves systems previously considered intractable.
Hardware optimizations significantly improve computational efficiency.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
