Uses nesting requires
multiplications and
additions to
evaluate any
degree polynomial
Theorem Horner's : Let
and
. Set
for
, then
. Moreover, if
Example
at
here
Remember
Using this formula we can calculate the coefficients
by induction.
This gives us the following polynomial:
Algorithm: Think of ``Synthetic Division'' table:
| Coeff of | Coeff | Coeff | Coeff | Coeff | |
An additional advantage of Horner's:
Algorithm:
To find
and
:
Example Find an approximation to one of the zeros of
Note that
depends on approximation and changes from iterate to iterate
If the
-iterate
, in the Newton-Raphson procedure is the
approximation of
for
then
THIS IS CALLED DEFLATION!
Also we could exploit the sign of
in a neighborhood of
's to define the
.
What can you do if roots are complex? The algorithm still makes
sense with complex values, however, if you consider what the
operations in the algorithm are, you will see that real initial
guesses, with polynomials with real coefficients will never yield
complex roots from Newton-Raphson. Also, there is the problem of
manipulating complex floating point numbers on the computer. In
MATLAB this is not a problem since it takes care of complex vs.
real automatically. In Fortran or C
there is support for
complex arithmetic. In C, you need to explicitly code up the
complex arithmetic. In any case, you can express
and roots
and solve
this problem as a vector equation with 2 components. We'll address
the problem of systems of nonlinear equations later. We will see
below, that Muller's method will naturally lead to complex roots
even starting from real initial data.