Presentation is loading. Please wait.

Presentation is loading. Please wait.

Robustness in Numerical Computation I Root Finding Kwanghee Ko School of Mechatronics Gwnagju Institute of Science and Technology.

Similar presentations


Presentation on theme: "Robustness in Numerical Computation I Root Finding Kwanghee Ko School of Mechatronics Gwnagju Institute of Science and Technology."— Presentation transcript:

1 Robustness in Numerical Computation I Root Finding Kwanghee Ko School of Mechatronics Gwnagju Institute of Science and Technology

2 Motivation Why do we need a nonlinear polynomial solver? Why do we need a nonlinear polynomial solver? Many geometric problems are formulated as systems of nonlinear polynomial equations Many geometric problems are formulated as systems of nonlinear polynomial equations Distance function Distance function Intersections Intersections Curvature extrema, etc. Curvature extrema, etc.

3 Solution Methods Local Solution Methods Local Solution Methods Newton-type method Newton-type method good initial approximation good initial approximation No assurance that all roots have been found No assurance that all roots have been found Global Solution Methods Global Solution Methods Algebraic Type Methods Algebraic Type Methods Homotopy (Continuation) Methods Homotopy (Continuation) Methods Subdivision Methods Subdivision Methods

4 Subdivision Methods Advantages Advantages Efficient and stable Efficient and stable Easy to implement Easy to implement Disadvantages Disadvantages No certainty that each root has been isolated No certainty that each root has been isolated No explicit information about root multiplicities No explicit information about root multiplicities Example Algorithm Example Algorithm Projected Polyhedron Algorithm Projected Polyhedron Algorithm

5 Projected Polyhedron Algorithm Transform algebraic problems (finding roots) to geometric problems (computing intersections). Transform algebraic problems (finding roots) to geometric problems (computing intersections). Use a powerful geometric property, the convex hull property in the algorithm. Use a powerful geometric property, the convex hull property in the algorithm. Input : a system of polynomial equations in Bernstein form. Input : a system of polynomial equations in Bernstein form. Output : intervals (regions) which contain roots. Output : intervals (regions) which contain roots. Note : Conversion from power basis to Bernstein basis is unstable. So we need to use Bernstein polynomials from the beginning to formulate a problem.

6 Projected Polyhedron Algorithm (Univariate Polynomial Case) 1.Make an transformation such that the range t of a function f(t) is from 0 to 1. 2.Construct a graph (t,f(t)) 0 t1t1t1 t2t2 f(t)

7 Projected Polyhedron Algorithm (Univariate Polynomial Case) Construct the convex hull of the Bezier curve

8 Projected Polyhedron Algorithm (Univariate Polynomial Case) Intersect the convex hull with the parameter axis

9 Projected Polyhedron Algorithm (Univariate Polynomial Case) Discard the regions which do not contain roots after applying the de Casteljau subdivision algorithm Eliminate

10 Projected Polyhedron Algorithm (Multivariate Polynomial Case) x = (x 1,x 2,…,x m ) independent variables x = (x 1,x 2,…,x m ) independent variables f 1 (x)=f 2 (x)=…=f n (x)=0 f 1 (x)=f 2 (x)=…=f n (x)=0 Algorithm Algorithm 1. Affine Transformation : 0  x i  1, i=1,…,m 2. Construct a graph for each f j, j=1,…,n. 3. Project the control polygon of each f j onto m different coordinate (2D) plane, i.e. (x 1,x m+1 )-plane, …, (x m,x m+1 )-plane. 4. Construct n two dimensional convex hulls in each plane. 5. Intersect each convex hull with the horizontal axis : x 1,…,x m. 6. Compute intersection of all the intervals obtained at step 5. 7. If empty, no solution. If non-empty, discard the portions that do not contain roots. 8. Repeat.

11 Robustness Issues Floating Point Arithmetic Floating Point Arithmetic Limited precision / errors due to rounding : possibility of missing roots Limited precision / errors due to rounding : possibility of missing roots Number of roots = 17 Root 1: 1 Root 2: 0.95 Root 3: 0.899999999995996 Root 4: 0.849999999999972 Root 5: 0.80000000000028 Root 6: 0.70000000000294 Root 7: 0.650000000006303 Root 8: 0.599999999966461 Root 9: 0.499999999996737 Root 10: 0.449999999994588 Root 11: 0.350000000000347 Root 12: 0.300000000019175 Root 13: 0.249999999996938 Root 14: 0.20000000000004 Root 15: 0.150000000000388 Root 16: 0.100000000000162 Root 17: 0.0500000000000002

12 Robustness Issues How to Guarantee Robustness? Rational / Exact Arithmetic Rational / Exact Arithmetic Memory intensive and time consuming Memory intensive and time consuming Interval Arithmetic Interval Arithmetic Inexpensive and robust Inexpensive and robust

13 Robustness Issues Number of roots = 20 Root 1: [0.0499999999499999, 0.0500000000499999] Root 2: [0.0999999999501635, 0.100000000050164] Root 3: [0.149999999950384, 0.150000000050384] Root 4: [0.199999999950106, 0.200000000050106] Root 5: [0.249999999950677, 0.250000000050677] Root 6: [0.299999999942791, 0.300000000100442] Root 7: [0.349999999902533, 0.350000000186656] Root 8: [0.399999999763889, 0.400000000220964] Root 9: [0.449999999713928, 0.450000000330666] Root 10: [0.499999999608116, 0.500000000334665] Root 11: [0.549999999752196, 0.550000000340326] Root 12: [0.599999999761494, 0.600000000180693] Root 13: [0.649999999906409, 0.650000000124028] Root 14: [0.699999999948099, 0.700000000048099] Root 15: [0.749999999928722, 0.750000000028722] Root 16: [0.799999999949892, 0.800000000049892] Root 17: [0.849999999949933, 0.850000000049934] Root 18: [0.899999999945992, 0.900000000045992] Root 19: [0.949999999949999, 0.95000000005] Root 20: [0.99999999995, 1] Results in Rounded Interval Arithmetic

14 Polynomials with Multiple Roots Loss of accuracy as a result of high multiplicity m. Loss of accuracy as a result of high multiplicity m. y = (x-0.1) m

15 Computing Multiplicity using Topological Degree Method Let p(x,y), q(x,y) be polynomials with rational coefficients without common factors, of degrees n 1 and n 2, and let F=(p, q). Let p(x,y), q(x,y) be polynomials with rational coefficients without common factors, of degrees n 1 and n 2, and let F=(p, q). Let A be a rectangle in the plane defined by Let A be a rectangle in the plane defined by so that no zero of F lies its boundary, and does not vanish at its vertices. so that no zero of F lies its boundary, and does not vanish at its vertices. Gauss map where S 1 is the unit circle. Gauss map where S 1 is the unit circle. G is continuous ( ). G is continuous ( ). and S 1 carry the counterclockwise orientation and S 1 carry the counterclockwise orientation Degree d of G : an integer indicating how many times is wrapped around S 1 by G. Degree d of G : an integer indicating how many times is wrapped around S 1 by G.

16 Illustration of the Gauss Map a1a1 x S1S1 y a3a3 a4a4 a2a2 z=(x 0,y 0 ) (0,0) p(x,y) q(x,y) (0,0) G=F/||F|| F1F1 X Y F=(p(x,y),q(x,y)) F 1 / | F 1 | Gauss Map

17 Example p(x) = (x-1/2) 5 = 0 - >

18 Computing Multiplicity using Topological Degree Method Two approaches for computing the topological degree Two approaches for computing the topological degree Cauchy index computation method Cauchy index computation method Winding number computation method Winding number computation method

19 The Cauchy Index Preliminaries Preliminaries R(x) : a rational function q(x)/p(x), where p, q are polynomials. R(x) : a rational function q(x)/p(x), where p, q are polynomials. [a,b] : a closed interval, a < b. R does not become infinite at the end points. [a,b] : a closed interval, a < b. R does not become infinite at the end points. Definition of the Cauchy index Definition of the Cauchy index By the Cauchy index, of R over [a,b], we mean where denotes the number of points in (a,b) at which R(x) jumps from, respectively, as x is moving from a to b. Notice that from the definition. By the Cauchy index, of R over [a,b], we mean where denotes the number of points in (a,b) at which R(x) jumps from, respectively, as x is moving from a to b. Notice that from the definition.

20 Cauchy Index (continued) Preliminaries Preliminaries A : a rectangle defined by [ a 1,a 2 ] x [ a 3,a 4 ] which encloses a zero. A : a rectangle defined by [ a 1,a 2 ] x [ a 3,a 4 ] which encloses a zero. F = (p,q) does not vanish on the boundary of A, F = (p,q) does not vanish on the boundary of A, is not zero at each vertex of A. is not zero at each vertex of A. Let Let Then, we set (for counterclockwise traversal of ) Then, we set (for counterclockwise traversal of ) Proposition* Proposition* I A F is an even integer and the multiplicity * T. Sakkalis, “The Euclidean Algorithm and the Degree of the Gauss Map”, SIAM J. Computing. Vol. 19, No. 3, 1990.

21 Illustrative Example for Multiplicity Computation p(x) = (x-1/2) 5 = 0 p(x) = (x-1/2) 5 = 0 A root of p(x), [ a ] = [0.49,0.51]. A root of p(x), [ a ] = [0.49,0.51]. P(z); (z = x+iy) P(z); (z = x+iy) Create Create Calculate the Cauchy index Calculate the Cauchy index Roots of f(x,a 3 ) = 0 Roots of f(x,a 3 ) = 0 Calculation of Calculation of Roots No. 2, 3, and 4 are selected since they lie within the interval [ a ]. Roots No. 2, 3, and 4 are selected since they lie within the interval [ a ]. [0.530776834861365, 0.530776835861365] 5 [0.507265424645288, 0.507265426808589] 4 [0.499999997363532, 0.500000001889623] 3 [0.49273457408967, 0.492734576204823] 2 [0.46922316412099, 0.46922316512099] 1 Roots of f(x,a 3 ) = 0 in [0,1] (from the IPP) No.

22 Similarly, Similarly, Calculate Calculate The multiplicity m of the root is The multiplicity m of the root is Illustrative Example (continued)

23 Winding number Computation Method

24 Polynomials with Multiple Roots Interval Projected Polyhedron Algorithm After verifying the existence of roots using the degree of Gauss map Intersection between f(x) and y=0

25 Univariate Polynomial Equation Assume that we have a univariate polynomial equation f(t) = 0. Assume that we have a univariate polynomial equation f(t) = 0. Substitute t with z = x + iy. Then we have f(z) = p(x,y) + iq(x,y). Substitute t with z = x + iy. Then we have f(z) = p(x,y) + iq(x,y). Solve f(z)=0 in the complex domain based on the topological degree algorithm. Solve f(z)=0 in the complex domain based on the topological degree algorithm. F(x,y) = (p(x,y),q(x,y)). F(x,y) = (p(x,y),q(x,y)). We can find not only real but also complex roots of f(t)=0 at the same time using the bisection algorithm. We can find not only real but also complex roots of f(t)=0 at the same time using the bisection algorithm.

26 Topological Degree Bisection Algorithm x y

27 x y

28 x y

29 x y

30 Example

31 Bivariate Polynomial Equations Topological Degree Method Topological Degree Method Useful for a polynomial equation of one variable Useful for a polynomial equation of one variable Procedure for bivariate polynomial equations Procedure for bivariate polynomial equations Compute the resultants of the system for each variable. Compute the resultants of the system for each variable. Solve the resultant equations using the topological degree method. Solve the resultant equations using the topological degree method. Select tuples which satisfy the system of equation. Select tuples which satisfy the system of equation.

32 Bivariate Polynomial Equations Resultant of a system of polynomial equations Resultant of a system of polynomial equations Let f and g be two polynomials in one variable. Let f and g be two polynomials in one variable. When f and g have a nontrivial common factor h, say f = f 1 h and g=g 1 h, and the equation uf+vg = 0 has the solution u=g 1 and v=-f 1. When f and g have a nontrivial common factor h, say f = f 1 h and g=g 1 h, and the equation uf+vg = 0 has the solution u=g 1 and v=-f 1. Conversely, the existence of nonzero solutions to this equation implies the fact that the polynomials f and g admit a common non-trivial divisor h. Conversely, the existence of nonzero solutions to this equation implies the fact that the polynomials f and g admit a common non-trivial divisor h.

33 Bivariate Polynomial Equations Resultant of a system of polynomial equations Resultant of a system of polynomial equations Given Given = 0 Then there exists a common non-trivial divisor h of f and g, which is a common solution of the equations f=0 and g=0.

34 Bivariate Polynomial Equations Resultant of a system of bivariate polynomial equations Resultant of a system of bivariate polynomial equations Given f(x,y) = 0 and g(x,y) = 0. Given f(x,y) = 0 and g(x,y) = 0. h(x) = Res y (f,g), l(y) = Res x (f,g). h(x) = Res y (f,g), l(y) = Res x (f,g). Find the solutions of h(x) = 0 and l(y) = 0 to make the resultants be zero. Find the solutions of h(x) = 0 and l(y) = 0 to make the resultants be zero. It implies that both equations have the common factors, namely, common roots. It implies that both equations have the common factors, namely, common roots. Find pairs of (x,y) to satisfy f(x,y) = g(x,y) = 0 at the same time. Find pairs of (x,y) to satisfy f(x,y) = g(x,y) = 0 at the same time.

35 Bivariate Polynomial Equations Example Example


Download ppt "Robustness in Numerical Computation I Root Finding Kwanghee Ko School of Mechatronics Gwnagju Institute of Science and Technology."

Similar presentations


Ads by Google