我写了一个简单的脚本来生成高度的随机多项式并找到它们的根。有关随机多项式的更多讨论,请参见此处。
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, '.')
对于 (这里N=150) 的较小值,我们确实得到了一个用零填充的单位圆盘的图片:

对于较大的值,N会出现错误消息。我确信 NumPy 可以计算比这更大的矩阵的特征值。正确的?
LinAlgError: Eigenvalues did not converge

