我在julia建立POE合奏时遇到麻烦。我下面这个纸和部分这个其他的纸。
在茱莉亚,我计算:
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处的峰外,我获得了平坦的分布。代码有问题吗?
该代码实际上是正确的,只是您输入了错误的字段
特征值结果对于unit矩阵(复杂项)为true;根据Edelman and Rao论文4.6节的代码,如果您将第一行替换为
X = randn(dim, dim) + im*randn(dim, dim)
您得到想要的结果。
正交矩阵(实际项)的行为略有不同(请参见本文第3节中的备注1 ):
dims
为奇数时,一个特征值将为+1或-1(每个概率为1/2),所有其他特征值将作为共轭对出现。dims
为偶数时,+ 1和-1均为特征值为1/2的特征值,否则不存在真实的特征值。(顺便感谢链接:我不了解Stewart的论文)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句