A General Solver Based on Sparse Resultants Ioannis Z. Emiris presented by Pavel Trutman <pavel.trutman@cvut.cz> August 30, 2019 Czech Institute of Informatics, Robotics, and Cybernetics Czech Technical University in Prague P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 1 / 13
Motivation Motivation ◮ Problems from computer vision lead to polynomial system solving. ◮ Efficiency is needed for real time applications or for RANSAC framework. ◮ Current SOTA are Gr¨ obner basis solvers. ◮ Well known and fine-tuned for many years. ◮ Maybe for some problems different approach may be faster or more stable. Table: Comparison of some common minimal problems. Courtesy: Z. K´ ukelov´ a et al. Unpublished work in review. P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 2 / 13
Resultants Resultant of two univariate polynomials Given f, g ∈ C [ x ] f = a 0 x l + · · · + a l , a 0 � = 0 l > 0 (1) g = b 0 x m + · · · + b m , b 0 � = 0 m > 0 the resultant Res( f, g ) is a 0 a 1 a 2 · · · a l a 0 a 1 a 2 · · · a l a 0 a 1 a 2 · · · a l m rows . . . ... ... . . . . . . a 0 a 1 a 2 · · · a l Res( f, g ) = det (2) b 0 b 1 b 2 · · · b m b 0 b 1 b 2 · · · b m l rows b 0 b 1 b 2 · · · b m . . . ... ... . . . . . . b 0 b 1 b 2 · · · b m The resultant vanishes iff f and g have a common root. P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 3 / 13
Resultants Example 0 1 0 4 − 1 1 0 4 − 1 0 Res( x 3 + 4 x − 1 , 2 x 2 + 3 x + 7) = det 0 0 2 3 7 = 159 (3) 0 2 3 7 0 2 3 7 0 0 No common root. P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 4 / 13
Resultants Multivariate example Polynomials f, g ∈ C [ x, y ] : f = xy − 1 , (4) g = x 2 + y 2 − 4 . (5) Resultant with respect to x : 0 y − 1 Res( f, g ) = det y − 1 0 (6) y 2 − 4 1 0 = − y 4 + 4 y 2 − 1 . (7) Solve − y 4 + 4 y 2 − 1 = 0 to find y -coordinates of the roots. P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 5 / 13
Resultants Resultant as a Macaulay matrix f = a 0 x l + · · · + a l a 0 � = 0 l > 0 (8) g = b 0 x m + · · · + b m b 0 � = 0 m > 0 The Macaulay matrix M d of degree d = l + m is a coefficient matrix. f xf x 2 f x d . . . . 0 . x d − m f . . . = M d = (9) x 2 . g 0 x xg 1 x 2 g . . . x d − l g Res( f, g ) = det( M d ) (10) P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 6 / 13
Sparse resultants Sparse resultants ◮ Exploit sparsity of the given polynomials. ◮ Lead to resultants with smaller degrees. For polynomials f 1 , . . . , f n ∈ C [ x 1 , . . . , x n − 1 ] : Res( f 1 , . . . , f n ) = det( M ) (11) . . . . 0 . . . x p f i p x q . = M = , q, p ∈ E , i p ∈ { 1 , . . . , n } (12) . . . . . 0 . . Two algorithms [1, 2] by I. Z. Emiris and J. F. Canny to obtain the matrix M . [1] J. F. Canny, I. Z. Emiris. A Subdivision-Based Algorithm for the Sparse Resultant. [2] I. Z. Emiris, J. F. Canny. Efficient Incremental Algorithms for the Sparse Resultant and the Mixed Volume. P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 7 / 13
Sparse resultants Example on sparse polynomials f = x 2 y − x 2 + xy − x = 0 (13) g = x 2 y + xy 2 + 2 xy + 2 y 2 = 0 (14) B´ ezout’s bound: Number of solutions is at most equal to the product of the degrees. ◮ We expect at most 9 solutions. BKK bound: Sparse version of the B´ ezout’s bound. P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 8 / 13
Sparse resultants Example on sparse polynomials f = x 2 y − x 2 + xy − x = 0 (13) g = x 2 y + xy 2 + 2 xy + 2 y 2 = 0 (14) y 3 y 2 Q g Newton polytope Q f : Convex hull of exponent vectors of monomials with nonzero coefficients in a polynomial f . y Q f x 2 x 3 x 4 1 x P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 8 / 13
Sparse resultants Example on sparse polynomials f = x 2 y − x 2 + xy − x = 0 (13) g = x 2 y + xy 2 + 2 xy + 2 y 2 = 0 (14) y 3 Q f + Q g y 2 Q g Minkowski sum: A + B = { a + b | a ∈ A, b ∈ B } y Q f x 2 x 3 x 4 1 x P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 8 / 13
Sparse resultants Example on sparse polynomials f = x 2 y − x 2 + xy − x = 0 (13) g = x 2 y + xy 2 + 2 xy + 2 y 2 = 0 (14) y 3 Q f + Q g y 2 Q g Minkowski sum: A + B = { a + b | a ∈ A, b ∈ B } y Q f x 2 x 3 x 4 1 x P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 8 / 13
Sparse resultants Example on sparse polynomials f = x 2 y − x 2 + xy − x = 0 (13) g = x 2 y + xy 2 + 2 xy + 2 y 2 = 0 (14) y 3 Q f + Q g y 2 Q g Minkowski sum: A + B = { a + b | a ∈ A, b ∈ B } y Q f x 2 x 3 x 4 1 x P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 8 / 13
Sparse resultants Example on sparse polynomials f = x 2 y − x 2 + xy − x = 0 (13) g = x 2 y + xy 2 + 2 xy + 2 y 2 = 0 (14) Mixed volume: In two-dimensional space y 3 Q f + Q g leads to: y 2 MV( A, B ) = Vol( A + B ) − Vol( A ) − Vol( B ) . Q g In our example y MV( Q f , Q g ) = 5 − 1 − 1 = 3 . Q f x 2 x 3 x 4 1 x P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 8 / 13
Sparse resultants Example on sparse polynomials f = x 2 y − x 2 + xy − x = 0 (13) g = x 2 y + xy 2 + 2 xy + 2 y 2 = 0 (14) BKK bound: The number of nontrivial y 3 Q f + Q g solutions is at most equal to MV( Q f 1 , . . . , Q f n ) . y 2 Q g In our example MV( Q f , Q g ) = 3 , i.e. at most three nontrivial solutions. y � � � � � � � � � � � � � � − 1 − 1 − 2 0 0 x Q f = , , , , y 1 0 1 0 0 x 2 x 3 x 4 1 x P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 8 / 13
Hiding a variable Hiding a variable ◮ System of n polynomials in n variables, but forming a resultant requires an overconstrained system! ◮ Hide one of the variables ( x n ) in the coefficient field. New variables are � ⊤ . � x = x 1 · · · x n − 1 . . . . 0 . . . x p f i p ( x , x n ) x q . = M ( x n ) = (15) . . . . . 0 . . � ⊤ lies in the � ◮ Let ( α , α n ) be a solution, then M ( α n ) is singular and vector α q · · · · · · right kernel of M ( α n ) . P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 9 / 13
Hiding a variable M ( x n ) (16) row and column permutation � � � M 11 M 12 ( x n ) (17) M 21 ( x n ) M 22 ( x n ) Gaussian elimination � � � M 11 M 12 ( x n ) (18) M ′ ( x n ) 0 Where M ′ ( x n ) = M 22 ( x n ) − M 21 ( x n ) M − 1 11 M 12 ( x n ) is the Schur complement. P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 10 / 13
Hiding a variable � � � � � � M 11 M 12 ( α n ) 0 v = (19) M ′ ( α n ) v ′ 0 0 ◮ M ′ ( α n ) v ′ = 0 is a polynomial eigenvalue problem. Find v ′ and α n . ◮ Then v = − M − 1 11 M 12 ( α n ) v ′ . v ′ � ⊤ . � ◮ Recover α from v P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 11 / 13
Application Relative camera pose ◮ Minimal solver from 5 point matches. ◮ BKK bound on number of solution is 20. ◮ Eigendecomposition of matrix 20 × 20 . ◮ Before D. Nist´ er [3] in 2004. Table: Camera motion from point matches: running times are measured on a DEC Alpha 3000 except for the second system which is solved on a Sun Sparc 20. [3] D. Nist´ er. An efficient solution to the five-point relative pose problem. P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 12 / 13
Bibliography Bibliography [1] John F. Canny and Ioannis Z. Emiris. A subdivision-based algorithm for the sparse resultant. J. ACM , 47:417–451, 05 2000. [2] Ioannis Z. Emiris and John F. Canny. Efficient incremental algorithms for the sparse resultant and the mixed volume. J. Symb. Comput. , 20:117–149, 08 1995. [3] David Nist´ er. An efficient solution to the five-point relative pose problem. IEEE transactions on pattern analysis and machine intelligence , 26(6):0756–777, 2004. P. Trutman (CIIRC) A General Solver Based on Sparse Resultants August 30, 2019 13 / 13
Recommend
More recommend