Intro Subdivision Numerical Comparison Goals Certified Complex Numerical Root Finding Alexander Kobel Max Planck Institute for Informatics Dep. 1: Algorithms and Complexity Seminar on Computational Geometry and Geometric Computing May 6, 2010 Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Errata & Additions Bugs squashed in the version of the talk on May 6, 2010 The explanation of the Obreshkoff’s lens criterion was wrong w.r.t. the radii and centers of the circles. A slide explaining the correct theorem is added. A proof for the inclusion predicate property of the S f -test has been added. The statement that the denominator in the Durand-Kerner iteration actually converges to f ′ ( z ( k ) ) is correct: i � f ( Z ) = a n ( Z − ζ i ) i � � f ′ ( Z ) = a n ⇒ ( Z − ζ j ) j � = i i f ′ ( ζ i ) = a n � ⇒ ( ζ i − ζ j ) since all other factors are 0 . j � = i Thus z ( k ) → ζ i implies f ′ ( z ( k ) ) → f ′ ( ζ i ) (for simple roots). i i Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Traditional Subdivision Solvers 1 Generic Subdivision Algorithm Sturmian Sequence Solver Descartes Solver EVAL CEVAL Numerical Solvers 2 Eigenvalue Computation Newton-Raphson Method Durand-Kerner Method Aberth-Ehrlich Iteration Other Methods Comparison Subdivision-based vs. Numerical Solvers 3 Goals of Further Work 4 Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Vocabulary and Notation Throughout the talk: i =0 a i Z i ∈ R [ Z ] Input: Polynomial f = f ( Z ) = � n Degree: n Roots: { ζ 1 , . . . , ζ n } Coefficients: R = Z : integer coefficients of arbitrary length R = Z [ 1 2 ]: “bigfloats” R = R : “bitstreams” R = float , double , long double ( R = Z [ i ] , R = Z [ 1 2 ][ i ] , R = C ) Bitsize: L Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Vocabulary and Notation Predicate (test): “fuzzy” boolean function (returns true, false or uncertain) Construction (calculation): computes a number, point, area, . . . (exact or approximated) Certificate: guarantees (by a predicate) that a calculation yields a valid and correct result (up to given precision) Isolating interval (box, disc): interval ⊂ R (or box, disc ⊂ C ) containing exactly one (possibly multiple) root of f in it’s interior and none on the boundary Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Basic Arithmetic Operations Bit complexity of integer and polynomial arithmetic Operation na¨ ıve best known CGAL +, − O ( nL ) O ( L 2 ) × , ÷ (integers) O ˜( L ) O ˜( L ) O ( n 2 L 2 ) ≤ O ˜( n 2 L ) × , ÷ (polynomials) O ˜( nL ) O ( n 2 L 2 ) O ˜( n 2 L ) polynomial evaluation on n O ˜( nL ) points f �→ f ( b 1 ) , . . . , f ( b n ) O ( n 3 L 2 ) O ˜( n 2 L ) O ˜( n 3 L ) Taylor shift f ( Z ) �→ f ( Z + b ) O ( n 2 L 2 ) O ˜( n 2 L ) polynomial gcd O ˜( nL ) Numerical stability is a different issue! Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Generic Subdivision Sturm Descartes EVAL CEVAL Generic Subdivision Algorithm 1 Calculate a root bound B of f . 2 Start subdivision algorithm on interval [ − B , B ] (or box [ − B − Bi , B + Bi ] in the complex case). 3 If an exclusion predicate holds on the current region, it cannot contain a root ⇒ throw it away. 4 If an inclusion predicate holds on the current region, it contains a root ⇒ report it. 5 If neither succeeds: check border cases, subdivide and recurse. Choices inclusion and exclusion predicates subdivision method (bisection vs. more involved methods) Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Generic Subdivision Sturm Descartes EVAL CEVAL Root Bounds Theorem (Cauchy root bound) �� � � a i � � All (complex) roots of f have an absolute value ≤ 1 + max . � � a n i < n � � Theorem (Fujiwara root bound) All (complex) roots of f have an absolute value 1 1 1 �� � � � � � � � � a n − 1 a n − 2 a 1 a 0 2 n − 1 n � � � � � � � � ≤ 2 max � , , . . . , , . � � � � � � � � a n a n a n 2 a n � � � � � � � Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Generic Subdivision Sturm Descartes EVAL CEVAL Sturmian Sequence Solver Definition (Sturm chain / Sturmian sequence) Apply Euclidean division with remainder: f n = f n − 2 − f n − 1 q n − 2 f 0 = f f 1 = f ′ f 2 = − ( f 0 mod f 1 ) = q 0 f 1 − f 0 f 3 = − ( f 1 mod f 2 ) = q 1 f 2 − f 1 . . . f s = − ( f s − 2 mod f s − 1 ) = q s − 2 f s − 1 − f s − 2 until f s is constant. Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Generic Subdivision Sturm Descartes EVAL CEVAL Sturmian Sequence Solver Theorem (Sturm’s theorem) Let σ ( x ) denote the number of sign changes in the Sturmian remainder sequence f 0 ( x ) , f 1 ( x ) , . . . , f s ( x ) . Then, an interval ( a , b ] contains exactly σ ( b ) − σ ( a ) real roots of f (counted without multiplicities). ⇒ both inclusion and exclusion predicate. Alexander Kobel Certified Complex Numerical Root Finding
✦ ✦ ✦ ✪ ✪ ✪ ✦ ✦ ✦ ✪ ✦ ✦ ✪ ✪ ✦ ✦ ✦ ✪ ✦ ✦ ✦ Intro Subdivision Numerical Comparison Goals Generic Subdivision Sturm Descartes EVAL CEVAL Comparison of Subdivision Solvers Sturm n 4 L 2 theoretical complexity O ˜( · ) predicate / tree size ++ local / adaptive ✪ numerical stability −− multiple roots ✦ bitstream coefficients ✪ ✪ sparse polynomials complex roots ✪ analytical functions ✪ easy to implement (well) ( ✪ ) Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Generic Subdivision Sturm Descartes EVAL CEVAL Descartes Solver Theorem (Descartes’ Rule of Signs) Let p denote the # of distinct positive real roots of f , and v be the # of sign changes in it’s ( � = 0 ) coefficient sequence. Then, p ≤ v and p ≡ v (mod 2) . In particular, v = 1 ⇒ p = 1 and v = 0 ⇒ p = 0 . How to apply to arbitrary intervals? Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Generic Subdivision Sturm Descartes EVAL CEVAL Descartes Solver M¨ obius transformations ( a , b ) �→ (0 , b − a ) �→ (0 , 1) �→ (1 , ∞ ) �→ (0 , ∞ ) Z �→ Z / b − a Z �→ 1 / Z Z �→ Z − 1 Z �→ Z − a � b − a � � aZ + b � f ( Z ) � f ( Z + a ) � f (( b − a ) Z + a ) � f + a � f Z Z +1 Theorem � � ( Z + 1) n ∈ R [ Z ] . aZ + b Let g ( Z ) := f Z +1 Then, roots of f in ( a , b ) correspond to roots of g in (0 , ∞ ) . Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Generic Subdivision Sturm Descartes EVAL CEVAL Descartes Solver (in Bernstein Basis) Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Generic Subdivision Sturm Descartes EVAL CEVAL Descartes Solver (in Bernstein Basis) Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Generic Subdivision Sturm Descartes EVAL CEVAL Descartes Solver (in Bernstein Basis) Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Generic Subdivision Sturm Descartes EVAL CEVAL Descartes Solver (in Bernstein Basis) Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Generic Subdivision Sturm Descartes EVAL CEVAL Descartes Solver (in Bernstein Basis) Alexander Kobel Certified Complex Numerical Root Finding
Intro Subdivision Numerical Comparison Goals Generic Subdivision Sturm Descartes EVAL CEVAL Descartes Solver (in Bernstein Basis) Alexander Kobel Certified Complex Numerical Root Finding
Recommend
More recommend