[Schade, kein Bild]

The mandelbrot set. I think I do not need to explain the definition of the mandelbrot set in detail, since it is such a well-known set.
The mandelbrot set is a part of the complex plane C. Let fc be the complex function z -

How to compute an image of the mandelbrot set. The usual method is this: You divide a piece of the complex plane, e.g. [-2.5, 1.5]x[-1.5, 1.5]i, into as many pieces as the resolution of your monitor allows, e.g. 640x480. Next, you have to decide for each point/pixel c=cr+ci wether it is a member of M or not. That means, you have to decide wether or not lim abs(fcn(o) > infinity. You chose an outer limit R, e.g. R=1000 (R should be at least greater than 2), and a maximal number of iterations N, e.g. N=10,000. Then you compute wether or not abs(fcN(0))

The Ljapunov Exponent. Some iterations fn of real functions f are stable for some values x, that means, a slightly different starting value x+e leads only to a slightly different value fn(x+e)=fn(x)+d with d small. And other iterations for other values of x may be unstable, that means, a slightly different starting value x+e leads to a completly different fn(x+e)=fn(x)+d with d large. One function f may be stable for one x and unstable for another. The ljapunov Exponent is an attempt to give this property a measure. Let f' denote the first derivation of f. If abs(f'(x))<1, then for small e, abs(f(x+e)-f(x)) is smaller than e, for abs(f'(x))>1, it is greater, dor abs(f'(x))=1 it stays the same, and for abs(f'(x))=0, the difference tends to vanish in one step - this behaviour is called super-stable. Of course, to judge the behaviour of x, you need not only to now f'(x), but also approximatly f'(fn(x)) for all n. Is abs(f'(fn(x)) greater or lesser than 1 for most n? That is, is the infinite product Prod[abs(f'(fn(x)))] greater (which means unstable) or lesser (which means stable) than one, or even zero (which means super-stable)? Since an infinite product is not as easy to estimate as an infinite sum, the Ljapunov-Exponent is defined, for that technical reason, as the logarithm of this product, thus transforming the product into a sum:
L(x) = log Prod[abs(f'(fn(x)))] = Sum[log abs(f'(fn(x)))]
L(x)0 stable, and L(x)= -infinity means super-stable.
For many functions, the derivation is easy to compute, and so are the absolute value and the logarithm. To estimate the Ljapunov-Exponent, or, what is generally more important, its sign, it is in most cases sufficient to compute the first thousand or ten thousend values of fn(x) and to compute Sum 1-1000 [log abs(f'(fn(x)))].

Ljapunov Exponent and mandelbrot set. Since the Ljapunov Exponent was developed to study the behaviour of reel functions, it is not clear how to adopt this method for complex functions. The derivation of a two-valued function is usually a 2x2-matrix. If we interpret f(z)=z^2+c as f(x,y)=(x^2-y^2+cx, 2xy+cy), then the matrix of the derivation contains the values 2x, 2y, -2y, 2x. There are many different norms for matrices, and it is not clear which of this norms describes best the behaviour stable or unstable - f could be very stable in regard of x and very unstable in regard of y, and how shall we judge (x,y) in this case? Possible notations could be max[abs(2x), abs(2y)] or abs(2x)+abs(2y) or 2sqr(x^2+y^2). May N be a function R^4-
Let M' be {c e C with L(0,0)=0 for fc with fc(z)=z^2+c}. For sensible N, this set M' is identical with M. A "sensible" N is, for example, N(f'(x,y))=0.5*sqr(x^2+y^2). Why is this a sensible choice? Well, remember, every c not in M is attracted by infinity, that means, abs(fcn(0)) is very large, and so is the N of the first derivation, what means that L(0) is surely positive. On the other side, for every c inside M, abs(fcn(0)) never becomes greater than 2, which means that the N of the first derivation, devined this way, will always be smaller or equal 1, and therefor L(0) smaller than zero.
In a similar manner you can define a Jc' as {z e C with L(z)=0} for fc(z)=z^2+c and suitable N.

New method to compute an image of the mandelbrot set. For each point/pixel c, we compute an approximation of L(0) for fc. If the result is negative, the point belongs to M, if it is positive, it doesn't belong to M. Also, we can stop the computation of Sum[log N(f'(fcn(0,0)))], if it becomes smaller than -R or greater than R. The fewer steps it takes until the sum becomes smaller than -R, the more stable the point is, and also, the fewer steps it takes until the sum becomes greater than R, the more unstable the point is.
In the conventionall method of computation discussed above, points near the border of M and points inside M all consume the maximal number of iterations, only points outside M far away from the border require fewer steps. The advantage of this new method is that every point far away of the border, wether it is inside or outside M, requires only few steps to decide.


for cx=LeftBorder to RighntBorder
    for cy=LowerBorder to UpperBorder
        L=0.0
        x=0.0
        y=0.0
        info=0.0
        for n=0 to N
            temp=x*x - y*y + cx
            y=2.0*x*y + cy
            x=temp
            N=log(sqr(0.5*(x*x+y*y)))
            L=L+N
            if L greater than R, then paint cx,cy depending on n; info=1; n=N
            if L lesser than -R, then paint cx,cy depending on n; info=1; n=N
        next n
        if info=0, then paint cx,cy depending on L
    next cy
next cx
end

L < -R    n small       color white
L < -R    n great       color yellow
info=0    L < 0         color black
info=0    L > 0         color white
L > R     n great       color blue
L > R     n small       color deep blue

The result is the image that you can see on this page.

More jan


Jan Thor
www.janthor.com
jan@janthor.de