* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download x - bu people
Compressed sensing wikipedia , lookup
Linear least squares (mathematics) wikipedia , lookup
System of linear equations wikipedia , lookup
Lagrange multiplier wikipedia , lookup
Polynomial ring wikipedia , lookup
Simulated annealing wikipedia , lookup
Finite element method wikipedia , lookup
Methods of computing square roots wikipedia , lookup
Dynamic substructuring wikipedia , lookup
Factorization of polynomials over finite fields wikipedia , lookup
Root of unity wikipedia , lookup
Eisenstein's criterion wikipedia , lookup
False position method wikipedia , lookup
System of polynomial equations wikipedia , lookup
Horner's method wikipedia , lookup
Newton's method wikipedia , lookup
Quadratic equation wikipedia , lookup
Cubic function wikipedia , lookup
Quiz 1) What is the formula to calculate the percentage rela7ve of numerical error? 2) Con7nue the following Taylor series formula: f(x+h) = f(x) + … Roots of Polynomials Revision on Basic Laws of Indices (i) (iv) (ii) (v) (iii) (vi) Examples: The general form of polynomial equations (2.1) • Linear equation (or polynomial of order 1) • Quadratic equation (or polynomial of order 2) • Cubic equation (or polynomial of order 3) Simple Linear Equa<ons (1) Solve (i) By cross-multiplying (ii) Removing brackets (iii) Rearranging (2) Solve Quadra<c Equa<ons Quadratic Formula 1 Roots of a general quadratic eqn. are x1,2 = The expression b± p b2 2a (2.2) 4ac (2.3) is called the discriminant. two unequal real roots two unequal complex roots the roots are real and equal Quadra<c Equa<ons Quadratic Formula 2 (from Lagrange resolvents) Roots of a general quadratic eqn. (2.4) are (2.5) How do we get these roots? Assume that the equation factors as x2 + px + q = (x ↵)(x Continue! ) Quadra<c Equa<ons Factorization (1) Then, either or (2) MATLAB Implementa<ons Create a solver by writing functions, for example: function x = quadraticSolver(a,b,c) x = zeros(2,1); d = sqrt(b^2 - 4*a*c); x(1) = ( -b + d ) / (2*a); x(2) = ( -b - d ) / (2*a); This solver accepts 3 input numbers to find roots of a quadratic function and returns a vector output (answers). MATLAB Implementa<ons Call the function from the command line (or Command Window): >> quadraticSolver(3,-4,2) ans 0.6667 + 0.4714i 0.6667 - 0.4714i This solver can be downloaded at: http://people.bu.edu/andasari/courses/Fall2015/quadraticSolver.m Tschirnhaus Transforma<on Let be a polynomial of order n Then the substitution converts Pn into a depressed polynomial where Cubic Equa<on (Cardano’s Formula) The cubic equation is by the substitution (2.6) reduced to Letting we obtain (2.7) Cubic Equa<on (Cardano’s Formula) Now let and and substituting into the depressed cubic eqn. (2.7): Cubic Equa<on (Cardano’s Formula) The 6th order polynomial can be solved by using the quadratic formula, by taking and the equation reduces to Solving using the quadratic formula, we get Cubic Equa<on (Cardano’s Formula) or Substituting k back to u If we take the positive root and substitute to we get the expression for It goes the same way if we take the negative root for u3. Cubic Equa<on (Cardano’s Formula) is called the discriminant. Putting and the roots can be interpreted as follows: (i) if D > 0, then one root is real and two are complex conjugates (ii) if D = 0, then all roots are real, and at least two are equal (iii) if D < 0, then all roots are real and unequal Cubic Equa<on (Cardano’s Formula) The roots of If then are (prove it???) are roots of the equation MATLAB Implementa<on Write a Matlab solver to calculate roots of cubic equations. MATLAB Implementa<on function [x,y] = CardanoFormula(a,b,c,d) % Returns roots and discriminant of cubic equations % ax^3 + bx^2 + cx + d = 0 x = zeros(3,1); Q = ((3*a*c)-(b^2))/(9*a^2); R = ((9*a*b*c)-(27*a^2*d)-(2*b^3))/(54*a^3); y = sqrt(Q^3 + R^2); u = (R+y)^(1/3); v = (R-y)^(1/3); Bb = u + v; zz1 = -(1/2)*Bb + (1/2)*sqrt(-1)*sqrt(3)*sqrt(Bb^2+4*Q); zz2 = -(1/2)*Bb - (1/2)*sqrt(-1)*sqrt(3)*sqrt(Bb^2+4*Q); % Roots of the cubic equation x(1) = BB - b/(3*a); x(2) = -b/(3*a) + zz1; x(3) = -b/(3*a) + zz2; MATLAB Implementa<on The solver can be downloaded at: http://people.bu.edu/andasari/courses/Fall2015/CardanoFormula.m Polynomial Division Divide by . . The Factor Theorem If is a root of the equation is a factor of Example: Factorize equation and use it to solve the cubic Let If Since then then is a factor. Next, we divide by the factor Use factoriza7on or quadra7c formula . Hence From which we get . The Remainder Theorem For quadratic equations, the remainder theorem states If is divided by the remainder will be For cubic equations, the remainder theorem states If is divided by the remainder will be Bairstow’s Method Bairstow’s method is an algorithm used to find the roots of a polynomial of arbitrary degree (usually order 3 and higher). The method divides a polynomial (2.8) by a quadratic function , where r and s are guessed. The division gives us a new polynomial (2.9) and the remainder (2.10) Bairstow’s Method and the remainder are The quotient obtained by the standard polynomial division. The coefficients can be calculated by the following recurrence relationship (2.11a) (2.11b) (2.11c) Bairstow’s Method then the If is an exact factor of is zero and the roots of remainder are the roots of . The Bairstow’s method reduces to determining the value of r and s such that , Because b0 and b1 are functions of hence, r and s, they can be expanded using Taylor series, as: (2.12a) (2.12b) Bairstow’s Method By setting both equations equal to zero (2.13a) (2.13b) To solve the system of equations above, we need partial derivatives of b0 and b1 with respect to r and s. Bairstow showed that these partial derivatives can be obtained by a synthetic division of the b’s in a fashion similar to the Bairstow’s Method way in which the b’s themselves were derived, that is by replacing ai’s with bi’s, and bi’s with ci’s, such that, (2.14a) (2.14b) (2.14c) where Bairstow’s Method Then substituting into equations (2.13a) and (2.13b) gives These equations can be solved for Δr and Δs, which can be used to improved the initial guess of r and s. At each step, an approximate error in r and s estimated as and (2.15) Bairstow’s Method and is a stopping If where criterion, the values of the roots can be determined by (2.16) At this point, there exist three possibilities (1) If the quotient polynomial fn-2 is a third (or higher) order polynomial, the Bairstow’s method can be applied to the quotient to evaluate new values for r and s. The previous values of r and s can serve as the starting guesses. Bairstow’s Method (2) If the quotient polynomial fn-2 is a quadratic function, then use eqn. (2.16) to obtain the remaining two roots of fn(x). (3) If the quotient polynomial fn-2 is a linear function, then the single remaining root is given by (2.17) Newton-‐Raphson Method The Newton-Raphson, or simply Newton’s method is one of the most useful and best known algorithms that relies on the continuity of derivatives of a function. The method is usually used to to find the solution of nonlinear equations f(x) = 0 whose derivatives, f′(x) and f′′(x), are continuous near a root. We can derive the formula for Newton’s method from Taylor series of 1st order: (2.18) Newton-‐Raphson Method Setting the left hand side, f(xi+1) to zero and solving for xi+1, we get (2.19) which is the Newton’s iteration function for finding root of the equation f(x) = 0. Newton-‐Raphson Method Order of a Root Assume that f(x) and its derivatives f′(x), f′′(x), … f(M)(x) are defined and continuous on an interval about x = p. We say that f(x) = 0 has a root of order M at x = p if and only if f(p) = 0, f′(p) = 0, …, (2.20) f(M-1)(p) = 0 and f(M)(p) ≠ 0 Newton-‐Raphson Method For: - root of order M = 1, it is called a simple root - M > 1 it is called a multiple root - M = 2, it is called a double root - etc Newton-‐Raphson Method If p is a root of a function then the function f(x) has a simple root at p = −2 and a double root at p = 1. This can be verified by considering the derivatives and . At the value p = −2, we have: f(−2) = 0 and f′(-2) = 9, so M = 1, hence p = −2 is a simple root. At the value p = 1, we have: f(1) = 0, f′(1) = 0, and f′′(1) = 6, so M = 2 and p = 1 is a double root. MATLAB Implementa<on function x0 = newtonRaphson() x0 = 1.2; iter = 0; while abs(f(x0)) > 1e-4 iter = iter + 1; x1 = x0 - f(x0)/fprime(x0) x0 = x1; end disp(['roots found after ', num2str(iter), ' iterations']); function y = f(x) y = x^3 - 3*x + 2; function y = fprime(x) y = 3*x^2 – 3; MATLAB Implementa<on Using MATLAB’s built-in functions The polynomial is evaluated at >> p = [1 0 -7 -6]; >> polyval(p, [1 2 3]) ans -12 -12 0 MATLAB Implementa<on Using MATLAB’s built-in functions by Evaluate the derivative >> polyder(p) ans 3 0 -7 MATLAB Implementa<on Using MATLAB’s built-in functions To find roots of >> a = [1 -3.5 2.75 2.125 -3.875 1.25]; >> r = roots(a) r = 2.0000 -1.0000 1.0000 + 0.5000i 1.0000 – 0.5000i 0.5000 MATLAB Implementa<on All computations in MATLAB are done in double precision. To switch between different output, use the command “format” (type “help format” for more info). >> format long >> r = roots(a) r = 2.000000000000005 -1.000000000000000 0.999999999999998 + 0.500000000000001i 0.999999999999998 - 0.500000000000001i 0.500000000000000 References • Numerical Methods for Engineers, S.C. Chapra and R.P. Canale. • Numerical Methods Using MATLAB, John H. Mathews and Kur7s D. Fink.