We present a new open source C library msolve dedicated to solving multivariate polynomial systems of dimension zero through computer algebra methods. The core algorithmic framework of msolve relies on Gr{\"o}bner bases and linear algebra based algorithms for polynomial system solving. It relies on Gr{\"o}bner basis computation w.r.t. the degree reverse lexicographical order, Gr{\"o}bner conversion to a lexicographical Gr{\"o}bner 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 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 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 msolve can tackle systems which were out of reach by the computer algebra software state-of-the-art.
翻译:我们提出了一个新的开源 C 库解析器, 专门用于通过计算机代数方法解决维度为零的多变量多维多元系统。 溶解器的核心算法框架依赖于 灰色“ o}bner ” 基数和线性代数算法, 以解决多元系统。 它依赖于 灰色“ o}bner 基数计算 w.r. t. 逆向地貌顺序, 灰色“ o}bner ” 转换为 格罗氏 基数 基数, 并真正解决 单维亚特 多元名 。 我们详细解释解答过程的这三个主要步骤是如何实施的 。 我们如何利用 AVX2 教学处理器和我们应用的更一般的实施想法, 以便更好地利用此算法框架的计算能力 。 我们比较了溶剂的实际性与主要计算机代数系统, 如 文本{ { magma} 、\ textsc{ { { mapele} 、\ texts c { {Singligular}