PDA

View Full Version : Imitations of classical Julia set using Newton's method


giann_tee
Jan10-09, 02:41 PM
I have been exploring the world of fractals derived from Newton's method for finding roots (solutions) to equations. The following page contains insights into some mathematics behind Newton's method.

http://www.chiark.greenend.org.uk/~sgtatham/newton/

If you open the page and step into the topic of "imitations" you will see what I mean.

Author mentions that we could try to generate Newton's fractal that looks like good old Julia set J(z^2+c) by solving a differential equation:

z_new = z - f(z)/f'(z) = z^2 + c

(all variables are complex numbers, function is holomorphic). We wonder, for which equation Newton's equation will produce the iteration of z^2+c. Simon Tatham gives the solution to that equation which I don't understand. He treats this like the simplest form of differential equation which can be solved in a single step - integration of left and right side:

df/f = -dz / (z^2-z+c)

Here I am rather puzzled - if I may explain. Simon says that he solved the integral to the right as an integral of a rational function (http://www.answers.com/topic/partial-fractions-in-integration). Somehow he arrives at this equation:

f(z)= (z-a)^(1/(b-a)) * (z-b)^(1/(a-b))

a, b are roots of z^2-z+c=0.

(Please note that derivative of this function f can be simplified further for final calculation in computer using a perfectly well described method in the precious section of Simon's web site. That part is not a problem.)

I used Matlab software to check on this work. Matlab treats the initial differential equation as homogeneous differential equation and gives:

dsolve('z-f/Df=z^2-z+c','z')

ans =

C1*exp(-1/(c-1)^(1/2)*atan((z-1)/(c-1)^(1/2)))

Or, to follow Simon's story and compute integral of -dz/(z^2-z+c)

int(-1/(-z+z^2+c),z)

ans =

-2/(4*c-1)^(1/2)*atan((2*z-1)/(4*c-1)^(1/2))

Therefore I conclude I don't know how to solve it Simon's way and I need you to explain to me!

~~~~~~~~~~~~~~~~

If you're still following the story....

roots of z^2-z+c and some c are:

c=complex(0.2, 0.3)
p=[1 -1 c]
roots(p)

So far, that was the Matlab way.

~~~~~~~~~~~~~~~~

Now if you are really brave and enlightened like me of course, you will type into Matlab some other differential equation to see how it works in general:

dsolve('z-f/Df=z^5-z+c','z')

ans =

C1*exp(Int(-1/(-2*z+z^5+c),z))

which means Matlab left this integral for us to solve...

int(-1/(-2*z+z^5+c),z)

ans =

-sum(1/(-2+5*_R^4)*log(z-_R),_R = RootOf(-2*_Z+_Z^5+c))

which means that the output is now unreadable to me. Even though it seems like an error, "RootOf" is a legal way to mention roots of some polynomial. Mathematica also produces strange output for that integral: try here... http://integrals.wolfram.com/index.jsp

My second question is therefore, why are these programs for mathematics like this? why don't they work well? How do I read output if its good?