在線性代數中,循環矩陣是一種特殊形式的 Toeplitz矩陣,它的列向量的每個元素都是前一個列向量各元素依次右移一個位置得到的結果。由於可以用離散傅立葉轉換快速解循環矩陣,所以在數值分析中有重要的應用。
形式為
![{\displaystyle C={\begin{bmatrix}c_{0}&c_{n-1}&\cdots &c_{2}&c_{1}\\c_{1}&c_{0}&c_{n-1}&&c_{2}\\\vdots &c_{1}&c_{0}&\ddots &\vdots \\c_{n-2}&&\ddots &\ddots &c_{n-1}\\c_{n-1}&c_{n-2}&\cdots &c_{1}&c_{0}\\\end{bmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/99ec672293144c58bdec7ee70600ba76f0d4a36d)
的
矩陣 C 就是循環矩陣。
循環矩陣遵循代數運算法則。對於兩個循環矩陣 A 與 B 來說,A + B 也是循環矩陣。AB 也是循環矩陣,並且
。
循環矩陣的特徵向量矩陣是同樣維數的離散傅立葉轉換矩陣,因此循環矩陣的特徵值可以很容易地通過快速傅立葉轉換計算出來。
具體對應關係為
![{\displaystyle \lambda _{j}=c_{0}+c_{n-1}\omega _{j}+c_{n-2}\omega _{j}^{2}+\ldots +c_{1}\omega _{j}^{n-1},\qquad j=0,1,\ldots ,n-1.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/04fee4c9e4439d0141e12c229e4a27f6353b47b9)
其中
。
對稱矩陣
附加一個條件
。
因此可由
個元素定義。
![{\displaystyle C={\begin{bmatrix}c_{0}&c_{1}&\dots &c_{2}&c_{1}\\c_{1}&c_{0}&c_{1}&&c_{2}\\\vdots &c_{1}&c_{0}&\ddots &\vdots \\c_{2}&&\ddots &\ddots &c_{1}\\c_{1}&c_{2}&\dots &c_{1}&c_{0}\\\end{bmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b0da515319af60e28a48d91edb04c21ff3a02169)
實對稱矩陣的所有特徵值都是實數,對於上述定義的實對稱循環矩陣,這些特徵值在
為偶數時為
![{\displaystyle \lambda _{j}=c_{0}+2c_{1}\Re \omega _{j}+2c_{2}\Re \omega _{j}^{2}+\ldots +2c_{n/2-1}\Re \omega _{j}^{n/2-1}+c_{n/2}\omega _{j}^{n/2}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/273cc15b8a53cff70d759616850a6bbc198b16ae)
在
為奇數時為
![{\displaystyle \lambda _{j}=c_{0}+2c_{1}\Re \omega _{j}+2c_{2}\Re \omega _{j}^{2}+\ldots +2c_{(n-1)/2}\Re \omega _{j}^{(n-1)/2}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/00a2b828eda9cd86a16f765d7b99acfe9c43acec)
其中
表示取實部。
利用
,可進一步簡化。
設矩陣方程式
![{\displaystyle \mathbf {C} \mathbf {x} =\mathbf {b} }](https://wikimedia.org/api/rest_v1/media/math/render/svg/801db0b1d3bbc18391ea9bbd3df1d827e9e93fc5)
其中 C 是 n 維方形循環矩陣,這樣就可以將方程式表示成循環摺積
![{\displaystyle \mathbf {c} *\mathbf {x} =\mathbf {b} }](https://wikimedia.org/api/rest_v1/media/math/render/svg/95737e7a3bdddaa89724a5140148e9e8af867350)
其中 c 是循環矩陣 C 的第一列,c、x與b分別向每個方向循環。用離散傅立葉轉換將循環摺積轉換成兩個變量之間的乘積
![{\displaystyle {\mathcal {F}}_{n}(\mathbf {c} *\mathbf {x} )={\mathcal {F}}_{n}(\mathbf {c} ){\mathcal {F}}_{n}(\mathbf {x} )={\mathcal {F}}_{n}(\mathbf {b} )}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8b9c004398ffc36383792458c6956c93782e45d8)
因此
![{\displaystyle \mathbf {x} ={\mathcal {F}}_{n}^{-1}\left[\left({\frac {({\mathcal {F}}_{n}(\mathbf {b} ))_{\nu }}{({\mathcal {F}}_{n}(\mathbf {c} ))_{\nu }}}\right)_{\nu \in \mathbf {Z} }\right].}](https://wikimedia.org/api/rest_v1/media/math/render/svg/da1f341270b2e2e60a14e56b7ce30e8721930261)
這個算法比標準的高斯消去法的速度要快很多,尤其是當使用快速傅立葉轉換的時候更是如此。
在圖論中,鄰接矩陣為循環矩陣的圖與有向圖叫作輪換圖。同樣,如果圖的自同構群包含全部的循環,那麼圖就是輪換圖。Möbius ladder 就是輪換圖的例子。