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

Slides:



Advertisements
Similar presentations
5.1 Real Vector Spaces.
Advertisements

Review for Test 3.
Chapter 2 Functions and Graphs
Rational function A function  of the form where p(x) and q(x) are polynomials, with q(x) ≠ 0, is called a rational function.
09/25/02 Dinesh Manocha, COMP258 Triangular Bezier Patches Natural generalization to Bezier curves Triangles are a simplex: Any polygon can be decomposed.
College Algebra Chapter 2 Functions and Graphs.
Chapter 4 Roots of Equations
25/6/2006 Solving Multivariate Nonlinear Polynomial Systems Massarwi Fady Computer Aided Geometric Design (236716) Spring 2006.
LIMITS Continuity LIMITS In this section, we will: See that the mathematical definition of continuity corresponds closely with the meaning of the.
Introduction to Gröbner Bases for Geometric Modeling Geometric & Solid Modeling 1989 Christoph M. Hoffmann.
NEW APPROACH TO CALCULATION OF RANGE OF POLYNOMIALS USING BERNSTEIN FORMS.
3 Polynomial and Rational Functions © 2008 Pearson Addison-Wesley. All rights reserved Sections 3.1–3.2.
Solving Quadratic Equations by Graphing
Linear Systems The definition of a linear equation given in Chapter 1 can be extended to more variables; any equation of the form for real numbers.
3 Polynomial and Rational Functions © 2008 Pearson Addison-Wesley. All rights reserved Sections 3.1–3.4.
Barnett/Ziegler/Byleen Finite Mathematics 11e1 Chapter 2 Review Important Terms, Symbols, Concepts 2.1. Functions Point-by-point plotting may be used to.
Linear Equations and Functions
Preparation for Calculus
© 2008 Pearson Addison-Wesley. All rights reserved Chapter 1 Section 8-4 An Introduction to Functions: Linear Functions, Applications, and Models.
Preview of Calculus.
Functions.
Algebra Review. Polynomial Manipulation Combine like terms, multiply, FOIL, factor, etc.
Graph quadratic equations. Complete the square to graph quadratic equations. Use the Vertex Formula to graph quadratic equations. Solve a Quadratic Equation.
Polynomials. 2 Content Evaluation Root finding Root Bracketing Interpolation Resultant.
Polynomial and Rational Functions
1 Preliminaries Precalculus Review I Precalculus Review II
1.1 Four ways to represent Functions. Definition of a Function.
Solving Systems of Equations. Rule of Thumb: More equations than unknowns  system is unlikely to have a solution. Same number of equations as unknowns.
0.1 Functions and Their Graphs. Real Numbers A set is a collection of objects. The real numbers represent the set of numbers that can be represented as.
By: Hector L Contreras SSGT / USMC
Interval Arithmetic Kwang Hee Ko School of Mechatronics Gwangju Institute of Science and Technology.
1 ENM 503 Block 1 Algebraic Systems Lesson 4 – Algebraic Methods The Building Blocks - Numbers, Equations, Functions, and other interesting things. Did.
Chapter 3 Linear Equations and Functions TSWBAT find solutions of two variable open sentences, and graph linear equations and points in two variables.
V. Space Curves Types of curves Explicit Implicit Parametric.
Functions and their Graphs. Relations A relation is a mapping of input values with output values. The set of x-values (input values) is called the domain.
Section 2.1 Functions. 1. Relations A relation is any set of ordered pairs Definition DOMAINRANGE independent variable dependent variable.
MTH 104 Calculus and Analytical Geometry Lecture No. 2.
Algebra of Limits Assume that both of the following limits exist and c and is a real number: Then:
Copyright © 2014, 2010 Pearson Education, Inc. Chapter 2 Polynomials and Rational Functions Copyright © 2014, 2010 Pearson Education, Inc.
Chapter 1-The Basics Calculus, 2ed, by Blank & Krantz, Copyright 2011 by John Wiley & Sons, Inc, All Rights Reserved.
Mathematics for Business and Economics - I
Numerical Methods.
ROBUSTNESS IN NUMERICAL COMPUTATION II VALIDATED ODE SOLVER KWANG HEE KO SCHOOL OF MECHATRONICS GWANGJU INSTITUTE OF SCIENCE AND TECHNOLOGY.
5.6 The Fundamental Theorem of Algebra. If P(x) is a polynomial of degree n where n > 1, then P(x) = 0 has exactly n roots, including multiple and complex.
3 Polynomial and Rational Functions © 2008 Pearson Addison-Wesley. All rights reserved Sections 3.1–3.4.
1 ■Use function notation to represent and evaluate a function. ■Find the domain and range of a function. ■Sketch the graph of a function. ■Identify different.
Copyright © Cengage Learning. All rights reserved. Functions and Graphs 3.
2.1 Functions and their Graphs Standard: Students will understand that when a element in the domain is mapped to a unique element in the range, the relation.
Review Chapter 1 Functions and Their Graphs. Lines in the Plane Section 1-1.
Symmetry and Coordinate Graphs Section 3.1. Symmetry with Respect to the Origin Symmetric with the origin if and only if the following statement is true:
Chapter 2 Linear Equations and Functions. Sect. 2.1 Functions and their Graphs Relation – a mapping or pairing of input values with output values domain.
Section 7.6 Functions Math in Our World. Learning Objectives  Identify functions.  Write functions in function notation.  Evaluate functions.  Find.
Chapter 3 Polynomial and Rational Functions.
Chapter 2 Functions and Graphs
Algebra Vocabulary.
Rational Functions and Models
Computation of the solutions of nonlinear polynomial systems
Computer Graphics Lecture 38
Functions and Their Graphs
Chapter Functions.
Intro to Functions.
Complex Variables. Complex Variables Open Disks or Neighborhoods Definition. The set of all points z which satisfy the inequality |z – z0|
Copyright © Cengage Learning. All rights reserved.
Efficient Methods for Roots of Univariate Scalar Beziers
Comparing and Contrasting Functions
3.4 Zeros of Polynomial Functions: Real, Rational, and Complex
Functions Definition: A function from a set D to a set R is a rule that assigns to every element in D a unique element in R. Familiar Definition: For every.
Understanding Functions
Continuity Alex Karassev.
Real-Valued Functions
Presentation transcript:

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

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.

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

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

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.

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)

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

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

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

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 If empty, no solution. If non-empty, discard the portions that do not contain roots. 8. Repeat.

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: Root 4: Root 5: Root 6: Root 7: Root 8: Root 9: Root 10: Root 11: Root 12: Root 13: Root 14: Root 15: Root 16: Root 17:

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

Robustness Issues Number of roots = 20 Root 1: [ , ] Root 2: [ , ] Root 3: [ , ] Root 4: [ , ] Root 5: [ , ] Root 6: [ , ] Root 7: [ , ] Root 8: [ , ] Root 9: [ , ] Root 10: [ , ] Root 11: [ , ] Root 12: [ , ] Root 13: [ , ] Root 14: [ , ] Root 15: [ , ] Root 16: [ , ] Root 17: [ , ] Root 18: [ , ] Root 19: [ , ] Root 20: [ , 1] Results in Rounded Interval Arithmetic

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

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.

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

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

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

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.

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.

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 ]. [ , ] 5 [ , ] 4 [ , ] 3 [ , ] 2 [ , ] 1 Roots of f(x,a 3 ) = 0 in [0,1] (from the IPP) No.

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

Winding number Computation Method

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

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.

Topological Degree Bisection Algorithm x y

x y

x y

x y

Example

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.

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.

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.

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.

Bivariate Polynomial Equations Example Example