The CORS method Selecting the roots of a system of polynomial equations with combinatorial optimization H. Bekker E.P. Braad B. Goldengorin University of Groningen, The Netherlands
Jan 11, 2016
The CORS method
Selecting the roots of a system of polynomial equations with combinatorial optimization
H. Bekker
E.P. Braad
B. Goldengorin
University of Groningen, The Netherlands
:= f2 ( )0.3 x 0.32
( )y 0.297562
1.2 0
:= f1 ( )x 1.53
( )y 13
5 ( )x 1.5 ( )y 12
50
Two implicit curves f1(x,y) and f2(x,y)
Problem: calculate the intersections of f1(x,y) and f2(x,y)
Problem: calculate the intersections of f1(x,y) and f2(x,y)
:= f2 ( )0.3 x 0.32
( )y 0.297562
1.2 0
:= f1 ( )x 1.53
( )y 13
5 ( )x 1.5 ( )y 12
50
Two implicit curves f1(x,y) and f2(x,y)
Problem: calculate the intersections of f1(x,y) and f2(x,y)
:= f2 ( )0.3 x 0.32
( )y 0.297562
1.2 0
:= f1 ( )x 1.53
( )y 13
5 ( )x 1.5 ( )y 12
50
Presentation outline
•Conventional methods
•What can go wrong
•The CORS method
•Results
•More dimensions?
Conventional method•Eliminate x from f1(x,y) and f2(x,y) giving P(y)
•Solve P(y) numerically, giving the roots y1..yn
•Sustitute yi in f1(x,y) and f2(x,y) and solve for x
•Select the common root xj from these two equations
•The pair (xj,yi) is a solution of f1(x,y) and f2(x,y)
What can go wrong•f1(x,yi) or f2(x,yi) may be zero for every x
•Numerical errors: there are no identical solutions of f1(x,yi)=0 and f2(x,yi)=0
Remarks•The conventional approach is not symmetric: first x is eliminated, then y (or the other way around)
•Numerical errors: f1(xi,yj) 0, f2(xi,yj) 0
•We are dealing with a matching problem: match every yi with an optimal xj
The CORS method
Q(x)
The CORS method•Eliminate x from f1(x,y) and f2(x,y) giving P(y)
•Solve P(y) numerically, giving the roots y1..yn
•Eliminate y from f1(x,y) and f2(x,y) giving Q(x)
•Solve Q(x) numerically, giving the roots x1..xn
•Determine the error of every pair (xi,yj):
•Construct a weighted bipartite graph G with n x-nodes
and n y-nodes. The weight of edge (xi,yj) is
•Calculate the minimum weight matching of G. This gives the
desired n solutions.
ji ,22
, ),(2),(1 yjxifyjxifji
ji ,
The CORS method
Q(x)
The essence of CORS
The CORS method selects n pairs (x,y) from n^2 pairs, so that every x-value and every y-value is used only once and the total error is minimized.
Q(x)
Alternative CORS
Instead of minimizing the sum of the errors it is possible to minimize the maximum error.
•Sort all solutions, based on n*n errors, in increasing order
•Replace in G the errors with 1, 2, 4, 8, 16, 32, …..
•Calculate the minimum weight matching of G. This gives the solutions with min-max error.
ji ,
CORS was implemented in C++
CORS was tested on a computational geometry problem
CORS results were compared with SYNAPS and MAPLE
Results
CORS allways found all solutions, SYNAPS missed 2%
CORS was 30 times faster than SYNAPS
Can CORS be used for more than two equations and variables?
Yes, but then a multidimensional matching algorithm is needed.
A conventional branch and bound algorithm may be used to solve the multidimensional matching problem.
Currently we are experimenting with a tolerance bases 3D weighted matching algorithm.
Outline for solving the 2D LAP problem using tolerances
1. Solve the relaxed LAP
2. Use tolerances to remove multiple selections in columns until all
multiple selection have been removed EXAMPLE
RLAP solution Modified RLAP solution
3 3 2 7 3 3 2 7
2 8 4 7 2 8 4 7
4 6 2 1 4 6 2 1
8 5 3 9 8 5 3 9
This method may be generalized to more than two dimensions
Conclusion
Using combinatorial optimization to select the roots of a system of polynomial equations (CORS) is an efficient and robust method
Questions?