# CM30073 Advanced Algorithms and Complexity

Mandelbrot’s set and Newton’s method
Issued 5 May 2012 1. We identify the ﬁeld C of complex numbers with the real plane R2 , i.e., the complex √ number z = x + −1y ∈ C is identiﬁed with the point (x, y) ∈ R2 . Choose a point c ∈ C, and consider a sequence of complex numbers: c, c2 + c, (c2 + c)2 + c, . . . .
1 In other words, introduce the function Pc (z) := z 2 + c such that Pc (0) := Pc (0) = c. Then 2 2 n Pc (0) := Pc (Pc (0)) = c + c, . . . , Pc (0) := Pc (Pc (· · · Pc (0)) · · ·) is the same sequence.

Deﬁnition. The Mandelbrot’s set M in C (equivalently, in R2 ) is the complement in C (in R) of the set
n M′ := {c ∈ C| |Pc (0)| → ∞ as n → ∞}.

Here, for a complex number z = x +

−1y ∈ C, the absolute value |z| is

√ x2 + y 2 .

n One can show that |Pc (0)| → ∞ as n → ∞ if and only if there is positive integer n0 number n0 such that |Pc | > 2. Using this fact, it is easy to construct a real numbers machine that halts exactly on the elements of M′ . On the other hand, there is no such machine for the Mandelbrot’s set M itself, i.e., M is undecidable. This can be proved by showing that M is not a ﬁnite union of semi-algebraic sets.

The deﬁnition of M suggests the following method for its visualizing. Fix a large enough positive integer number N and a plot area in R. Initially, all points in the area are black. For each point c in the area the algorithm computes the sequence 2 zn+1 = zn + c up to n = N , starting with z0 = 0. If |zn | exceeds 2 for some n ≤ N the algorithm colours the point c white and passes to a new point c, otherwise keeps c black and passes to a new point c. The white points are deﬁnitely not in M. A black point is either in M or is in M′ but the number of steps N was too small to verify it. 2. Recall the Newton’s method for solving approximately algebraic equations f (z) = 0 where f (z) := a0 z n + a1 z n−1 + · · · + an−1 z + an . The aim is, for a given “accuracy” ϵ > 0, to ﬁnd a real number x such that |f (x)| < ϵ. The method uses the formula Nf (z) := z − 1 f (z) , f ′ (z)

where f ′ (z) is the derivative of the function f (z). Pick an initial approximation x0 to the solution and construct the sequence: x0 , x1 := Nf (x0 ), x2 := Nf (x1 ), . . . , checking the inequality |f (xi )| < ϵ for each xi . The algorithm terminates if and when for the ﬁrst time this inequality is satisﬁed, and then the approximate solution xi is outputted. There is a simple real numbers machine that realizes the Newton’s method. The problem, however, is how to choose the initial approximation x0 so that the method “converges” to the solution, i.e., in the sequence x0 , x1 , . . . there appears a point xi with |f (xi )| < ϵ. The following is an example of a wrong choice of x0 . Example. Let f (z) = z 3 − 2z + 2. Then f ′ (z) = 3z 2 − 2, and Nf (z) = z − z 3 − 2z + 2 . 3z 2 − 2

But, obviously, Nf (0) = 1 and Nf (1) = 0, hence neither 0 nor 1 are suitable initial approximations if ϵ < 1. A natural question (a computational problem) arises, to decide for a given number x0 ∈ R whether or not it is an initial approximation leading to a converging sequence x0 , x1 , . . . It turns out that this problem is undecidable on real numbers machines, because the subset of “bad” initial points in the interval [0, 1] for the polynomial f (z) = z 3 − 2z + 2, in the above example, is exactly the Cantor’s “middle third” set.

2

Sign up to vote on this title