Fractals/Mathematics/Newton method
applications of Newton's method in case of complex quadratic polynomials
recurrence relations
Define the iterated function
by:

Pick arbitrary names for the iterated function and derivatives:

These derivatives can be computed by recurrence relations.
Initial conditions:

Recurrence steps:

derivation of recurrence relations
Derivation of
:

Derivation of
:

Derivation of
:

Derivation of
:

Derivation of
:

Derivation of
:

Derivation of
:

Derivation of
:

Derivation of
:

Derivation of
:

center
A center
of period
satisfies
. Applying Newton's method in one variable:

or equivalently:

boundary
The boundary of the component with center
of period
can be parameterized by internal angles.
The boundary point
at angle
(measured in turns) satisfies system of 2 equations :

Defining a function of two complex variables:

and applying Newton's method in two variables:

where

This can be expressed using the recurrence relations as:

where
are evaluated at
.
Example
"The process is for numerically finding one boundary point on one component at a time - you can't solve for the whole boundary of all the components at once. So pick and fix one particular nucleus n and one particular internal angle t " (Claude Heiland-Allen [3])
Lets try find point of boundary ( bond point )

of hyperbolic component of Mandelbrot set for :
- period p=3
- angle t=0
- center ( nucleus ) c = n = -0.12256116687665+0.74486176661974i
There is only one such point.
Initial estimates (first guess) will be center ( nucleus )
of this components. This center ( complex number) will be saved in a vector of complex numbers containing two copies of that nucleus:

The boundary point at angle
(measured in turns) satisfies system of 2 equations :

so :

Then function g

Jacobian matrix
is


where denominator d is :

Then find better aproximation of point c=b using iteration :

using
as an starting point :





Maxima CAS code
In Maxima CAS one can use Newton method for solving systems of multiple nonlinear functions. It is implemented in mnewton function. See directory :
/Maxima..../share/contrib/mnewton.mac
which uses linsolve_by_lu defined in :
/share/linearalgebra/lu.lisp
size
Newton's method (providing the initial estimate is sufficiently good and the function is well-behaved) provides successively more accurate approximations. How to tell when the approximation is good enough? One way might be to compare the center with points on its boundary, and continue to increase precision until this distance is accurate to enough bits.
Algorithm:
- given a center location estimate
accurate to
bits of precision - compute a boundary location estimate
accurate to the same precision, using center
as starting value - compute
to find an estimate of the size of the component
- if it isn't zero, and if it is accurate enough (to a few 10s of bits, perhaps) then finish
- otherwise increase precision, refine center estimate to new precision, try again from the top
Measuring effective accuracy of the distance between two very close points might be done by comparing floating point exponents with floating point mantissa precision.
accurate to
bits of precision
accurate to the same precision, using center
to find an estimate of the size of the component