When using larger octaves and lacunarity (e.g. 2 & 3 respectively) the following error occurs in perlin2d `ValueError: operands could not be broadcast together with shapes (1024,1024,2) (1023,1023,2)` At the line `n00 = np.sum(np.dstack((grid[:,:,0] , grid[:,:,1] )) * g00, 2)` I believe this is because the delta tuple doesnt consider what happens when there's a remainder from shape/resolution