相关随机矩阵特征值椭圆分布绘图实验问题求助
椭圆律随机矩阵实验问题求助
我正在研究圆律的广义版本——椭圆律问题。该定律指出:对于N×N随机矩阵M,其元素$A_{ij}$服从高斯分布$N(0,1)$,且$A_{ij}$与$A_{ji}$存在相关性$c$,经归一化$M_{ij}=A_{ij}/\sqrt{N}$后,其复特征值应均匀分布在实轴长为$1+c$、虚轴长为$1-c$的椭圆内。
我使用Python对500×500矩阵进行实验,但实轴始终大于$1+c$(当相关性$c=0.5$时,理论实轴应为1.5、虚轴为0.5,实际存在明显不收敛情况,见附图)。以下是我构建相关矩阵并计算特征值的代码,恳请帮忙排查问题:
import numpy as np def create_corr_matrix(n, corr, zeta): A = np.random.normal(0, 1, (n, n)) np.fill_diagonal(A, 1) # 将对角线元素设为1 print(A) for i in range(n): for j in range(n): if np.abs(A[i][j]) < zeta: if corr=='p': A[i][j] = A[j][i] elif corr=='n': A[i][j] = -A[j][i] else: A[i][j] = A[j][i] return A # 需提前定义参数n、corr、zeta,示例:n=500, corr='p', zeta=1.0 A = create_corr_matrix(n, corr, zeta) C = A / np.sqrt(n)
内容的提问来源于stack exchange,提问作者Uran Kopf
相关产品推荐
相关产品推荐

