让A
是一个带有循环块的块循环矩阵(即BCCB 矩阵):
A = [1 2 3 4
2 1 4 3
3 4 1 2
4 3 2 1]
那是:
A = [C1 C2
C2 C1]
其中每个块 ( C1
, C2
) 是一个循环矩阵。我读过(见这里)BCCB 可以通过遵循以下等式进行对角化:其中是 2-D 离散傅里叶变换矩阵,是 的共轭,并且是对角矩阵,其条目是 的特征值。A =F*·D·F
F
F*
F
D
A
在 MATLAB 中,我使用以下代码:
(conj(dftmtx(4))/16*(fft2(A))*dftmtx(4))
但结果是:
[1 4 3 2
2 3 4 1
3 2 1 4
4 1 2 3]
这里的第二列和第四列A
是交换的。错误在哪里?