Toeplitz 矩陣對角化

Toeplitz 矩陣是一種比較特殊的矩陣:其中任何一條對角線的元素取相同的值,即

An=a0a1a2ana1a0a1an1a2a1a0a1anan+1a1a0

這裏不再展開證明。
Toeplitz 矩陣可以被Fourier矩陣對角化,即有
An=FHnΛFn

F 的元素爲
[Fn]ij=1nej2πik/n,0<=i,j<=n1

Λ 是n階對角矩陣。

生成一個循環矩陣

 T = toeplitz([2 1 0 0 1]);

An=2100112100012100012110012

生成Fourier矩陣

F = dftmtx(5)

F=1.00001.00001.00001.00001.00001.00000.30900.9511i0.80900.5878i0.8090+0.5878i0.3090+0.9511i1.00000.80900.5878i0.3090+0.9511i0.30900.9511i0.8090+0.5878i1.00000.8090+0.5878i0.30900.9511i0.3090+0.9511i0.80900.5878i1.00000.3090+0.9511i0.8090+0.5878i0.80900.5878i0.30900.9511i

對角化

Λ=FTconj(F)/5;

Λ=4.0000000000.0000i2.6180+0.0000i0.0000+0.0000i0.00000.0000i0.00000.0000i00.00000.38200.00000.000000.00000.00000.38200.00000+0.0000i0.0000+0.0000i0.0000+0.0000i0.00000.0000i2.61800.0000i

對角線上的元素便是Toeplitz 矩陣的特徵值。
其實也可以用矩陣An 的第一列變換得到
fft([2 1 0 0 1])

ans=[4.00002.61800.38200.38202.6180]

又或者這樣得到
F*[2 1 0 0 1]'

ans=4.00002.61800.38200.38202.6180

另一個角度去理解頻率域

空間域,兩個序列的x,y 卷積,等於其中一個序列排成的Toeplitz 矩陣乘以另一個序列,即Toep(x)y
空間域卷積的結果,等於兩個序列各自的傅里葉變換XY 之積,即

Toep(x)y=F1Diag(Fx)Fy

Toep(x)=F1Diag(X)F

FToep(x)F1=Diag(X)

這裏用Diag(X) 表示以向量X 的元素爲對角元的對角矩陣,Toep(x) 表示用向量x的元素排成的Toeplitz矩陣。即Fourier矩陣將Toeplitz矩陣對角化了。

參考

知乎,圖像處理中,空間域的卷積相當於頻率域的乘積,從矩陣分析角度如何理解?

發佈了50 篇原創文章 · 獲贊 76 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章