Implementation of the Mandelbrot set for the Numerical Scientific Computing Course (Computer Engineering 8th semester, AAU)
- Compare the different algorithm approaches:
main.py
- Mandelbrot Interactive Navigator
mandelbrot_navigator.py
- Mandelbrot Zoom Animation
Zoom Animation/mandelbrot_animation.py
- Mandelbrot Iteration Animation
Iterations Animation/mandelbrot_iteration_animation.py
High resoultion render of the mandelbrot set HighResolutionRender/ImageRender.py
- Size: (1e4, 1e4)
- Iterations: 100
Generated sequence of zoom into fractal mandelbrot_animation.py
Generated sequence of zoom into fractal mandelbrot_iteration_animation.py
Navigation through the Mandelbrot Set by using keyboard controls mandelbrot_navigator.py
Approach | Computation Time (s) |
---|---|
mandelbrot_naive.py |
393.58 |
mandelbrot_vectorized.py |
160.92 |
mandelbrot_numba.py |
115.25 |
mandelbrot_multicore.py |
37.89 |
mandelbrot_dask.py |
25.07 |
mandelbrot_opencl.py * |
1.07 |
*Limited to float64 precision
Complex64 | Complex128 | |
---|---|---|
np.float16 | 155.10s | 193.18s |
np.float32 | 157.76s | 199.54s |
np.float64 | 199.08s | 223.37s |
Parameters
- Size: 10.000x10.000
- Iterations: 100
Specs
- Intel® Core™ i5-11300H-processor @ 3.10GHz
- 16 GB DDR4 Ram @ 3200MHz
Install the necessary packages by running the command within the root project directory:
pip install -r requirements.txt
- Lukas Bisgaard Kristensen