Nonrobustness Real Root Isolation p 7 p 2 Algebraic form of orient p 3 Sign of (( q x − p x )( r y − p y ) − ( q y − p y )( r x − p x )) . ” is + 1, “R” is − 1, “S” is 0. “L p 8 In practice, fl_orient ( p , q , r ) . p 6 p 1 Is p 4 in ∆( p 1 , p 2 , p 3 ) ? 1 p 5 Is fl_orient ( p 1 , p 2 , p 4 ) = L ? Yes. p 4 2 Is fl_orient ( p 2 , p 3 , p 4 ) = L ? Yes. 3 p 1 = (7 . 3000000000000194 , 7 . 3000000000000167) p 2 = (24 . 000000000000068 , 24 . 000000000000071) Is fl_orient ( p 3 , p 1 , p 4 ) = L ? 4 p 3 = (24 . 00000000000005 , 24 . 000000000000053) p 4 = (0 . 50000000000001621 , 0 . 50000000000001243) Yes. 5 p 5 = (8 , 4) p 6 = (4 , 9) p 7 = (15 , 27) p 8 = (19 , 11) .
Nonrobustness Real Root Isolation p 7 p 2 Algebraic form of orient p 3 Sign of (( q x − p x )( r y − p y ) − ( q y − p y )( r x − p x )) . ” is + 1, “R” is − 1, “S” is 0. “L p 8 In practice, fl_orient ( p , q , r ) . p 6 p 1 Is p 4 in ∆( p 1 , p 2 , p 3 ) ? 1 p 5 Is fl_orient ( p 1 , p 2 , p 4 ) = L ? Yes. p 4 2 Is fl_orient ( p 2 , p 3 , p 4 ) = L ? Yes. 3 p 1 = (7 . 3000000000000194 , 7 . 3000000000000167) p 2 = (24 . 000000000000068 , 24 . 000000000000071) Is fl_orient ( p 3 , p 1 , p 4 ) = L ? 4 p 3 = (24 . 00000000000005 , 24 . 000000000000053) p 4 = (0 . 50000000000001621 , 0 . 50000000000001243) Yes. 5 p 5 = (8 , 4) p 6 = (4 , 9) p 7 = (15 , 27) p 8 = (19 , 11) .
Nonrobustness Real Root Isolation p 7 p 2 Algebraic form of orient p 3 Sign of (( q x − p x )( r y − p y ) − ( q y − p y )( r x − p x )) . ” is + 1, “R” is − 1, “S” is 0. “L p 8 In practice, fl_orient ( p , q , r ) . p 6 p 1 Is p 4 in ∆( p 1 , p 2 , p 3 ) ? 1 p 5 Is fl_orient ( p 1 , p 2 , p 4 ) = L ? Yes. p 4 2 Is fl_orient ( p 2 , p 3 , p 4 ) = L ? Yes. 3 p 1 = (7 . 3000000000000194 , 7 . 3000000000000167) p 2 = (24 . 000000000000068 , 24 . 000000000000071) Is fl_orient ( p 3 , p 1 , p 4 ) = L ? 4 p 3 = (24 . 00000000000005 , 24 . 000000000000053) p 4 = (0 . 50000000000001621 , 0 . 50000000000001243) Yes. 5 p 5 = (8 , 4) p 6 = (4 , 9) p 7 = (15 , 27) p 8 = (19 , 11) . Is p 5 in ∆( p 1 , p 2 , p 3 ) ? No. 6
Nonrobustness Real Root Isolation p 7 p 2 Algebraic form of orient p 3 Sign of (( q x − p x )( r y − p y ) − ( q y − p y )( r x − p x )) . ” is + 1, “R” is − 1, “S” is 0. “L p 8 In practice, fl_orient ( p , q , r ) . p 6 p 1 Is p 4 in ∆( p 1 , p 2 , p 3 ) ? 1 p 5 Is fl_orient ( p 1 , p 2 , p 4 ) = L ? Yes. p 4 2 Is fl_orient ( p 2 , p 3 , p 4 ) = L ? Yes. 3 p 1 = (7 . 3000000000000194 , 7 . 3000000000000167) p 2 = (24 . 000000000000068 , 24 . 000000000000071) Is fl_orient ( p 3 , p 1 , p 4 ) = L ? 4 p 3 = (24 . 00000000000005 , 24 . 000000000000053) p 4 = (0 . 50000000000001621 , 0 . 50000000000001243) Yes. 5 p 5 = (8 , 4) p 6 = (4 , 9) p 7 = (15 , 27) p 8 = (19 , 11) . Is p 5 in ∆( p 1 , p 2 , p 3 ) ? No. 6 Update, and continue... 7
Nonrobustness Real Root Isolation p 7 p 2 Algebraic form of orient p 3 Sign of (( q x − p x )( r y − p y ) − ( q y − p y )( r x − p x )) . ” is + 1, “R” is − 1, “S” is 0. “L p 8 In practice, fl_orient ( p , q , r ) . p 6 p 1 Is p 4 in ∆( p 1 , p 2 , p 3 ) ? 1 p 5 Is fl_orient ( p 1 , p 2 , p 4 ) = L ? Yes. p 4 2 Is fl_orient ( p 2 , p 3 , p 4 ) = L ? Yes. 3 p 1 = (7 . 3000000000000194 , 7 . 3000000000000167) p 2 = (24 . 000000000000068 , 24 . 000000000000071) Is fl_orient ( p 3 , p 1 , p 4 ) = L ? 4 p 3 = (24 . 00000000000005 , 24 . 000000000000053) p 4 = (0 . 50000000000001621 , 0 . 50000000000001243) Yes. 5 p 5 = (8 , 4) p 6 = (4 , 9) p 7 = (15 , 27) p 8 = (19 , 11) . Is p 5 in ∆( p 1 , p 2 , p 3 ) ? No. 6 Update, and continue... 7
Nonrobustness Real Root Isolation p 7 p 2 Algebraic form of orient p 3 Sign of (( q x − p x )( r y − p y ) − ( q y − p y )( r x − p x )) . ” is + 1, “R” is − 1, “S” is 0. “L p 8 In practice, fl_orient ( p , q , r ) . p 6 p 1 Is p 4 in ∆( p 1 , p 2 , p 3 ) ? 1 p 5 Is fl_orient ( p 1 , p 2 , p 4 ) = L ? Yes. p 4 2 Is fl_orient ( p 2 , p 3 , p 4 ) = L ? Yes. 3 p 1 = (7 . 3000000000000194 , 7 . 3000000000000167) p 2 = (24 . 000000000000068 , 24 . 000000000000071) Is fl_orient ( p 3 , p 1 , p 4 ) = L ? 4 p 3 = (24 . 00000000000005 , 24 . 000000000000053) p 4 = (0 . 50000000000001621 , 0 . 50000000000001243) Yes. 5 p 5 = (8 , 4) p 6 = (4 , 9) p 7 = (15 , 27) p 8 = (19 , 11) . Is p 5 in ∆( p 1 , p 2 , p 3 ) ? No. 6 Update, and continue... 7 p 1 , p 2 , p 3 , p 4 are almost collinear.
Nonrobustness Real Root Isolation Geometry of fl_orient p = ( 0 . 5 , 0 . 5 ) , q = ( 12 , 12 ) , r = ( 24 , 24 ) . fl_orient (( p x + iu , p y + ju ) , q , r ) , 0 ≤ i , j ≤ 255. u = 2 − 53 . Left turn Right turn Collinear Kettner et al.’06 Classroom Examples of Robustness Problems in Geom. Comp.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach Geometric Algorithms [Yap’94] Combinatorial structure representing discrete relations amongst geometric objects. E.g., a point is to the left, right or on a line.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach Geometric Algorithms [Yap’94] Combinatorial structure representing discrete relations amongst geometric objects. E.g., a point is to the left, right or on a line. Numerical representation of the geometric objects. E.g., floating-point representation of coordinates.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach Geometric Algorithms [Yap’94] Combinatorial structure representing discrete relations amongst geometric objects. E.g., a point is to the left, right or on a line. Numerical representation of the geometric objects. E.g., floating-point representation of coordinates. Characterize the combinatorial structure by verifying the discrete relations using numerical computations. E.g., using the orientation predicate.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach Geometric Algorithms [Yap’94] Combinatorial structure representing discrete relations amongst geometric objects. E.g., a point is to the left, right or on a line. Numerical representation of the geometric objects. E.g., floating-point representation of coordinates. Characterize the combinatorial structure by verifying the discrete relations using numerical computations. E.g., using the orientation predicate. Cause of Non-robustness Numerical errors may give incorrect characterization.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach The EGC solution Compute correct discrete relations between geometric objects. Correct sign evaluation of geometric predicates. What are geometric predicates?
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach q r p Orientation predicate Whether r is to the left, right, or collinear with ( p , q ) ?
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach A ( X, Y ) B ( X, Y ) Whether two algebraic curves intersect?
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach √ √ 10000134 1000084 √ √ 1000031 √ 10000158 1000087 √ √ 1000182 1000025 √ 1000001 √ 1000198 p q √ √ 1000002 1000199 √ √ 1000175 1000018 √ √ √ 1000113 1000169 1000042 √ √ 1000066 1000116 Which is the shorter path? Almost equal – difference is smaller than 10 − 36 .
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach Geometric Predicates Sign of (multivariate) polynomials evaluated at real algebraic numbers Real Algebraic Numbers Real roots of integer polynomials in one variable. √ E.g. ±√ n , for positive integer n , 1 + 5 , but not π , e . 2
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Numerical Representation of α Data Structure – Rooted DAG, G( α ). + − √ ∗ / k
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Numerical Representation of α Data Structure – Rooted DAG, G( α ). + − Internal nodes – algebraic operations. √ ∗ / k
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Numerical Representation of α Data Structure – Rooted DAG, G( α ). + − Internal nodes – algebraic operations. Leaves – integers or real algebraic √ ∗ / k numbers. √ 1+ 5 4 12 23 5 2
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Numerical Representation of α Data Structure – Rooted DAG, G( α ). + − Internal nodes – algebraic operations. Leaves – integers or real algebraic √ ∗ / k numbers. Isolating interval representation: √ 1+ 5 4 12 23 5 2 A ( X ) ∈ Z [ X ] , A ( α ) = 0, 1 Interval separating α from other roots 2 (conjugates) of A ( X ) .
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Numerical Representation of α Data Structure – Rooted DAG, G( α ). + − Internal nodes – algebraic operations. Leaves – integers or real algebraic √ ∗ / k numbers. Isolating interval representation: √ 1+ 5 4 12 23 5 2 A ( X ) ∈ Z [ X ] , A ( α ) = 0, 1 Interval separating α from other roots 2 (conjugates) of A ( X ) . Arithmetic is manipulating DAGs.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Comparing two numbers: α = β ? Input G ( α ) and G ( β ) . + − √ ∗ / k √ 1+ 5 4 12 23 5 2
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Comparing two numbers: α = β ? Input G ( α ) and G ( β ) . + − Constructive Zero Bounds : G ( α ) , constructs b s.t. | α | > 2 − b if α � = 0. √ ∗ / k √ 1+ 5 4 12 23 5 2
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Comparing two numbers: α = β ? Input G ( α ) and G ( β ) . + − Constructive Zero Bounds : G ( α ) , constructs b s.t. | α | > 2 − b if α � = 0. √ ∗ / k √ 1+ 5 4 12 23 5 2 Recursive rules, e.g. | a / b + c / d | ≥ 1 / | cd | , if a > 2 − b then √ a | > 2 − bk . | k Burnikel et al.’99, Li-Yap’00 etc.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Comparing two numbers: α = β ? Input G ( α ) and G ( β ) . + − Constructive Zero Bounds : G ( α ) , constructs b s.t. | α | > 2 − b if α � = 0. √ ∗ / k √ 1+ 5 4 12 23 5 2 Recursive rules, e.g. | a / b + c / d | ≥ 1 / | cd | , if a > 2 − b then √ a | > 2 − bk . | k Burnikel et al.’99, Li-Yap’00 etc.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Comparing two numbers: α = β ? Input G ( α ) and G ( β ) . + − Constructive Zero Bounds : G ( α ) , constructs b s.t. | α | > 2 − b if α � = 0. √ ∗ / k √ 1+ 5 4 12 23 5 2 Recursive rules, e.g. | a / b + c / d | ≥ 1 / | cd | , if a > 2 − b then √ a | > 2 − bk . | k Burnikel et al.’99, Li-Yap’00 etc.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach | α | > 2 − b / Comparing two numbers: α = β ? Input G ( α ) and G ( β ) . + − Constructive Zero Bounds : G ( α ) , constructs b s.t. | α | > 2 − b if α � = 0. √ ∗ / k √ 1+ 5 4 12 23 5 2 Recursive rules, e.g. | a / b + c / d | ≥ 1 / | cd | , if a > 2 − b then √ a | > 2 − bk . | k Burnikel et al.’99, Li-Yap’00 etc.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Comparing two numbers: α = β ? Input G ( α ) and G ( β ) . + − Constructive Zero Bounds : G ( α ) , constructs b s.t. | α | > 2 − b if α � = 0. √ ∗ / k Construct zero bound for G ( α ) ⊖ G ( β ) to get b s.t. | α − β | > 2 − b , if α � = β . √ 1+ 5 4 12 23 5 2 Recursive rules, e.g. | a / b + c / d | ≥ 1 / | cd | , if a > 2 − b then √ a | > 2 − bk . | k Burnikel et al.’99, Li-Yap’00 etc.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Comparing two numbers: α = β ? Input G ( α ) and G ( β ) . + − Constructive Zero Bounds : G ( α ) , constructs b s.t. | α | > 2 − b if α � = 0. √ ∗ / k Construct zero bound for G ( α ) ⊖ G ( β ) to get b s.t. | α − β | > 2 − b , if α � = β . √ 1+ 5 4 12 23 5 2 α , � ( b + 1 ) -bit approximations � β ∈ Q . Recursive rules, e.g. | a / b + c / d | ≥ 1 / | cd | , if a > 2 − b then √ a | > 2 − bk . | k Burnikel et al.’99, Li-Yap’00 etc.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Comparing two numbers: α = β ? Input G ( α ) and G ( β ) . + − Constructive Zero Bounds : G ( α ) , constructs b s.t. | α | > 2 − b if α � = 0. √ ∗ / k Construct zero bound for G ( α ) ⊖ G ( β ) to get b s.t. | α − β | > 2 − b , if α � = β . √ 1+ 5 4 12 23 5 2 α , � ( b + 1 ) -bit approximations � β ∈ Q . Recursive rules, e.g. α − � β | < 2 − b − 1 then α = β . If | � | a / b + c / d | ≥ 1 / | cd | , if a > 2 − b then √ a | > 2 − bk . | k Burnikel et al.’99, Li-Yap’00 etc.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Numerical Representation of α Data Structure – Rooted DAG, G( α ). + − Internal nodes – algebraic 1 operations. √ Leaves – integers or real algebraic 2 ∗ / k numbers. Isolating interval representation: √ 1+ 5 4 12 23 5 2 A ( X ) ∈ Z [ X ] , A ( α ) = 0, 1 Interval separating α from other Recursive rules, e.g. 2 roots of A ( X ) . | a / b + c / d | ≥ 1 / | cd | , Arithmetic is manipulating DAGs. if a > 2 − b then √ Constructive Zero Bounds: G ( α ) , a | > 2 − bk . | k constructs b s.t. | α | > 2 − b if α � = 0. Burnikel et al.’99, Li-Yap’00 etc.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Numerical Representation of α Data Structure – Rooted DAG, G( α ). + − Internal nodes – algebraic 1 operations. √ Leaves – integers or real algebraic 2 ∗ / k numbers. Isolating interval representation: √ 1+ 5 4 12 23 5 2 A ( X ) ∈ Z [ X ] , A ( α ) = 0, 1 Interval separating α from other Recursive rules, e.g. 2 roots of A ( X ) . | a / b + c / d | ≥ 1 / | cd | , Arithmetic is manipulating DAGs. if a > 2 − b then √ Constructive Zero Bounds: G ( α ) , a | > 2 − bk . | k constructs b s.t. | α | > 2 − b if α � = 0. Burnikel et al.’99, Li-Yap’00 etc.
Nonrobustness Real Root Isolation The Exact Geometric Computation (EGC) Approach / Numerical Representation of α Data Structure – Rooted DAG, G( α ). + − Internal nodes – algebraic 1 operations. √ Leaves – integers or real algebraic 2 ∗ / k numbers. Isolating interval representation: √ 1+ 5 4 12 23 5 2 A ( X ) ∈ Z [ X ] , A ( α ) = 0, 1 Interval separating α from other Recursive rules, e.g. 2 roots of A ( X ) . | a / b + c / d | ≥ 1 / | cd | , Arithmetic is manipulating DAGs. if a > 2 − b then √ Constructive Zero Bounds: G ( α ) , a | > 2 − bk . | k constructs b s.t. | α | > 2 − b if α � = 0. Burnikel et al.’99, Li-Yap’00 etc.
Nonrobustness Real Root Isolation The Exact Geometric Computation Approach Implementations Leda reals – http://www.mpi-inf.mpg.de/LEDA/ Core Library – http://www.cs.nyu.edu/exact/core Used in CGAL – www.cgal.org
Nonrobustness Real Root Isolation Theoretical Foundations of EGC Ideal World Algorithms in Real RAM model. Computes a function f : R → R .
Nonrobustness Real Root Isolation Theoretical Foundations of EGC Ideal World Algorithms in Real RAM model. Computes a function f : R → R . The EGC World, [Yap, 2003] � f is f implemented in EGC model. Input to � f is a dense subset (say Q ) of R and precision p . For x ∈ Q , � f computes a relative approx. to f i.e. � f ( x ) = f ( x )( 1 ± 2 − p ) . What class of functions are EGC-computable?
Nonrobustness Real Root Isolation Theoretical Foundations of EGC Ideal World Algorithms in Real RAM model. Computes a function f : R → R . The EGC World, [Yap, 2003] � f is f implemented in EGC model. Input to � f is a dense subset (say Q ) of R and precision p . For x ∈ Q , � f computes a relative approx. to f i.e. � f ( x ) = f ( x )( 1 ± 2 − p ) . What class of functions are EGC-computable?
Nonrobustness Real Root Isolation Fundamental Problem Zero Problem Are two real numbers α , β equal?
Nonrobustness Real Root Isolation Fundamental Problem Zero Problem Are two real numbers α , β equal? / Numerical Representation of α Data Structure – Rooted DAG, G( α ). + − Isolating interval representation: A ( X ) ∈ Z [ X ] , A ( α ) = 0, 1 √ ∗ Interval separating α from other / k 2 roots of A ( X ) . √ Constructive Zero Bounds: G ( α ) , 1+ 5 4 12 23 5 2 constructs b s.t. | α | > 2 − b if α � = 0.
Nonrobustness Real Root Isolation Fundamental Problem Zero Problem Are two real numbers α , β equal? / Numerical Representation of α Data Structure – Rooted DAG, G( α ). + − Isolating interval representation: A ( X ) ∈ Z [ X ] , A ( α ) = 0, 1 √ ∗ Interval separating α from other / k 2 roots of A ( X ) . √ Constructive Zero Bounds: G ( α ) , 1+ 5 4 12 23 5 2 constructs b s.t. | α | > 2 − b if α � = 0. Transcendental Functions Interior nodes were exp, log, sin, cos etc., or leaves e , π ?
Nonrobustness Real Root Isolation Fundamental Problem Zero Problem Are two real numbers α , β equal? / Numerical Representation of α Data Structure – Rooted DAG, G( α ). + − Isolating interval representation: A ( X ) ∈ Z [ X ] , A ( α ) = 0, 1 √ ∗ Interval separating α from other / k 2 roots of A ( X ) . √ Constructive Zero Bounds: G ( α ) , 1+ 5 4 12 23 5 2 constructs b s.t. | α | > 2 − b if α � = 0. Transcendental Functions Interior nodes were exp, log, sin, cos etc., or leaves e , π ?
Nonrobustness Real Root Isolation Zero Problem for exp, log Expressions, Richardson’07 exp, log Expressions √}∪{ exp , log } Interior nodes are { + , − , ∗ ,/, k
Nonrobustness Real Root Isolation Zero Problem for exp, log Expressions, Richardson’07 exp, log Expressions √}∪{ exp , log } Interior nodes are { + , − , ∗ ,/, k Schanuel’s Conjecture Given n complex numbers z 1 ,..., z n linearly independent over Q . At least n transcendental numbers in { z 1 ,..., z n , e z 1 ,..., e z n } . Generalizes Lindemann-Weierstrass Theorem z 1 ,..., z n are n linearly independent algebraic numbers.
Nonrobustness Real Root Isolation Complexity of Algebraic Numbers Which algebraic numbers can be relatively approximated in poly time? √ √ Sum of Square Roots 10000134 1000084 √ √ √ 1000031 √ √ a i − ∑ k 10000158 1000087 ∑ k b i , i = 1 i = 1 √ √ 1000025 1000182 | a i | , | b i | ≤ N . √ 1000001 √ S ( N , k ) , the minimum 1000198 p q positive absolute value √ √ 1000002 of the sum. 1000199 √ √ Current bounds: 1000175 1000018 S ( N , k ) � N − 2 k . √ √ √ 1000113 1000169 1000042 √ √ 1000066 1000116 Hope: S ( N , k ) � N − k .
Nonrobustness Real Root Isolation Real Root Isolation The Problem Given A ( X ) ∈ Z [ X ] , degree d . A ( X )
Nonrobustness Real Root Isolation Real Root Isolation The Problem Given A ( X ) ∈ Z [ X ] , degree d . A ( X )
Nonrobustness Real Root Isolation Real Root Isolation The Problem Given A ( X ) ∈ Z [ X ] , degree d . A ( X )
Nonrobustness Real Root Isolation Real Root Isolation The Problem Given A ( X ) ∈ Z [ X ] , degree d . A ( X ) Assumption All the roots are of multiplicity one, i.e. GCD ( A ( X ) , A ′ ( X )) = 1.
Nonrobustness Real Root Isolation Selective History Classical Work Descartes, Newton, Fourier, Sturm, Vincent, Weierstrass, Obreshkoff, Ostrowski, Weyl, Henrici, ... Modern Work – Complexity and Implementation Schönhage, Smale, Pan (optimal complexity results), ... Collins, Johnson, Krandick, Bini, Mehlhorn, Sagraloff, ... Relevance Fundamental problem in computational algebra, used in Cylindrical Algebraic Decomposition, in Ray Tracing, Computer Aided Design, for verifying conjectures, ...
Nonrobustness Real Root Isolation A General Subdivision Algorithm Input: A ( X ) ∈ Z [ X ] of degree d , and I 0 . Output: Isolating intervals for roots of A ( X ) in I 0 .
Nonrobustness Real Root Isolation A General Subdivision Algorithm Input: A ( X ) ∈ Z [ X ] of degree d , and I 0 . Output: Isolating intervals for roots of A ( X ) in I 0 . The Real Root Counting function Count ( A , I ) = number of real roots of A ( X ) in I .
Nonrobustness Real Root Isolation A General Subdivision Algorithm Input: A ( X ) ∈ Z [ X ] of degree d , and I 0 . Output: Isolating intervals for roots of A ( X ) in I 0 . The Real Root Counting function Count ( A , I ) = number of real roots of A ( X ) in I . RootIsol( A ( X ) , I ) If Count ( A , I ) = 0 then return. 1 If Count ( A , I ) = 1 then output I and return. 2 Let m be the midpoint of I = ( I l , I r ) . 3 Recurse on ( A ( X ) , ( I l , m )) and ( A ( X ) , ( m , I r )) . 4
Nonrobustness Real Root Isolation Illustration I 0 7
Nonrobustness Real Root Isolation Illustration I 0 7 4 3
Nonrobustness Real Root Isolation Illustration I 0 7 4 3 0 4 1 2
Nonrobustness Real Root Isolation Illustration I 0 7 4 3 0 4 1 2
Nonrobustness Real Root Isolation Sturm Sequences The Sequence A := ( A 0 = A , A 1 = A ′ ,..., A k ) , A i + 1 := rem ( A i − 1 , A i ) .
Nonrobustness Real Root Isolation Sturm Sequences The Sequence A := ( A 0 = A , A 1 = A ′ ,..., A k ) , A i + 1 := − rem ( A i − 1 , A i ) .
Nonrobustness Real Root Isolation Sturm Sequences The Sequence A := ( A 0 = A , A 1 = A ′ ,..., A k ) , A i + 1 := − rem ( A i − 1 , A i ) . A ( x ) = ( x 2 − x − 1 ) , A ′ ( x ) = 2 x − 1 x 2 − x − 1 = ( 2 x − 1 ) ( 2 x − 1 ) 4 = 4 x 2 − 4 x + 1 − 5 − 5 4 . 4 4 A = ( x 2 − x − 1 , 2 x − 1 , − 5 4 ) .
Nonrobustness Real Root Isolation Sturm Sequences The Sequence A := ( A 0 = A , A 1 = A ′ ,..., A k ) , A i + 1 := − rem ( A i − 1 , A i ) . A ( x ) = ( x 2 − x − 1 ) , A ′ ( x ) = 2 x − 1 x 2 − x − 1 = ( 2 x − 1 ) ( 2 x − 1 ) 4 = 4 x 2 − 4 x + 1 − 5 − 5 4 . 4 4 A = ( x 2 − x − 1 , 2 x − 1 , + 5 4 ) .
Nonrobustness Real Root Isolation Sturm Sequences The Sequence A := ( A 0 = A , A 1 = A ′ ,..., A k ) , A i + 1 := − rem ( A i − 1 , A i ) . A ( x ) = ( x 2 − x − 1 ) , A ′ ( x ) = 2 x − 1 x 2 − x − 1 = ( 2 x − 1 ) ( 2 x − 1 ) 4 = 4 x 2 − 4 x + 1 − 5 − 5 4 . 4 4 A = ( x 2 − x − 1 , 2 x − 1 , + 5 4 ) . The Variation Given c ∈ R , evaluate A at c , i.e., ( A 0 ( c ) , A 1 ( c ) ,..., A k ( c )) . Drop all the zeros from the sequence ( A 0 ( c ) , A 1 ( c ) ,..., A k ( c )) . Var ( A ; c ) := no. of sign flips from + to − or vice versa.
Nonrobustness Real Root Isolation Sturm Sequences The Sequence A := ( A 0 = A , A 1 = A ′ ,..., A k ) , A i + 1 := − rem ( A i − 1 , A i ) . A ( x ) = ( x 2 − x − 1 ) , A ′ ( x ) = 2 x − 1 x 2 − x − 1 = ( 2 x − 1 ) ( 2 x − 1 ) 4 = 4 x 2 − 4 x + 1 − 5 − 5 4 . 4 4 A = ( x 2 − x − 1 , 2 x − 1 , + 5 4 ) . Var ( A ; 1 ) = #( − , + , +) = 1, Var ( A ; 2 ) = #(+ , + , +) = 0. The Variation Given c ∈ R , evaluate A at c , i.e., ( A 0 ( c ) , A 1 ( c ) ,..., A k ( c )) . Drop all the zeros from the sequence ( A 0 ( c ) , A 1 ( c ) ,..., A k ( c )) . Var ( A ; c ) := no. of sign flips from + to − or vice versa.
Nonrobustness Real Root Isolation Sturm Sequences The Sequence A := ( A 0 = A , A 1 = A ′ ,..., A k ) , A i + 1 := − rem ( A i − 1 , A i ) . A ( x ) = ( x 2 − x − 1 ) , A ′ ( x ) = 2 x − 1 x 2 − x − 1 = ( 2 x − 1 ) ( 2 x − 1 ) 4 = 4 x 2 − 4 x + 1 − 5 − 5 4 . 4 4 A = ( x 2 − x − 1 , 2 x − 1 , + 5 4 ) . Var ( A ; 1 ) = #( − , + , +) = 1, Var ( A ; 2 ) = #(+ , + , +) = 0. The Variation Given c ∈ R , evaluate A at c , i.e., ( A 0 ( c ) , A 1 ( c ) ,..., A k ( c )) . Drop all the zeros from the sequence ( A 0 ( c ) , A 1 ( c ) ,..., A k ( c )) . Var ( A ; c ) := no. of sign flips from + to − or vice versa. Sturm’s Theorem, 1829 No. of real roots of A ( x ) in ( c , d ) = Var ( A ; c ) − Var ( A ; d ) .
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm, Davenport’85 I 0 7 4 3 0 4 1 2 3 1 1 1 1 2 1 1 Size of the subdivision tree, | T | . 1 Worst case complexity at every node. 2
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm, Davenport’85 I 0 7 4 3 0 4 1 2 3 1 1 1 1 2 1 1 Size of the subdivision tree, | T | . 1 Worst case complexity at every node. 2
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm Measure of Complexity Root Separation of A , sep ( A ) := min {| α − β | : α , β ∈ Z ( A ) ⊆ C } .
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm Measure of Complexity Root Separation of A , sep ( A ) := min {| α − β | : α , β ∈ Z ( A ) ⊆ C } . Bounds i = 0 a i x i ∈ Z [ x ] , degree d , | a i | ≤ 2 L , i = 0 ,..., d . A ( x ) = ∑ d − logsep ( A ) = O ( dL + d log d ) . w ( I 0 ) < 2 L .
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm I 0 7 4 3 0 4 1 2 3 1 1 1 1 2 1 1
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm I 0 7 T ′ 4 3 0 4 1 2 3 1 1 1 1 2 1 1
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm I 0 7 | T | ≤ 2 | T ′ | 4 3 0 4 1 2 3 1 1 1 1 2 1 1
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm I 0 7 4 3 4 2 3 2
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm I 0 7 4 3 J 4 2 3 2 α J β J
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm I 0 7 4 3 J 4 2 w ( I 0 ) log 3 | α J − β J | 2 α J β J
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm I 0 7 4 3 J 4 2 w ( I 0 ) log 3 | α J − β J | 2 α J β J
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm I 0 7 4 3 J 4 2 w ( I 0 ) log 3 | α J − β J | 2 α J β J w ( I 0 ) | T ′ | ≤ ∑ J log | α J − β J |
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm I 0 7 4 3 J 4 2 w ( I 0 ) log 3 | α J − β J | 2 α J β J w ( I 0 ) | T ′ | ≤ ∑ J log | α J − β J | = O ( d log w ( I 0 )) − ∑ J log | α J − β J |
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm I 0 7 4 3 J 4 2 w ( I 0 ) log 3 | α J − β J | 2 α J β J w ( I 0 ) | T ′ | ≤ ∑ J log | α J − β J | = O ( d log w ( I 0 )) − ∑ J log | α J − β J | − ∑ J log | α J − β J |
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm I 0 7 4 3 J 4 2 w ( I 0 ) log 3 | α J − β J | 2 α J β J w ( I 0 ) | T ′ | ≤ ∑ J log | α J − β J | = O ( d log w ( I 0 )) − ∑ J log | α J − β J | − ∑ J log | α J − β J | = O ( − d logsep ( A )) = O ( d ( dL + d log d ))
Nonrobustness Real Root Isolation Complexity Analysis – Sturm’s Algorithm I 0 7 4 3 J 4 2 w ( I 0 ) log 3 | α J − β J | 2 α J β J w ( I 0 ) | T ′ | ≤ ∑ J log | α J − β J | = O ( d log w ( I 0 )) − ∑ J log | α J − β J | − ∑ J log | α J − β J | = O ( − d logsep ( A )) = O ( d ( dL + d log d )) − ∑ J log | α J − β J | = O ( dL + d log d ) , Davenport-Mahler.
Nonrobustness Real Root Isolation Some Remarks on Sturm’s Algorithm The subdivision tree size is optimal (Mignotte’s polynomials).
Recommend
More recommend