肉眼判讀特徵向量

本文的閱讀等級:初級

A 為一個 n\times n 階矩陣。多數的線性代數教科書提供下列特徵值與特徵向量的手算步驟:

  1. 設特徵方程 A\mathbf{x}=\lambda\mathbf{x},其中 \lambda 是特徵值,\mathbf{x}\neq\mathbf{0} 是對應的特徵向量。將特徵方程改寫為 (A-\lambda I)\mathbf{x}=\mathbf{0},此式的意義是 A-\lambda I 的零空間 N(A-\lambda I) (稱為特徵空間) 包含非零向量,也就是說,A-\lambda I 是不可逆的,以行列式表示的等價條件式為 \mathrm{det}(A-\lambda I)=0
  2. n 階行列式 \det(A-tI) 展開,便得到一個 n 次多項式 p_A(t)=\det(A-tI),稱為 A 的特徵多項式。解出 p_A(t)n 個根,此即特徵值 \lambda_1,\ldots,\lambda_n (包含相重特徵值)。
  3. 對於每一個相異特徵值 \lambda,找出特徵空間 N(A-\lambda I) 的基底,此即對應 \lambda 的特徵向量。

 
底下舉一例說明矩陣的特徵值和特徵向量的「制式」算法。考慮

A=\begin{bmatrix}  1&2\\  4&3  \end{bmatrix}

寫出特徵多項式

\displaystyle  p_A(t)=\det(A-tI)=\begin{vmatrix}  1-t&2\\  4&3-t  \end{vmatrix}=t^2-4t-5

由此解出二根 -1,5,此即 A 的特徵值。對於特徵值 -1,特徵向量 \mathbf{x}_1 滿足 (A+I)\mathbf{x}_1=\mathbf{0},解得 \mathbf{x}_1=\left[\!\!\begin{array}{r}  1\\  -1  \end{array}\!\!\right]。對於特徵值 5(A-5I)\mathbf{x}_2=\mathbf{0} 的解給出特徵向量 \mathbf{x}_2=\left[\!\!\begin{array}{c}  1\\  2  \end{array}\!\!\right]

 
美國數學家波利亞 (George Polya) 說:「每一個問題的解答,都需要有某個『發現』才行。」這句話套用到下面的矩陣特徵值求解問題尤其貼切:

A=\left[\!\!\begin{array}{rrrr}  1&-1&2&3\\  -1&1&3&2\\  2&3&1&-1\\  3&2&-1&1  \end{array}\!\!\right]

矩陣 A 的特別模式讓我們得以避免解四次方程 p_A(t)=0 的繁瑣計算,事實上,只要運用心算即可求得 A 有特徵值 -5,1,3,5。這究竟是如何辦到的?某個「發現」在此指的又是什麼?

 
根據代數基本定理,n 次多項式恰有 n 個根,因此 n\times n 階矩陣 A 共有 n 個特徵值 (包含重根)。對於小型矩陣,我們可以直接解出特徵多項式的根,很不幸,這個方法的效用有限,因為法國數學家 Évariste Galois 早在公元 1846 年就證明一般 n>4 次方程式不存在公式解。當面對高階矩陣時,除非矩陣具有某種特殊可化簡型態 (例見“分塊矩陣特徵值的計算方法”),否則你只能仰賴數值方法來計算特徵值。

 
上面的分析過程給出了特徵值和特徵向量的「制式」計算方法:先解特徵值,後求特徵向量。但倘若我們已經知道 A 的特徵向量 \mathbf{x},將它代入特徵方程 A\mathbf{x}=\lambda\mathbf{x},這樣也可以得到對應的特徵值 \lambda。不過,這個解法的障礙在於特徵向量的解法沒有固定的套路,而且僅適用於少數特殊矩陣模式,因為這兩個原因,今天只有極少數人通曉特徵向量的肉眼判讀術。下面我列舉一些特殊矩陣,不用蠻力計算,也不需要背誦法則,只要留意矩陣的相關特質即可迅速得到答案。

 
考慮上三角矩陣

U=\begin{bmatrix}    3&4&5\\    0&6&7\\    0&0&8    \end{bmatrix}

三角矩陣的主對角元就是特徵值,所以 U 有特徵值 3,6,8。明顯地,對應 \lambda=3 的特徵向量為 \mathbf{x}=\begin{bmatrix}    1\\    0\\    0    \end{bmatrix},但弔詭的是,要能一眼看出對應 \lambda=6\lambda=8 的特徵向量卻不太容易。你或許會懷疑:針對如此簡單的三角矩陣,我們都無法立刻讀出特徵向量,遑論其他複雜的矩陣。暫時不必急著下定論,繼續往下探討其他的情況再說。

 
再看這個例子,

B=\left[\!\!\begin{array}{rrr}    1&1&2\\    2&2&4\\    -3&-3&-6    \end{array}\!\!\right]

觀察得知 B 僅有一個線性獨立的行向量 (column vector),亦即 \mathrm{rank}B=1,我們稱它為秩-1 (rank-one) 矩陣。利用行向量之間的倍數關係,不難得到 B 的兩個獨立特徵向量 \left[\!\!\begin{array}{r}    1\\    1\\    -1    \end{array}\!\!\right]\left[\!\!\begin{array}{r}    1\\    -1\\    0    \end{array}\!\!\right] 對應特徵值 \lambda=0。這表示 \lambda=0 重複兩次,那麼還有一個特徵值為何?我們知道跡數 \hbox{trace}B 等於所有的特徵值之和,因此還有一個特徵值 \lambda=1+2+(-6)=-3,而對應的特徵向量正是行向量 \left[\!\!\begin{array}{r}    1\\    2\\    -3    \end{array}\!\!\right]!這需要加以解釋。若 Bn\times n 階實矩陣且 \mathrm{rank}B=1,則 B 必定可以表示為 B=\mathbf{x}\mathbf{y}^T\mathbf{x},\mathbf{y}\in\mathbb{R}^n。上例中,

B=\left[\!\!\begin{array}{rrr}  1&1&2\\  2&2&4\\  -3&-3&-6  \end{array}\!\!\right]=\left[\!\!\begin{array}{r}  1\\  2\\  -3  \end{array}\!\!\right]\begin{bmatrix}  1&1&2  \end{bmatrix}=\mathbf{x}\mathbf{y}^T

利用矩陣乘法結合律,可得

\begin{aligned}  B\mathbf{x}&=(\mathbf{x}\mathbf{y}^T)\mathbf{x}=\mathbf{x}(\mathbf{y}^T\mathbf{x})=(\mathbf{y}^T\mathbf{x})\mathbf{x}\end{aligned}

其中 \mathbf{y}^T\mathbf{x} 為純量故可與向量置換。上式表明 B 有一個特徵值

\lambda=\mathbf{y}^T\mathbf{x}=\hbox{trace}(\mathbf{y}^T\mathbf{x})=\hbox{trace}(\mathbf{x}\mathbf{y}^T)=\mathrm{trace}B

上面使用了跡數循環不變性。對應特徵值 \hbox{trace}B 的特徵向量 \mathbf{x} 即是行空間 C(B) 的唯一一個基底向量,因為特徵向量 \mathbf{x}\in C(B)\hbox{rank}B=\dim C(B)=1。秩—零度定理說 \mathrm{dim}N(B)=n-\mathrm{rank}B=n-1,令 \mathbf{u}_1,\ldots,\mathbf{u}_{n-1} 為零空間 N(B) 的一組基底,就有 B\mathbf{u}_i=\mathbf{0}Bn-1 個重複特徵值 \lambda=0,證明秩-1矩陣的特徵值為 \mathbf{x}^T\mathbf{y},0,\ldots,0。零空間 N(B) 的基底向量 \mathbf{u}_1,\ldots,\mathbf{u}_{n-1} 常憑肉眼即可判讀出來。

 
類似的特徵向量解讀術還可以應用於下列形式矩陣:

A=cI+d\mathbf{x}\mathbf{y}^T

其中 c,d\in\mathbb{R}。Householder 矩陣即為一例,H=I-2\mathbf{v}\mathbf{v}^T\Vert\mathbf{v}\Vert=1 (見“特殊矩陣(4):Householder 矩陣”)。Householder 矩陣未必容易看出,但下面這個矩陣則有清楚的模式 (見“特殊矩陣 (17):組合矩陣”):

\begin{aligned}  C&=\begin{bmatrix}    a&b&b&b\\    b&a&b&b\\    b&b&a&b\\    b&b&b&a    \end{bmatrix}=(a-b)I+b\mathbf{e}\mathbf{e}^T\end{aligned}

上式中 \mathbf{e} 的所有元為 1。不難發現 C 有特徵向量 \mathbf{e}=\begin{bmatrix}    1\\    1\\    1\\    1    \end{bmatrix} 對應 \lambda=a+3b,還有三個獨立的特徵向量對應 \lambda=a-b\left[\!\!\begin{array}{r}    1\\    -1\\    0\\    0    \end{array}\!\!\right], \left[\!\!\begin{array}{r}    0\\    1\\    -1\\    0    \end{array}\!\!\right], \left[\!\!\begin{array}{r}    0\\    0\\    1\\    -1    \end{array}\!\!\right]

 
回到本文一開始給出的問題,我們將它以符號表示如下:

A=\begin{bmatrix}    a&b&c&d\\    b&a&d&c\\    c&d&a&b\\    d&c&b&a    \end{bmatrix}

其中 a,b,c,d\in\mathbb{R}。觀察發現 A 是實對稱矩陣,而且 A 的每一列所有元總和都等於 a+b+c+d。顯然,A 有特徵向量 \begin{bmatrix}    1\\    1\\    1\\    1    \end{bmatrix} 對應 \lambda=a+b+c+d。回想實對稱矩陣的特徵值必定是實數,而且存在彼此正交的特徵向量集。這個結果縮小了搜索範圍,其他三個特徵向量各元之和必等於零 (因為與上述特徵向量正交)。利用對稱原理就得到特徵向量 \left[\!\!\begin{array}{r}    1\\    1\\    -1\\    -1    \end{array}\!\!\right] 對應 \lambda=a+b-c-d,特徵向量 \left[\!\!\begin{array}{r}    1\\    -1\\    1\\    -1    \end{array}\!\!\right] 對應 \lambda=a-b+c-d,特徵向量 \left[\!\!\begin{array}{r}    1\\    -1\\    -1\\    1    \end{array}\!\!\right] 對應 \lambda=a-b-c+d。請讀者自行確認 A 的特徵向量構成一組正交向量集。

 
最後我們整理特徵向量肉眼判讀術的兩項關鍵技巧:(一) 先求得最明顯的特徵向量,然後算出對應的特徵值。(二) 運用矩陣的特別模式或屬性立下特徵值或特徵向量的條件及限制。在實際應用時,不應墨守成規,也不必拘泥小節,譬如先求特徵值抑或先找特徵向量。總之,基本道理不難,但要達到「運用之妙,存乎一心」的境界,惟有勤加練習一途。

繼續閱讀:
Advertisement
This entry was posted in 特徵分析, 線性代數專欄 and tagged , , , . Bookmark the permalink.

7 Responses to 肉眼判讀特徵向量

  1. Watt Lin says:

    真的很巧妙!我很喜歡這樣的解答途徑。
    不用蠻力計算,也不需要背誦法則,只要留意矩陣的相關特質即可迅速得到答案。

    假如每個題目都採用制式方法作答,將會很疲倦,對數學失去興趣。
    多學一些方法,頭腦會比較靈活。

  2. ccjou says:

    美國有一位數學教授十幾年來上課時都教導學生一種不使用行列式的特徵值/特徵向量演算法(下回我再介紹給大家),有一位學生評論說:我知道這個方法比較快,但是使用行列式你就不需要去想。這個學生似乎一語道出癥結所在:凡事都花腦筋是很累人的。

  3. Watt Lin says:

    不需要去想的事,交給電腦(或其他自動化設備)做,就行了!
    給人做的事,能動腦思考,比較不會無聊。
    機械式的動作,人做久了,可能會有職業倦怠,想要轉換工作。

  4. Watt Lin says:

    肉眼判斷:我想到一件事,傅立葉級數的計算,使用sin與cos正交之性質,若畫出圖形,以sin(kx)表示高度,cos(nx)表示寬度,sin(kx)乘cos(nx)表示面積,由0到2Pi之間的積分,肉眼可見,每一片「正面積」可找到對應之「負面積」,抵消而等於0,而知總和為0,即是sin(kx)與cos(nx)正交。
    另外,sin(kx)與sin(nx),在k不等於n時,也是正交。cosine函數亦同。
    我嘗試電腦作圖,sin(x)與sin(2x)相乘的函數,可輕鬆「看」到上下抵消,積分為0。
    sin(x)與sin(4x),或者sin(x)與sin(6x),也可肉眼判斷,積分為0。
    但是sin(x)與sin(3x)正交,我卻很難直接看出積分為0。
    圖解法,是否真的遇到困難?
    老師談傅立葉級數的文章系列,如果順便幫我們復習sin與cos正交之性質,配合直覺式一眼看出答案的圖解,將會使許多學生受益。
    感謝您精心設計的教學,期待老師繼續發佈更多文章!

    • ccjou says:

      圖解和直覺可以幫助我們理解一些較為複雜的概念或關係,但並非處處可行,很多時候還是需要計算確認。因為遇到了困難,很多人便採用機械方式,雖保證得到答案,卻可能失去從多角度看待事物的能力。我在TED看過一個7天學會冰島語的人演講,他問64*75=?他用視覺化方法將64想成西洋棋盤的格子,分成4大塊,每塊16個格,75換成3/4*100,答案就等於16*3*100=4800。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s