Solving zero-dimensional polynomial systems using Gr\"obner bases is usually done by, first, computing a Gr\"obner basis for the degree reverse lexicographic order, and next computing the lexicographic Gr\"obner basis with a change of order algorithm. Currently, the change of order now takes a significant part of the whole solving time for many generic instances. Like the fastest known change of order algorithms, this work focuses on the situation where the ideal defined by the system satisfies natural properties which can be recovered in generic coordinates. First, the ideal has a \emph{shape} lexicographic Gr\"obner basis. Second, the set of leading terms with respect to the degree reverse lexicographic order has a \emph{stability} property; in particular, the multiplication matrix can be read on the input Gr\"obner basis. The current fastest algorithms rely on the sparsity of this matrix. Actually, this sparsity is a consequence of an algebraic structure, which can be exploited to represent the matrix concisely as a univariate polynomial matrix. We show that the Hermite normal form of that matrix yields the sought lexicographic Gr\"obner basis, under assumptions which cover the shape position case. Under some mild assumption implying $n \le t$, the arithmetic complexity of our algorithm is $O\tilde{~}(t^{\omega-1}D)$, where $n$ is the number of variables, $t$ is a sparsity indicator of the aforementioned matrix, $D$ is the degree of the zero-dimensional ideal under consideration, and $\omega$ is the exponent of matrix multiplication. This improves upon both state-of-the-art complexity bounds $O\tilde{~}(tD^2)$ and $O\tilde{~}(D^\omega)$, since $\omega < 3$ and $t\le D$. Practical experiments, based on the libraries msolve and PML, confirm the high practical benefit.
翻译:使用 Gr\ “ obner 基础” 解决零维多元系统通常由以下方式完成: 首先, 为水平反向词汇顺序计算 Gr\“ obner 基础 ”, 其次, 通过改变顺序算法来计算 字典 Gr\ “ obner 基础 ” 。 目前, 秩序的改变需要整个解答时间中相当大的一部分, 与已知最快的订单算法变化一样, 这项工作侧重于系统确定的理想满足自然属性, 可以在通用坐标中恢复的。 首先, 理想有一个 eph{ 法化 $( shape ) 的基数基数 。 理想的基数是 美元基数 $( 美元) 的基数 。 数字基数的基数是 美元基数( 美元基数) 的基数是 美元基数( 美元基数 美元基数 ) 。 数字基数的基数是正常的基数( 美元基数) 。