Hi,
I'm not sure but maybe :
- writing procedure in Lisp is faster then Maxima
- compiling procodure makes it faster
About optimisation :
http://www.mrob.com/pub/muency/speedimprovements.html
also look at :
http://fisica.fe.up.pt/maxima/dynamicalsystems/index.html
Some images in Maxima :
http://apps.sourceforge.net/mediawiki/maxima/index.php?title=Galleryhttp://commons.wikimedia.org/wiki/File:Mandelbrot_Components.svghttp://commons.wikimedia.org/w/index.php?title=File:ComponentNewton.pnghttp://commons.wikimedia.org/w/index.php?title=File:Jung200.pnghttp://commons.wikimedia.org/w/index.php?title=File:Jung50e.png
Adam
fraktal.republika.pl
Maximilian Kreuter pisze:
> Hi,
>
> Im using Maxima at my school and I like to use it teaching complex
> numbers and chaos theory. Therefore I like to show how to calculate and
> display the Mandelbrot-Set.
>
> I already got it working so far (you can look at it below). The only
> problem i have is that the execution gets very slow (and sometimes takes
> forever), when I choose a lower value for the parameter "resolution"
> (e.g. 0.01 instead of 0.02).
>
> Is there anything I could do to optimize this, or any setting i could
> change to run this faster?
>
> BTW... Im using wxMaxima on Windows.
>
> Any suggestions welcome;)
>
> Cheers
>
> Maxx
>
>
>
>
> mandel(reMin, reMax, imMin, imMax, resolution, iterations):=block(
> [reZ, imZ, absZ, i, pixels, reTemp],
>
> pixels:[[0,0]],
>
> for x:reMin step resolution thru reMax do [
> for y:imMin step resolution thru imMax do [
>
> reZ:0,
> imZ:0,
> absZ:0,
>
> for i:1 step 1 thru iterations while absZ < 4 do [
> reTemp:reZ^2 - imZ^2 + x,
> imZ:2*reZ*imZ + y,
> reZ:reTemp,
> absZ:reZ^2+imZ^2
> ],
>
> if absZ < 4 then pixels:append(pixels,[[x,y]])
>
> ]
> ],
>
> return(pixels)
> )$
>
> plot2d([discrete, mandel(-2,0.5,-1,1, 0.02, 16)],[style, [points,0.2,1,1]]);