Multivariate Bernstein Subdivision solver

J.-P. Pavone

We consider here the problem of computing the solutions of a polynomial system

in a box . This solver uses the representation of multivariate polynomials in the Bernstein basis, analysis of sign variations and univariate solvers to localise the real roots of a polynomial system. The output is a set of small-enough boxes, which may contain these roots.

By a direct extension to the multivariate case, any polynomial of degree in the variable , can be decomposed as:

where is the tensor product Bernstein basis on the domain and are the control coefficients of on . The polynomial is represented in this basis by the order tensor of control coefficients . The size of , denoted by , is .

De Casteljau algorithm also applies in each of the direction , , so that we can split this representation in these directions. We use the following properties to isolate the roots:

Definition 1. For any and , let

Theorem 2. [Projection Lemma]For any , and any , we have

As a direct consequence, we obtain the following corollary:

Corollary 3. For any root of the equation in the domain , we have where

The solver implementation contains the following main steps. It consists in

until the size of the domain is smaller than a given epsilon.

As we are going to see, we have several options for each of these steps, leading to different algorithms with different behaviors, as we will see in the next sections. Indeed the solvers that we will consider are parameterized by the

Preconditioners.
Solving the system is equivalent to solving the system , where is an invertible matrix

As such a transformation may increase the degree of some equations, with respect to some variables, it has a cost, which might not be negligible in some cases.

Moreover, if for each polynomials of the system not all the variables are involved, that is if the systems is sparse with respect to the variables, such a preconditioner may transform it into a system which is not sparse anymore. In this case, we would prefer a partial preconditioner on a subsets of the equations sharing a subset of variables.

The following preconditioners are curently avialable:

Reduction strategy
Here are several reduction strategies,, that can be considered.

Subdivision strategy
Here some simple rules that can be used to subdivide a domain. We will show in the next section their impact on the performance of the solver