Download x - bu people

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Compressed sensing wikipedia , lookup

Linear least squares (mathematics) wikipedia , lookup

System of linear equations wikipedia , lookup

Lagrange multiplier wikipedia , lookup

Polynomial ring wikipedia , lookup

Polynomial 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

Quartic function wikipedia , lookup

Root-finding algorithm wikipedia , lookup

Transcript
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.