我在为朱莉娅建造POE乐团时遇到了麻烦。我正在关注this论文和其他paper的一部分。
在朱利亚,我计算:
X = randn(dim, dim)
Q, R = qr(X)
Q = Q*diagm(sign(diag(R)))
ij = (irealiz-1)*dim
phases_ens[1+ij:ij+dim] = angle(eigvals(Q))
其中dim
是矩阵维度,而irealiz
只是实现总数的索引。
我对Q的阶段感兴趣,因为我希望Q是具有适当Haar测量的正交矩阵。如果dim=50
和实现总数为100000
,并且由于我正在更正Q,我应该期望平均phases_ens
分布。然而,除了零和pi处的峰值之外,我获得了平坦的分布。代码有问题吗?
答案 0 :(得分:4)
代码实际上是正确的,你只有错误的字段
对于酉矩阵(复数条目),特征值结果为真;根据Edelman和Rao论文第4.6节中的代码,如果用
替换第一行X = randn(dim, dim) + im*randn(dim, dim)
你得到你想要的结果。
正交矩阵(实际条目)的行为略有不同(参见this paper第3节中的注释1):
dims
为奇数时,一个特征值为+1或-1(每个特征值为1/2),所有其他特征值将作为共轭对出现。dims
为偶数时,+1和-1都是特征值,概率为1/2,否则没有真正的特征值。(顺便感谢链接:我不知道斯图尔特的论文)