We design a new algorithm for solving parametric systems having finitely many complex solutions for generic values of the parameters. More precisely, let $f = (f_1, \ldots, f_m)\subset \mathbb{Q}[y][x]$ with $y = (y_1, \ldots, y_t)$ and $x = (x_1, \ldots, x_n)$, $V\subset \mathbb{C}^{t+n}$ be the algebraic set defined by $f$ and $\pi$ be the projection $(y, x) \to y$. Under the assumptions that $f$ admits finitely many complex roots for generic values of $y$ and that the ideal generated by $f$ is radical, we solve the following problem. On input $f$, we compute semi-algebraic formulas defining semi-algebraic subsets $S_1, \ldots, S_l$ of the $y$-space such that $\cup_{i=1}^l S_i$ is dense in $\mathbb{R}^t$ and the number of real points in $V\cap \pi^{-1}(\eta)$ is invariant when $\eta$ varies over each $S_i$. This algorithm exploits properties of some well chosen monomial bases in the algebra $\mathbb{Q}(y)[x]/I$ where $I$ is the ideal generated by $f$ in $\mathbb{Q}(y)[x]$ and the specialization property of the so-called Hermite matrices. This allows us to obtain compact representations of the sets $S_i$ by means of semi-algebraic formulas encoding the signature of a symmetric matrix. When $f$ satisfies extra genericity assumptions, we derive complexity bounds on the number of arithmetic operations in $\mathbb{Q}$ and the degree of the output polynomials. Let $d$ be the maximal degree of the $f_i$'s and $D = n(d-1)d^n$, we prove that, on a generic $f=(f_1,\ldots,f_n)$, one can compute those semi-algebraic formulas with $O^~( \binom{t+D}{t}2^{3t}n^{2t+1} d^{3nt+2(n+t)+1})$ operations in $\mathbb{Q}$ and that the polynomials involved have degree bounded by $D$. We report on practical experiments which illustrate the efficiency of our algorithm on generic systems and systems from applications. It allows us to solve problems which are out of reach of the state-of-the-art.
翻译:我们设计了一个新的算法来解决参数系统, 其参数的通用值有一定的多种复杂解决方案。 更准确地说, 让美元=( f_ 1,\ ldots, f_m)\subset\ mathb}[y [x]$, 美元=(y_ 1,\ldots, y_t) 美元和$x = (x, 1, 1美元, x_n) 用于解决参数的参数系统。 由美元和美元定义的正方程式 $ 。 由美元和美元定义的美元, 美元 美元, x) 美元=美元==美元=美元=美元=美元=美元=美元, 美元=美元=美元=美元=美元=美元 美元=美元=美元=美元=美元=美元=美元=美元=美元=美元=美元=美元=美元。 在投入上, 我们用半变方方公式定义半变方公式, 美元=1, 美元=1, 美元=美元=美元=美元=美元=美元=美元=美元=美元。