I wrote a simple script to generate random polynoimals $\displaystyle f(z)= \sum_{k=0}^N a_k \frac{z^k}{\sqrt{k!}} $ of high degree and find their roots. For more discussion on random polyomials see here.
N = 500
a = np.random.normal(0,1,N)
n = np.arange(N-1)+1
n = np.insert(n,0,1)
n = np.sqrt(n)
n = np.cumproduct(n)
z = np.roots(a/n[::-1])/np.sqrt(N)
plt.xlim([-1,1])
plt.ylim([-1,1])
plt.plot(z.real, z.imag, '.')
For smaller values of (here N=150
) we do get a the picture of the unit disk filled with zeros:
For larger value of N
there is an error message. I am sure NumPy can compute eigenvalues of larger matrices than this. Right?
LinAlgError: Eigenvalues did not converge