Solving Multivariate Polynomial
Systems
using Hyperplane Arithmetic and
Linear Programming
Iddo Hanniel
The Problem
Consider the following set of n polynomial equations:
F1 ( x1 , x2 ,..., xn ) 0,
Fn ( x1 , x2 ,..., xn ) 0,
n
in R .
We seek the simultaneous solution, x ( x1 , x 2 , ..., x n ) ,
such that Fi ( x ) 0 for all i =1,…,n.
2
Example Application – Apollonius 10th
Problem
( x x1 ) 2 ( y y1 ) 2 ( r r1 ) 2
( x x2 ) 2 ( y y 2 ) 2 ( r r2 ) 2
( x x3 ) 2 ( y y3 ) 2 ( r r3 ) 2
3
Apollonius Problem Applications
Voronoi diagram of circles
Artillery sound range locator
4
Example Voronoi Diagram Vertices
c2 ( s )
p c1 ( r ), p c1 ( r )
p
c1 ( r )
p ( x , y ) c ir c le _ c e n t e r
p c0 (t ), p c0 (t )
c0 (t )
p c2 ( s ), p c2 ( s )
p c0 (t ), c0 '(t ) 0,
p c1 ( r ), c1 '( r ) 0,
p c2 ( s ), c2 '( s ) 0.
2 distance constraint + 3 tangency constraint =
5 equations in 5 unknowns (can we do in less?)
5
Example application – Kinematics of
Parallel Mechanisms
6
Previous Work on Multivariate
Polynomial Solvers
Algebraic Solvers:
Grobner bases [Cox et al., 1992].
Multivariate Sturm sequences [Milne, 1992].
Homotopy methods [Wampler 05].
Subdivision Solvers:
Interval arithmetic solvers [Merlet 2000]
Subdivision solvers based on the Bernstein/Bezier/B-spline
properties [Sherbrooke and Patrikalakis, 1993], [Elber and
Kim, 2001].
7
Interval Arithmetic
For two intervals [a, b] and [c, d] that are subsets of
(-∞,+ ∞):
[a, b] + [c, d] = [a + c, b + d]
[a, b] − [c, d] = [a − d, b − c]
[a, b] × [c, d] = [min (a × c, a × d, b × c, b × d),
max (a × c, a × d, b × c, b × d)]
[a, b] ÷ [c, d] = [min (a ÷ c, a ÷ d, b ÷ c, b ÷ d),
max (a ÷ c, a ÷ d, b ÷ c, b ÷ d)] when 0 is not in [c, d].
8
Interval of Powers
Odd n:
[ a , b ] [ a , b ].
n
n
n
Even n:
n
n
n
[ a , b ] [ a , b ], if a 0,
[ a , b ] [ b , a ], if b 0,
n
n
n
[ a , b ] [0 , m ax { a , b } ], o th erw ise .
n
n
n
9
Interval Based Multivariate Bisection
Algorithm
root_isolation_in_box(Multivariate F(x1,..,xn), Box
B[a1,b1]×.. ×[an,bn],
Output {Boxes})
1.If (max(bi-ai) < ε) append B to output boxes and return.
2.Evaluate [Fmin,Fmax] = F([a1,b1], ..,[an,bn]).
3.If [Fmin,Fmax] does not contain 0, return.
4.Split B into two sub-boxes, B1,B2 at 0.5(bm+am), where
m = {i: (bi-ai) is maximal}.
5.root_isolation_in_box(F,B1,{Boxes})
6.root_isolation_in_box(F,B2,{Boxes})
10
Problem with Intervals
F ( x) x x,
F ([ 1,1]) [ 0 ,1] [ 1,1] [ 1, 2 ],
2
x x ( x 0 .5) 0 .2 5,
2
2
([ 1,1] 0 .5) 0 .2 5 [ 0 .2 5, 2 ].
2
11
The Basic Bezier/B-Spline
Solver
A subdivision step in a multidimensional
space, using B-spline/Bezier subdivision.
A multivariate Newton-Raphson (NR)
numeric step.
[Elber and Kim, 2001]
12
Subdivision Illustration –
Univariate Case
Subdivision.
CH containment.
13
Multivariate Bezier/B-spline Tensor
Representation
m1 m 2
ml
f k ( x ) .. p i1,i 2,..,il B ( x1 ) B ( x 2 ).. B ( xl )
B
m1
i1
i1 0 i 2 0 il 0
p 02 0,
p12 1, p 22 0
p 01 1,
p11 2, p 21 1
p 00 0, p10 1,
m2
i2
ml
il
p12 0
14
Basic Bezier Based Multivariate
Subdivision Algorithm
root_isolation_in_box(Multivariate F(x1,..,xn), Box
B[a1,b1]×.. ×[an,bn],
Output {Boxes})
1.If (max(bi-ai) < ε) append B to output boxes and return.
2.If CH does not contain 0, return.
3.Split B into two sub-boxes, B1,B2 at 0.5(bm+am), where
m = {i: (bi-ai) is maximal}.
4.root_isolation_in_box(F,B1,{Boxes})
5.root_isolation_in_box(F,B2,{Boxes})
15
Research Questions
When do we stop the subdivision?
Single solution test [Hanniel & Elber 07, Wei et al. 11].
Can we handle univariate solutions? [Barton, Hanniel
& Elber 11]
What about bivariate solutions? [Mizrahi & Elber 15]
Can preconditioning improve the algorithm?
[Mourrain & Pavone 09]
Can we reduce the domain more efficiently?
Projected Polyhedron [Sherbrooke & Patrikalakis 93].
Projected curves [Mourrain & Pavone 09].
Linear Programming on Bernstein Polyhedra [Funfzig et
al. 09]
16
Domain Reduction using
Bounding Hyperplanes
The basic idea: Bound the function Fi=0 by a pair of
parallel hyper-planes in Rd. The root can only be at the
intersection of the bounding hyperplanes.
F1
F2
17
Linear Programming
Under a set of linear
constraints (inequalities)
of type:
Maximize the linear
objective function of type:
a11 x1 ... a1m xm b1
an1 x1 ... anm xm bn
f ( x 1 , .., x m ) c 1 x 1 .. c m x m
18
Linear Programming Example
Constraints:
x1 x2 3
x1 2 x2 6
x1 0
x2 0
Maximize
f(x1,x2)=x2
Maximize
f(x1,x2)=x1
19
Bounding Hyperplane
Construction
Promote Fi from a scalar function to a
hyper-surface in Rn+1, Fˆi ( x1 , x 2 , ..., x n , Fi ) .
Evaluate the gradient (i.e., the normal) at
the sub-domain mid-point and project all
control points of the hyper-surface onto it.
The two hyper-planes orthogonal to the
gradient and passing through the extreme
projection points, bound Fi.
20
Bounding Hyperplane Construction
Illustration (d=1)
Fi ( x m id )
[
F̂i
]
xn+1 = 0
21
Domain Reduction Procedure using
LP
Bound Fi from above and below by two
hyperplanes: HPmin ≤Fi ≤HPmax .
Perform 2n LP queries (for objective functions
min/max xi ).
Reduce the domain to box with min/max xi.
22
Why is Tensor Representation a
Problem?
[Bamberger and Shoham, 2007]
23
Why is Tensor Representation a
Problem?
Grows exponentially with number of variables n (O(l+1)n).
Dense representation: Even for sparse systems, all
coefficients are required for Bezier properties (e.g., CH).
Standard power form requires only O(nl) and in many
cases less (e.g., linear, constant).
m1 m 2
fk ( x)
B
ml
.. p
i1 0 i 2 0
il 0
Bk
i 1, i 2 ,.., il
m1
i1
m2
i2
ml
il
B ( x1 ) B ( x 2 ).. B ( xl )
24
Research Question
Can we use a sparse representation and
still benefit the features of Bezier
representation?
Previous work:
Elber & Grandine 09: Expression Trees
Funfzig et al. 09: Bernstein polyhedra and LP
25
From Interval Arithmetic to
Hyperplane Arithmetic
fi [ fi
Interval arithmetic:
m in
, fi
m ax
]
f j [ f jm in , f jm ax ]
f i f j [ f i m in f jm in , f i m ax f jm ax ]
Generalization to
bounding functions:
f i m in ( x ) f i ( x ) f i m ax ( x )
f jm in ( x ) f j ( x ) f jm ax ( x )
f i m in ( x ) f jm in ( x ) f i ( x ) f j ( x ) f i m ax ( x ) f jm ax ( x )
Hyperplane Arithmetic Example
F x12 x 22 1
( x1 , x 2 ) [0,1] [0,1]
Bounding
first monom:
1
x1 x12 x1
4
Bounding
second monom:
1
2
x2 x2 x2
4
Bounding sum:
1
x1 x 2 x12 x 22 x1 x 2
2
Hyperplane Arithmetic Example
x1 - 0.25 ≤ x12 ≤ x1
x2 - 0.25 ≤ x22 ≤ x2
x1 + x2 – 1.5 ≤ x12 + x22 - 1 ≤ x1+x2 – 1
LP Algorithm using Hyperplane
Arithmetic
Bound Fi polynomials by two parallel
hyperplanes, using hyperplane arithmetic of
bounds on its monomial terms.
Perform 2n LP computations to compute new
[ximin,ximax] values for each xi.
Continue recursively on the new reduced domain.
Experimental Results
Test cases:
Easily scalable by number of variables
Easily computable roots.
Tested Algorithms:
IRIT Naïve - basic with mid parameter subdivision – no reduction.
IRIT PP - variant of [Sherbrooke & Patrikalakis 93].
Bernst LP - variant of [Funfzig et al. 09].
Naïve LP - our algorithm with dense Bezier representation.
HPA LP - our algorithm with hyper-plane arithmetic.
30
Experimental Results – Hyper-cylinders
Fi ( x1 ,.., x n ) x 2j 1 0
ji
What does it look like? How many roots are there?
31
Results Hyper-cylinders (I)
ms
n
32
Results Hyper-cylinders (II)
ms
n
33
Extension to Degree 3
Fi ( x1 ,.., x n ) x 3j 1 0
ji
34
Results – Degree 3 (I)
ms
n
35
Results – Degree 3 (Opt vs. No Opt)
ms
n
Tighter (optimized) bounding hyperplanes specialized for x3.
36
Broyden Tridiagonal System
Classic function in optimization community (where not
all root are necessarily required).
Easily scaled by number of variables.
Two roots in [-2,2]n .
(3 2 x1 ) x1 2 x2 1 0
(3 2 xi ) xi xi 1 2 xi 1 1 0,
i 2,.., n 1
(3 2 xn ) xn xn 1 1 0
37
Broyden Results (I)
ms
n
38
Broyden Results (II)
ms
n
39
A Dense System
Taken from [Tsidon, Hanniel & Kesslassi 2012].
Dense system easily scaled by number of variables.
One root in (0,1]n .
l
l
i 1
i 1
Fl ( x1 ,.., x l ) ( x i 2 x i ) 2 ( x i ) 2 0,
l 1,.., n
F1 x12 x1 2 x12 0
F2 ( x12 x2 2 ) ( x1 x2 ) 2 ( x12 2 x1 x2 x2 2 ) 0
(1 2 ) xi 2 xi 2 2 xi x j
40
Dense System (cont.)
Solution formula:
F1 x12 x1 2 x12 0
F2 ( x12 x2 2 ) ( x1 x2 ) 2 ( x12 2 x1 x2 x2 2 ) 0
(1 2 ) xi 2 xi 2 2 xi x j
1 2
xl
l 1
2
x
1
i 1
2
i
What does the geometry of these surfaces look like?
or xl 0
Results – Dense System
ms
n
42
© Copyright 2026 Paperzz