Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
import time #timing
import numpy as np #arrays
import numba as nb #speed
x_dim = 1000
y_dim = 1000
x_min = -1.8
x_max = 1.8
y_min = -1.8j
y_max = 1.8j
z = np.zeros((y_dim,x_dim),dtype='complex128')
for l in range(y_dim):
z[l] = np.linspace(x_min,x_max,x_dim) -np.linspace(y_min,y_max,y_dim)[l]
def julia_numpy(c,z):
it = 0
max_iter = 100
while(it < max_iter):
z[np.absolute(z) < 10] = z[np.absolute(z) < 10]**2 + c #the logic in [] replaces our if statement. This line
it += 1 #updates the whole matrix at once, no need for loops!
return z
start = time.perf_counter()
julia_numpy(-.4+.6j,z) #arbitrary choice of c
end = time.perf_counter()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.