gpt4 book ai didi

julia - 使用 julia 计算特征向量时失去对称性

转载 作者:行者123 更新时间:2023-12-04 16:45:57 25 4
gpt4 key购买 nike

有人能指出为什么 Julia 在对某些类型的矩阵进行对角化时会失去对称性吗? (在下面我将忽略归一化常量。)我一直在尝试解决以下 Floquet 矩阵:

U[i,i] = exp(-i^2im/N),

N矩阵和其他分量的维数为零。显然,这是哈密顿量的“时间演化”
H = p^2/2.

H在奇偶校验下是对称的,所以 U在网站基础 Us = Udft'U*Udft ( Udft 是离散傅立叶矩阵 s.t. Udft[m,mp] = sqrt(N)^-1 exp(i*j*1im/N) 见下文),也就是说,可以检查
Jp*Us - Us*Jp = 0,

在哪里
Jp[i,j] = \delta_{i,N-j+1}

是空间求逆矩阵。然而,本征态不满足奇偶性。如 vsUs 的本征态, 然后
Jp*vs = \pm vs,

对于 julia 给出的数值结果,这不会发生。这有点奇怪,因为对于低维,比如 N=11没有问题,但如果我去,说 N=1001然后麻烦开始出现。 (在某些情况下,我希望 N 是奇数。原因是我有粒子被约束在酉圆上移动,并且我希望这些位置围绕零角对称。)为了对角化,我使用 Julia 1.2.0
 LinearAlgebra.eigen(Us).

附录:
感谢 SGJ 指出 DFT 中的明显错误。构造矩阵我做
M = div(N,2)
m = 1
for ii in -M:M
mp = 1
for jj in -M:M
U[m,mp] = exp(2.0im*pi*ii*jj/Nsites) #
mp += 1
end
m += 1
end

以便正负频率进入 DFT 并从 -N/2 中选择在动量零附近对称至 N/2其中使用整数除法。

最佳答案

首先,舍入误差通常会轻微破坏对称性,因此与镜像对称性的微小差异(相对误差 norm(Jp*vs - ±vs)/norm(vs) < 1e-12)不应成为问题。

其次,p^2算子的能量特征值是双重退化的(左右波具有相同的能量),并且退化状态的奇偶性不是由对称性保证的。退化偶数和奇数本征函数(= 驻波)的任何线性组合也是本征函数,因此您可以创建非对称本征函数(例如,左向波而不是驻波)。当你有一个退化时,正确的说法是你可以选择一个本征函数基,它也是一个奇偶本征函数。然而, Julia 的 eigen操作(标准 LAPACK 算法)基本上为退化的特征空间选择一个“随机”基,所以它不一定是你想要的。

第三,您似乎没有正确使用离散傅立叶变换 (DFT)。您实际上是在使用 DFT 在平面波(动量空间)基础上表达二阶导数运算符 (p^2),但是您发布的答案忘记了混叠——您确实需要同时拥有 正负频率展示。也就是说,一半项的频率应该与i-1成正比。 (由于 Julia 的基于 1 的索引),另一半与 N+1-i 成正比.这在许多来源中有详细解释,例如these notes .

关于julia - 使用 julia 计算特征向量时失去对称性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60064307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com