循环矩阵傅里叶对角化

All circulant matrices are made diagonal by the Discrete Fourier Transform (DFT), regardless of the generating vector x.
任意循环矩阵可以被傅里叶变换矩阵对角化。

文献中,一般用如下方式表达这一概念:
X = C ( x ) = F ⋅ d i a g ( x ^ ) ⋅ F H X=C(x)=F \cdot diag(\hat{x}) \cdot F^H X=C(x)=Fdiag(x^)FH

其中 X X X是循环矩阵, x ^ \hat{x} x^是原向量 x x x的傅里叶变换, F F F是傅里叶变换矩阵,上标H表示共轭转置: X H = ( X ∗ ) T X^H=(X^{*})^T XH=(X)T
换句话说, X X X相似于对角阵, X X X的特征值是 x ^ \hat x x^的元素。

另一方面,如果一个矩阵能够表示成两个傅里叶矩阵夹一个对角阵的乘积形式,则它是一个循环矩阵。其生成向量是对角元素的傅里叶逆变换:

F ⋅ d i a g ( y ) ⋅ F H = C ( F − 1 ( y ) ) F \cdot diag(y) \cdot F^H = C(\mathcal{F}^{-1}(y)) Fdiag(y)FH=C(F1(y))
这个公式初看疑问很多,以下一一讨论。

X X X是什么?

X X X是由原向量 x x x生成的循环矩阵。以矩阵尺寸 K = 4 K=4 K=4为例。

X = C ( x ) = [ x 1 x 2 x 3 x 4 x 4 x 1 x 2 x 3 x 3 x 4 x 1 x 2 x 2 x 3 x 4 x 1 ] X=C(x)=\begin{bmatrix} x_1 & x_2 & x_3 & x_4 \\ x_4 & x_1 & x_2 & x_3 \\ x_3 & x_4 & x_1 & x_2 \\ x_2 & x_3 & x_4 & x_1 \\ \end{bmatrix} X=C(x)=x1x4x3x2x2x1x4x3x3x2x1x4x4x3x2x1

F F F 是什么?

F F F是离散傅里叶矩阵(DFT matrix),可以用一个复数 ω = e − 2 π i / K \omega = e^{-2\pi i/K} ω=e2πi/K表示,其中 K K K为方阵 F F F的尺寸。以 K = 4 K=4 K=4为例。

F = 1 K [ 1 1 1 1 1 ω ω 2 ω 3 1 ω 2 ω 4 ω 6 1 ω 3 ω 6 ω 9 ] F=\frac{1}{\sqrt{K}} \begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & \omega & \omega^2 & \omega^3 \\ 1 & \omega^2 & \omega ^4 & \omega^6 \\ 1 & \omega^3 & \omega^6 & \omega^9 \end{bmatrix} F=K 111111ωω2ω31ω2ω4ω61ω3ω6ω9

ω \omega ω想象成一个角度为 2 π / K 2\pi/K 2π/K的向量,这个矩阵的每一行是这个向量在不断旋转。从上到下,旋转速度越来越快。

之所以称为DFT matrix,是因为一个信号的DFT变换可以用此矩阵的乘积获得:

x ^ = D F T ( x ) = K ⋅ F ⋅ x \hat{x}=DFT(x)=\sqrt{K}\cdot F \cdot x x^=DFT(x)=K Fx

反傅里叶变换也可以通过类似手段得到:

x = 1 K F − 1 x ^ x=\frac{1}{\sqrt{K}}F^{-1}\hat{x} x=K 1F1x^

傅里叶矩阵有许多性质:

  • 是对称矩阵,观察 ω \omega ω的规律即可知;
  • 满足 F H F = F F H = I F^HF=FF^H=I FHF=FFH=I,也就是说它是个酉矩阵(unitary)。可以通过将 F H F^{H} FH展开成 ω H \omega^{H} ωH验证。

注意: F F F是常数,可以提前计算好,和要处理的 x x x无关。

对角化怎么理解?

把原公式两边乘以逆矩阵:

F − 1 ⋅ X ⋅ ( F H ) − 1 = d i a g ( x ^ ) F^{-1} \cdot X \cdot (F^H)^{-1}=diag(\hat{x}) F1X(FH)1=diag(x^)
利用前述酉矩阵性质:
左 边 = F H X F = d i a g ( x ^ ) 左边=F^{H}XF=diag(\hat{x}) =FHXF=diag(x^)

也就是说,矩阵 X X X通过相似变换 F F F变成对角阵 d i a g ( x ^ ) diag(\hat{x}) diag(x^),即对循环矩阵 X X X进行对角化。
另外, F H X F F^HXF FHXF是矩阵 X X X的2D DFT变换。即傅里叶变换可以把循环矩阵对角化。

怎么证明?

可以用构造特征值和特征向量的方法证明(参看这篇论文1的3.1节),此处简单描述。
考察待证明等式的第k列:
X ⋅ f k = x ^ k ⋅ f k X\cdot f_k=\hat x_k\cdot f_k Xfk=x^kfk

其中 f k f_k fk表示DFT矩阵的第k列, x ^ k \hat x_k x^k表示傅里叶变换的第k个元素。等价于求证: f k f_k fk x ^ k \hat x_k x^k X X X的一对特征向量和特征值。

左边向量的第i个元素为: l e f t i = [ x i , f k ] left_i = \left[ x^i, f_k \right] lefti=[xi,fk] x i x_i xi表示把生成向量 x x x向右移动i位, [ ] [] []表示内积。
内积只和两个向量的相对位移有关,所以可以把 f k f_k fk向左移动i位: l e f t i = [ x , f k − i ] left_i=\left[ x, f_k^{-i}\right] lefti=[x,fki]
DFT矩阵列的移位可以通过数乘 ω \omega ω的幂实现: f k i = f 0 ⋅ ω i k f_k^i=f_0\cdot \omega^{ik} fki=f0ωik

举例: K = 3 K=3 K=3
F = 1 K [ 1 1 1 1 ω ω 2 1 ω 2 ω 4 ] F=\frac{1}{\sqrt{K}} \begin{bmatrix} 1 & 1 & 1\\ 1 & \omega & \omega^2 \\ 1 & \omega^2 & \omega ^4 \end{bmatrix} F=K 11111ωω21ω2ω4

利用 ω N = 1 \omega^N=1 ωN=1.
f 1 ⋅ ω = [ 1 , ω , ω 2 ] ⋅ ω = [ ω , ω 2 , ω 3 ] = [ ω , ω 2 , 1 ] = f 1 − 1 f_1\cdot \omega =[1,\omega,\omega^2]\cdot \omega = [\omega, \omega^2,\omega^3] = [\omega, \omega^2, 1]=f_1^{-1} f1ω=[1,ω,ω2]ω=[ω,ω2,ω3]=[ω,ω2,1]=f11

f 1 ⋅ ω 2 = [ 1 , ω , ω 2 ] ⋅ ω 2 = [ ω 2 , ω 3 , ω 4 ] = [ ω 2 , 1 , ω ] = f 1 − 2 f_1\cdot \omega^2 =[1,\omega,\omega^2]\cdot \omega^2 = [\omega^2, \omega^3,\omega^4] = [\omega^2, 1, \omega]=f_1^{-2} f1ω2=[1,ω,ω2]ω2=[ω2,ω3,ω4]=[ω2,1,ω]=f12

于是有:
l e f t i = [ x , f k ⋅ ω i k ] = [ x , f k ] ⋅ ω i k left_i= \left [x, f_k \cdot \omega^{ik}\right ]=\left [x, f_k\right ] \cdot \omega^{ik} lefti=[x,fkωik]=[x,fk]ωik

右边的$\hat x = F\cdot x , 考 虑 到 ,考虑到 F 的 第 k 行 和 第 k 列 相 同 , 的第k行和第k列相同, kk\hat x_k=[f_k,x] 。 另 外 。另外 f_k 的 第 i 个 元 素 为 的第i个元素为 i\omega^{ik}$:
r i g h t i = x ^ k ⋅ f k i = [ f k ∗ , x ] ⋅ ω k i right_i = \hat x_k\cdot f_{ki}=[f_k^*,x]\cdot \omega^{ki} righti=x^kfki=[fk,x]ωki

对任意k列的第i个元素有: l e f t i = r i g h t i left_i=right_i lefti=righti

更多性质

利用对角化,能推导出循环矩阵的许多性质。

转置

循环矩阵的转置也是一个循环矩阵(可以查看循环矩阵各元素排列证明),其特征值和原特征值共轭。
X T = F ⋅ d i a g ( ( x ^ ) ∗ ) ⋅ F H X^T=F \cdot diag((\hat{x})^*) \cdot F^H XT=Fdiag((x^))FH
可以通过如下方式证明:
X T = ( F H ) T ⋅ d i a g ( x ^ ) F T X^T=(F^H)^T\cdot diag(\hat x) F^T XT=(FH)Tdiag(x^)FT
由于 F F F是对称酉矩阵,且已知 X X X是实矩阵:
X T = F ∗ ⋅ d i a g ( x ^ ) F = ( F ∗ ⋅ d i a g ( x ^ ) F ) ∗ = F ⋅ d i a g ( ( x ^ ) ∗ ) ⋅ F H X^T=F^*\cdot diag(\hat x) F=\left( F^*\cdot diag(\hat x) F\right)^*=F\cdot diag((\hat x)^*) \cdot F^H XT=Fdiag(x^)F=(Fdiag(x^)F)=Fdiag((x^))FH

如果原生成向量 x x x是对称向量(例如[1,2,3,4,3,2]),则其傅里叶变换为实数,则:
X T = C ( F − 1 ( x ^ ) ∗ ) = C ( x ) X^T=C\left( \mathcal F^{-1}(\hat x)^* \right)=C(x) XT=C(F1(x^))=C(x)

卷积

循环矩阵乘向量等价于生成向量的逆序和该向量卷积,可进一步转化为福利也变化相乘。
注意卷积本身即包含逆序操作,另外利用了信号与系统中经典的“时域卷积,频域相乘”。

F ( X y ) = F ( C ( x ) y ) = F ( x ˉ ∗ y ) = F ∗ ( x ) ⊙ F ( y ) \mathcal{F}(Xy) = \mathcal{F}(C(x)y)=\mathcal{F}(\bar x*y)=\mathcal{F}^*(x)\odot \mathcal{F}(y) F(Xy)=F(C(x)y)=F(xˉy)=F(x)F(y)
其中 x ˉ \bar x xˉ表示把 x x x的元素倒序排列。星号表示共轭。

相乘

C , B C,B C,B为循环矩阵,其乘积的特征值等于特征值的乘积:

A B = F ⋅ d i a g ( a ^ ) ⋅ F H ⋅ F ⋅ d i a g ( b ^ ) ⋅ F H AB = F\cdot diag(\hat a) \cdot F^H \cdot F \cdot diag(\hat b) \cdot F^H AB=Fdiag(a^)FHFdiag(b^)FH

= F ⋅ d i a g ( a ^ ) ⋅ d i a g ( b ^ ) ⋅ F H = F ⋅ d i a g ( a ^ ⊙ b ^ ) ⋅ F H = F\cdot diag(\hat a) \cdot diag(\hat b) \cdot F^H=F\cdot diag(\hat a \odot \hat b) \cdot F^H =Fdiag(a^)diag(b^)FH=Fdiag(a^b^)FH

= C ( F − 1 ( a ^ ⊙ b ^ ) ) =C\left( \mathcal F^{-1}(\hat a \odot \hat b)\right) =C(F1(a^b^))
乘积也是循环矩阵,其生成向量是原生成向量对位相乘的傅里叶逆变换。

相加

和的特征值等于特征值的和:
A + B = F ⋅ d i a g ( a ^ ) ⋅ F H + F ⋅ d i a g ( b ^ ) ⋅ F H = F ⋅ d i a g ( a ^ + b ^ ) ⋅ F H A+B = F\cdot diag(\hat a) \cdot F^H + F \cdot diag(\hat b) \cdot F^H=F\cdot diag(\hat a +\hat b) \cdot F^H A+B=Fdiag(a^)FH+Fdiag(b^)FH=Fdiag(a^+b^)FH

= C ( F − 1 ( a ^ + b ^ ) ) = C ( F − 1 ( a ^ ) + F − 1 ( b ^ ) ) = C ( a + b ) =C\left( \mathcal F^{-1} (\hat a +\hat b)\right)=C\left( \mathcal F^{-1} (\hat a )+F^{-1} (\hat b )\right)=C\left( a+b\right) =C(F1(a^+b^))=C(F1(a^)+F1(b^))=C(a+b)
和也是循环矩阵,其生成向量是原生成向量的和。

求逆

循环矩阵的逆,等价于将其特征值求逆。
X − 1 = F ⋅ d i a g ( x ^ ) − 1 F H = C ( F − 1 ( d i a g ( x ^ ) − 1 ) ) X^{-1}=F\cdot diag(\hat{x})^{-1}F^H=C\left( \mathcal F^{-1}(diag(\hat{x})^{-1}) \right) X1=Fdiag(x^)1FH=C(F1(diag(x^)1))
对角阵求逆等价于对角元素求逆。以下证明:
F ⋅ d i a g ( x ^ ) − 1 ⋅ F H ⋅ F ⋅ d i a g ( x ^ ) ⋅ F H F\cdot diag(\hat{x})^{-1}\cdot F^H \cdot F\cdot diag(\hat{x}) \cdot F^H Fdiag(x^)1FHFdiag(x^)FH

= F ⋅ d i a g ( x ^ ) − 1 ⋅ d i a g ( x ^ ) ⋅ F H = F ⋅ F H = I =F\cdot diag(\hat{x})^{-1}\cdot diag(\hat{x}) \cdot F^H=F\cdot F^H=I =Fdiag(x^)1diag(x^)FH=FFH=I

逆也是循环矩阵

有什么用?

该性质可以将循环矩阵的许多运算转换成更简单的运算。例如:

X H X = F ⋅ d i a g ( x ^ ⊙ x ^ ∗ ) ⋅ F H = C ( F − 1 ( x ^ ⊙ x ^ ∗ ) ) X^HX=F \cdot diag(\hat{x} \odot \hat{x}^*)\cdot F^H=C\left( \mathcal F^{-1}(\hat{x} \odot \hat{x}^*) \right) XHX=Fdiag(x^x^)FH=C(F1(x^x^))

原始计算量:两个方阵相乘( O ( K 3 ) O(K^3) O(K3)
转化后的计算量:反向傅里叶( K log ⁡ K K\log K KlogK)+向量点乘( K K K)。

CV的许多算法中,都利用了这些性质提高运算速度,例如2015年TPAMI的这篇高速跟踪KCF方法2

二维情况

以上探讨的都是原始信号为一维的情况。以下证明二维情况下的 F H X F = d i a g ( x ^ ) F^HXF=diag(\hat x) FHXF=diag(x^),推导方法和一维类似。

x x x是二维生成矩阵,尺寸 N × N N\times N N×N
X X X是一个 N 2 × N 2 N^2\times N^2 N2×N2的分块循环矩阵,其uv块记为 x u v x^{uv} xuv,表示 x x x下移u行,右移v列。
F F F N 2 × N 2 N^2\times N^2 N2×N2的二维DFT矩阵,其第uv块记为 f u v = { ω u i + v j } i j f_{uv}=\left\{ \omega^{ui+vj} \right\} _{ij} fuv={ωui+vj}ij

举例:N=3 f 01 = [ 1 ω ω 2 1 ω ω 2 1 ω ω 2 ] , f 11 = [ 1 ω ω 2 ω ω 2 ω 3 ω 2 ω 3 ω 4 ] f_{01}=\begin{bmatrix} 1 & \omega & \omega^2 \\ 1 & \omega & \omega^2 \\ 1 & \omega & \omega^2\end{bmatrix}, f_{11}=\begin{bmatrix} 1 & \omega & \omega^2 \\ \omega & \omega^2 & \omega^3 \\ \omega^2 & \omega^3 & \omega^4\end{bmatrix}\\ f01=111ωωωω2ω2ω2,f11=1ωω2ωω2ω3ω2ω3ω4

需要验证的共有 N × N N\times N N×N个等式,其中第 u v uv uv个为:
[ X , f u v ] = x ^ u v ⋅ f u v [X, f_{uv}]=\hat x_{uv}\cdot f_{uv} [X,fuv]=x^uvfuv
其中 [ X , f u v ] [X, f_{uv}] [X,fuv]表示把 x u v x^{uv} xuv分别和 f u v f_{uv} fuv做点乘,结果矩阵元素求和。
这个等式的第ij元素为:
[ x i j , f u v ] = x ^ u v ⋅ ω u i + v j [x^{ij},f_{uv}]=\hat x_{uv} \cdot \omega^{ui+vj} [xij,fuv]=x^uvωui+vj

再次利用两个性质:1) 点乘只和两个矩阵相对位移有关,2) f u v f_{uv} fuv的位移可以用乘 ω \omega ω幂实现:
l e f t i j = [ x , f u v − i − j ] = [ x , f u v ] ⋅ ω u i + v j = x ^ u v ⋅ ω u i + v j = r i g h t i j left_{ij}=[x,f_{uv}^{-i-j}]=[x,f_{uv}]\cdot \omega^{ui+vj}=\hat x_{uv} \cdot \omega^{ui+vj}=right_{ij} leftij=[x,fuvij]=[x,fuv]ωui+vj=x^uvωui+vj=rightij

代码

以下matlab代码验证上述性质。需要注意的是,matlab中的dftmatx函数给出的结果和本文定义略有不同,需做一简单转换。另外,matlab中的撇号表示共轭转置,transpose为转置函数,conj为共轭函数。

clear;clc;close all;

% 1. diagnolize 
K = 5;      % dimension of problem

x_base = rand(1,K);     % generator vector
X = zeros(K,K);         % circulant matrix
for k=1:K
    X(k,:) = circshift(x_base, [0 k-1]);
end

x_hat = fft(x_base);    % DFT

F = transpose(dftmtx(K))/sqrt(K);       % the " ' " in matlab is transpose + conjugation

X2 = F*diag(x_hat)*F';

display(X);
display(real(X2));

% 2. fast compute correlation
C = X'*X;
C2 = (x_hat.*conj(x_hat))*conj(F)/sqrt(K);

display(C);
display(C2);

  1. Gray, Robert M. Toeplitz and circulant matrices: A review. now publishers inc, 2006. ↩︎

  2. Henriques, João F., et al. “High-speed tracking with kernelized correlation filters.” Pattern Analysis and Machine Intelligence, IEEE Transactions on 37.3 (2015): 583-596. ↩︎

  • 140
    点赞
  • 542
    收藏
    觉得还不错? 一键收藏
  • 54
    评论
假设 $A$ 是一个 $n\times n$ 的任意循环矩阵,即 $A$ 的每一行都是将前一行向右移动一位,使得最后一列元素移动到第一列。例如,一个 $4\times4$ 的循环矩阵可以写成: $$ A=\begin{bmatrix} a_1 & a_2 & a_3 & a_4 \\ a_4 & a_1 & a_2 & a_3 \\ a_3 & a_4 & a_1 & a_2 \\ a_2 & a_3 & a_4 & a_1 \end{bmatrix} $$ 我们可以证明,任意循环矩阵 $A$ 可以被傅里叶变换矩阵角化傅里叶变换矩阵是一个 $n\times n$ 的矩阵,记作 $F_n$,其中第 $i$ 行第 $j$ 列的元素为: $$ F_n(i,j) = \frac{1}{\sqrt{n}}e^{-2\pi i (i-1)(j-1)/n} $$ 现在我们来证明 $A$ 可以被 $F_n$ 对角化。首先,我们可以证明 $F_n$ 有一个很重要的性质:$F_n^*F_n=nI$,即 $F_n$ 的共轭转置和自身的乘积等于 $n$ 倍的单位矩阵。这个性质可以通过计算 $F_n^*F_n$ 得到: $$ \begin{aligned} (F_n^*F_n)_{i,j} &= \sum_{k=1}^n \overline{F_n(k,i)}F_n(k,j) \\ &= \frac{1}{n}\sum_{k=1}^ne^{2\pi i(k-1)(i-j)/n} \\ &= \begin{cases} 1 & i=j \\ 0 & i\neq j \end{cases} \end{aligned} $$ 接下来,我们要证明的是:如果 $A$ 是一个任意循环矩阵,那么就存在一个矩阵 $U$,使得 $U$ 是幺正矩阵(即 $UU^*=U^*U=I$),并且 $U^{-1}AU$ 是对角矩阵。我们可以通过 $F_n$ 来构造这个矩阵 $U$: $$ U = \frac{1}{\sqrt{n}}F_n $$ 首先,我们来证明 $U$ 是幺正矩阵。根据上面的性质,我们有: $$ \begin{aligned} UU^* &= \frac{1}{n}FF^*F_n \\ &= \frac{1}{n}F_n(nI) \\ &= I \end{aligned} $$ 同样地,我们可以证明 $U^*U=I$。因此,$U$ 确实是一个幺正矩阵。 接下来,我们来计算 $U^{-1}AU$。首先,我们有: $$ \begin{aligned} U^{-1} &= \frac{1}{\sqrt{n}}F_n^{-1} \\ &= \frac{1}{\sqrt{n}}F_n^* \end{aligned} $$ 因为 $A$ 是任意循环矩阵,所以可以将其写成一个矩阵 $B$ 的循环移位形式。例如,对于上面的 $4\times4$ 的循环矩阵 $A$,我们可以将其写成: $$ A = \begin{bmatrix} a_1 & a_2 & a_3 & a_4 \\ a_4 & a_1 & a_2 & a_3 \\ a_3 & a_4 & a_1 & a_2 \\ a_2 & a_3 & a_4 & a_1 \end{bmatrix} = \begin{bmatrix} a_1 & a_2 & a_3 & a_4 \\ a_1 & a_2 & a_3 & a_4 \\ a_1 & a_2 & a_3 & a_4 \\ a_1 & a_2 & a_3 & a_4 \end{bmatrix} + \begin{bmatrix} 0 & 0 & 0 & 0 \\ a_4-a_1 & 0 & 0 & 0 \\ 0 & a_4-a_1 & 0 & 0 \\ 0 & 0 & a_4-a_1 & 0 \end{bmatrix} $$ 其中,第一个矩阵是 $B$,第二个矩阵是 $A-B$。注意到 $B$ 是一个常规矩阵,而 $A-B$ 的每一行都是将前一行向右移动一位。因此,我们可以将 $A-B$ 写成 $C$ 的循环移位形式,其中 $C$ 是一个 $n\times n$ 的矩阵,其第一行为 $a_4-a_1, 0, \cdots, 0$,其余行为 $0$。因此,我们有: $$ C = \begin{bmatrix} a_4-a_1 & 0 & \cdots & 0 \\ 0 & a_4-a_1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & a_4-a_1 \end{bmatrix} $$ 于是,我们可以将 $A$ 写成 $B+C$ 的形式。接下来,我们来计算 $U^{-1}AU$: $$ \begin{aligned} U^{-1}AU &= \frac{1}{\sqrt{n}}F_n^*(B+C)F_n \\ &= \frac{1}{n}\sum_{i,j,k} \overline{F_n^*(i,k)}(B+C)_{k,j}F_n(j,i) \\ &= \frac{1}{n}\sum_{i,j,k} \overline{F_n(j,i)}(B+C)_{k,j}F_n(k,i) \end{aligned} $$ 注意到 $B$ 是一个常规矩阵,因此 $BF_n=F_nB$。同时,$C$ 是一个循环矩阵,因此 $CF_n=F_nC$。因此,我们有: $$ \begin{aligned} U^{-1}AU &= \frac{1}{n}\sum_{i,j,k} \overline{F_n(j,i)}BF_n(k,i) + \frac{1}{n}\sum_{i,j,k} \overline{F_n(j,i)}CF_n(k,i) \\ &= B + \frac{1}{n}\sum_{i,j,k} \overline{F_n(j,i)}CF_n(k,i) \end{aligned} $$ 因为 $C$ 是对角矩阵,所以 $CF_n$ 的每一列都是将前一列向右移动一位,使得最后一列元素移动到第一列。因此,$CF_n$ 可以写成: $$ CF_n = \begin{bmatrix} c_1 & c_n & \cdots & c_2 \\ c_2 & c_1 & \cdots & c_3 \\ \vdots & \vdots & \ddots & \vdots \\ c_n & c_{n-1} & \cdots & c_1 \end{bmatrix} $$ 其中 $c_i$ 表示 $C$ 的第 $i$ 个对角元素。因此,我们有: $$ \begin{aligned} \frac{1}{n}\sum_{i,j,k} \overline{F_n(j,i)}CF_n(k,i) &= \frac{1}{n}\sum_{i,j,k} \overline{F_n(j,i)}c_kF_n(k,i) \\ &= \begin{bmatrix} \frac{1}{n}\sum_{k=1}^n c_k & 0 & \cdots & 0 \\ 0 & \frac{1}{n}\sum_{k=1}^n c_ke^{2\pi i(j-1)(k-1)/n} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \frac{1}{n}\sum_{k=1}^n c_ke^{2\pi i(j-1)(k-1)/n} \end{bmatrix} \end{aligned} $$ 因此,我们有: $$ U^{-1}AU = B + \begin{bmatrix} \frac{1}{n}\sum_{k=1}^n c_k & 0 & \cdots & 0 \\ 0 & \frac{1}{n}\sum_{k=1}^n c_ke^{2\pi i(j-1)(k-1)/n} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \frac{1}{n}\sum_{k=1}^n c_ke^{2\pi i(j-1)(k-1)/n} \end{bmatrix} $$ 因此,$U^{-1}AU$ 是一个对角矩阵。因此,我们证明了任意循环矩阵可以被傅里叶变换矩阵角化

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 54
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值