Solving multivariate polynomial systems using hyper

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
ji
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
ji
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