numerical rootfinding in a compact region
play

Numerical Rootfinding in a Compact Region Suzanna Stephenson - PowerPoint PPT Presentation

Numerical Rootfinding in a Compact Region Suzanna Stephenson Brigham Young University January 26, 2019 Introduction Optimization problems are extremely important Many problems have lots of variables, especially in machine learning Most


  1. Numerical Rootfinding in a Compact Region Suzanna Stephenson Brigham Young University January 26, 2019

  2. Introduction Optimization problems are extremely important ◮ Many problems have lots of variables, especially in machine learning ◮ Most methods only find local min/max ◮ Finding the common zeros of the partial derivatives gives global min/max

  3. The Problem Find the common roots of f 1 , f 2 , . . . , f n in a given compact set C ⊂ R n . (i.e. x ∈ C such that f 1 ( x ) = f 2 ( x ) = · · · = f n ( x ) = 0.) 1 f ( x , y ) = sin ( xy ) + x log ( y + 3) − x 2 + y − 4 g ( x , y ) = cos (3 xy ) + exp ( 3 y x − 2) − x − 6

  4. Introduction This problem is surprisingly difficult! ◮ Bad Complexity - Scales Poorly ◮ Numerical Instability Roots of � 20 i =1 ( x − i ) = 0 in black. Roots given when perturbing coefficients by 10 − 10 in red.

  5. Current Methods ◮ Newton’s Method ◮ Homotopy continuation (Bertini) ◮ Spectral Methods ◮ Subdivision

  6. Our Algorithm Subdivision Method System of general functions 1. Subdivide 2. Chebyshev approximate 3. Eliminate sub-domains with no roots 4. For each remaining sub-domain, ◮ Solve Chebyshev approximations with modified TVB ◮ Eliminate extra roots

  7. Companion Matrix For a single univariate polynomial p ( x ), construct a matrix A with p ( x ) as its characteristic polynomial. Then use numerical methods to find the eigenvalues of A : the roots of p ( x ).

  8. Companion Matrix If p ( x ) = x n + a n − 1 x n − 1 + ... + a 1 x + a 0 , then   0 1 0 · · · 0 0 0 1 · · · 0   . . . .  ...  . . . . A =  . . . .      0 0 0 · · · 1   − a 0 − a 1 − a 2 · · · − a n − 1 has p ( x ) as its characteristic polynomial.

  9. Generalized Companion Matrix Can the companion matrix be generalized to systems of multivariate polynomials?

  10. Generalized Companion Matrix ”multiplication-by- x ” operator on quotient algebra C [ x ] / � p ( x ) � 1 �→ x x �→ x 2 . . . x n − 2 �→ x n − 1 x n − 1 �→ x n ≡ − a n − 1 x n − 1 − · · · − a 1 x − a 0 mod p ( x ) Companion matrix: representation of this operator (standard basis)   0 1 0 · · · 0 0 0 1 · · · 0    . . . .  ... . . . .   . . . .     0 0 0 · · · 1   − a 0 − a 1 − a 2 · · · − a n − 1

  11. M¨ oller-Stetter Matrix ◮ A := C [ x 1 , . . . , x n ] / � f 1 , . . . , f n � ◮ dim ( A ) = # of common roots of f 1 , . . . , f n . M h : g �→ hg for some h ∈ C [ x 1 , ..., x n ] / � f 1 , ..., f n � ◮ Eigenvalues : h ( x 1 ) , . . . , h ( x N ) ◮ Left-eigenvectors : [ b 1 ( x i ) , . . . , b N ( x i )] T ◮ Common roots can be extracted from the eigenvalues/eigenvectors

  12. M¨ oller-Stetter Matrix ◮ A := C [ x 1 , . . . , x n ] / � f 1 , . . . , f n � ◮ dim ( A ) = # of common roots of f 1 , . . . , f n . M h : g �→ hg for some h ∈ C [ x 1 , ..., x n ] / � f 1 , ..., f n � ◮ Eigenvalues : h ( x 1 ) , . . . , h ( x N ) ◮ Left-eigenvectors : [ b 1 ( x i ) , . . . , b N ( x i )] T ◮ Common roots can be extracted from the eigenvalues/eigenvectors

  13. M¨ oller-Stetter Matrix ◮ A := C [ x 1 , . . . , x n ] / � f 1 , . . . , f n � ◮ dim ( A ) = # of common roots of f 1 , . . . , f n . M h : g �→ hg for some h ∈ C [ x 1 , ..., x n ] / � f 1 , ..., f n � ◮ Eigenvalues : h ( x 1 ) , . . . , h ( x N ) ◮ Left-eigenvectors : [ b 1 ( x i ) , . . . , b N ( x i )] T ◮ Common roots can be extracted from the eigenvalues/eigenvectors

  14. M¨ oller-Stetter Matrix Example: A = C [ x , y , z ] / � f 1 , f 2 , f 3 � Eigenvalues Method: ◮ Eigenvalues of M x are x-coordinates of roots ◮ Make M x , M y , M z EIgenvectors Method: ◮ Include 1 , x , y , z in basis for A ◮ ∀ h , eigenvectors of M h will look like [ c , cx , cy , cz , ... ] T ◮ Compute the roots as ( x , y , z ) = ( cx c , cy c , cz c )

  15. Challenge Compute a basis for A and a matrix representation of M h in higher dimensions

  16. Macaualy Matrix � f 1 : x 1 x 2 − 2 x 2 = 0 f 2 : x 2 − 3 = 0 x 3 x 2 x 1 x 2 x 3 x 2 x 2 1 x 2 x 1 x 2 x 1 x 2 1 1 2 2 1 2 x 2 1 f 2 0 1 0 0 − 3 0 0 0 0 0   x 1 x 2 f 2 0 0 1 0 0 − 3 0 0 0 0   x 2 2 f 2 0 0 0 1 0 0 − 3 0 0 0     x 1 f 2 0 0 0 0 0 1 0 − 3 0 0     x 2 f 2  0 0 0 0 0 0 1 0 − 3 0    f 2  0 0 0 0 0 0 0 0 1 − 3    x 1 f 1  0 1 0 0 0 − 2 0 0 0 0    0 0 1 0 0 0 − 2 0 0 0 x 2 f 1   0 0 0 0 0 1 0 0 − 2 0 f 1

  17. Telen-Van Barel Method ◮ Reduce the Macaulay Matrix to Echelon form ◮ Monomials of free columns form a basis for A ◮ Every row is in � f 1 , ..., f n � ◮ Relations to find M h : g �→ hg for some h ∈ C [ x 1 , ..., x n ] / � f 1 , ..., f n � ◮ Reducing with pivoting make the reduction more stable

  18. Subdivision Method Alex Townsend ◮ Subdivide the region ◮ Chebyshev Approximate ◮ Bezout Resultant ◮ Unstable in 3+ dimensions

  19. Chebyshev ◮ Orthogonal Basis of Polynomials ◮ Rootfinding Well-Conditioned ◮ Approximation can be found quickly with FFT ◮ Coefficients drop to 0 exponentially as degree increases

  20. Putting it together Subdivision Method System of general functions 1. Subdivide 2. Chebyshev approximate 3. Eliminate sub-domains with no roots 4. For each remaining sub-domain, ◮ Solve Chebyshev approximations with modified TVB ◮ Eliminate extra roots

  21. Numerical Instability ◮ Coefficient of highest degree monomials very small for Chebyshev approximations ◮ Highest degree monomials can’t be in vector basis for building M h ◮ Must be a pivot column of the matrix. ◮ Thus computing M h is numerically impossible!

  22. Division Matrix Solution - M¨ oller Stetter Matrix using division ( M x − 1 ) instead of i multiplication ( M x i ) ◮ Increases Numerical Stability for Chebyshev approximations ◮ Numerically, x − 1 exists i ◮ Now terms with no x i must be pivot ◮ Much more stable numerically

  23. Results 1 f ( x , y ) = sin ( xy ) + x log ( y + 3) − x 2 + y − 4 g ( x , y ) = cos (3 xy ) + exp ( 3 y x − 2) − x − 6

  24. Results f ( x , y ) = sin(30 x − y 30) + y g ( x , y ) = cos( x 30 − 30 y ) − x

  25. Results f ( x , y ) = sin (20 x + y ) g ( x , y ) = cos ( x 2 + xy ) − 1 4

  26. Results Nick Trefethen’s Hundred-dollar, Hundred-digit Challenge f ( x , y ) = e sin(50 x ) +sin(60 e y )+sin(70 sin( x ))+sin(sin(80 y )) − sin(10( x + y ))+1 / 4( x 2 + y 2 )

  27. Results

  28. Results f ( x , y , z ) = sin (5 x + y + z ) g ( x , y , z ) = sin ( xyz ) h ( x , y , z ) = x 2 + y 2 − z 2 − 1

  29. Timing Results

  30. Future Work We have cool ideas to make it even better! ◮ Adaptive Subdivision ◮ Dimension Reduction ◮ Better Interval Checks Look up our code on GitHub! ◮ https://github.com/tylerjarvis/RootFinding

Recommend


More recommend