A subdivision framework for solving polynomial systems Angelos Mantzaflaris, Bernard Mourrain, Elias Tsigaridas GALAAD, INRIA Sophia Antipolis BP 93, 06902 Sophia Antipolis, France [FirstName.LastName]@sophia.inria.fr ABSTRACT We present a new framework for isolating the real roots of a system of polynomials, represented in the monomial basis. Our approach is inspired by existing subdivision methods for polynomials represented in the Bernstein basis, and it is based on homography computations. We use enveloping functions to reduce the tested domains, and to speed up the process. Finally, we provide inclusion and exclusion criteria to guarantee termination of the algorithm. 1. INTRODUCTION The problem of isolating the real roots of univariate poly- nomials is well studied, e.g. [2] and references therein, where root information tests are based on Descartes’ Rule of Signs and its variant for polynomials in the Bernstein basis. There are efforts to extend this approach to isolate the roots of polynomial systems. In [4], the authors use a tensor product version of Bernstein basis and integrated domain reduction techniques to speed up the convergence and reduce the num- ber of subdivisions. In [1], the emphasis is on the subdivision process, and a stopping criterion is presented based on the cone, perpedicular to the surface patch. In [3], the previ- ous approach is improved by introducing pre-conditioning, and univariate-solver steps. Our approach is in the same spirit as [3]. The main contributions are that for the first time a subdivision process is introduced for polynomials in tensor-monomial basis, and that the algorithm computes the continued fraction expansion of the coordinates of the zeros. Let us present the general scheme; the input is a set of polynomials, f1,f2,...,fs, represented over a domain I . The goal is to compute a list of disjoint domains, such that each contains one real root of the system f1 = ··· = fs = 0, and every real root belongs to one of these domains. First, the algorithm performs a precondition process and a reduc- tion process to refine the domain, and a queue is initialized with it. While the queue is not empty, an exclusion and an inclusion test is applied to the domain on top of the queue. If both tests fail, then we split the representation (of the polynomials) into a number of sub-domains, we push them to the queue, and we repeat the process. This general framework can be parametrized by several ingredients. For instance, the way we represent the polyno- mials in a given (usually rectangular) domain. Moreover, we may use different algorithms to split the representation to smaller sub-domains, and/or tests to identify the existence of common roots in the domain. The splitting algorithm is based on homographies and Horner’s algorithm and is briefly described in Sec. 2. Re- duction and precondition is discussed in Sec. 3. Inclusion and exclusion tests are presented in Sec. 4. 2. REPRESENTATION: HOMOGRAPHIES The input of the algorithm is a system of polynomials in tensor-monomial representation, i.e. every polynomial is represented as a tensor (higher dimensional array) of coeffi- cients in the natural monomial basis, namely f (x)= d 1 X i 1 =0 ··· dn X in=0 ci 1 ..in x (i 1 ,..,in) , with di N, for every polynomial f of the input system. Definition 2.1. A homography (or Mobius transforma- tion) is a bijective projective transformation H =(H1, .., Hn), defined over P 1 ×···× P 1 as x k 7→H k (x k )= α k x k + β k γ k x k + δ k with α k k k k Z, γ k δ k 6=0, k =1, .., n. Using simple calculations, we can see that the inverse H -1 k (x k ) is also a homography. Also, notice that if det H > 0 then, taking proper limits when needed, we can write R+ 7→H k (R+)= » β k δ k , α k γ k (1) hence H(f ): R n + R, H(f ) := n Y k=1 (γ k x k + δ k ) d k · (f ◦H)(x) is a polynomial defined over R n + that corresponds to the (possibly unbounded) box IH = H(R n + )= » β1 δ1 , α1 γ1 ×···× » βn δn , αn γn , (2) of the initial system, in the sense that the zeros of the ini- tial system in IH are in one-to-one correspondence with the positive zeros of H(f ). We focus on the computation of H(f ). We use the base homographies T c k (f )= f |x k =x k +c (translation by c) or sim- ply T k (f ) if c = 1, C c k (f )= f |x k =cx k (contraction by c) and R k (f )= x d k k f | x k =1/x k (reciprocal polynomial). These nota- tions are naturally extended to variable vectors; for instance T c =(T c 1 1 , .., T cn n ), c =(c1, .., cn) Z n . We can see that they suffice to compute any homography: Lemma 2.2. The group of homographies H with coeffi- cients in Z is generated by R k ,C c k ,T c k , k =1, .., n, c Z.