矩陣函數 (上)

本文的閱讀等級:中級

給定二階方陣 A=\left[\!\!\begin{array}{rr}    -2&-6\\    1&3    \end{array}\!\!\right],如何計算 \cos A?(取自交大資訊所2007年入學試題) 我們或許直覺認為 \cos A 各元不過就是 A=[a_{ij}] 對應元的餘弦函數,(\cos A)_{ij}=\cos a_{ij},上例為

\cos\left[\!\!\begin{array}{rr}    -2&-6\\    1&3    \end{array}\!\!\right]=\begin{bmatrix}    \cos(-2)&\cos(-6)\\    \cos 1&\cos 3    \end{bmatrix}

這個定義的缺點在於 \cos A 未能保留餘弦函數的一些美好性質。舉例而言,既然有 \cos ^2\theta+\sin^2\theta=1 和倍角公式 \cos(2\theta)=2\cos^2\theta-1,我們自然希望任意方陣 A 的矩陣函數 \cos A\sin A 同樣滿足 \cos^2A+\sin^2A=I\cos(2A)=2\cos^2A-I。但這要如何辦到呢?本文僅解說可對角化矩陣函數,不可對角化矩陣函數涉及 Jordan 形式,將留待下文詳細討論。

 
給定一個 n\times n 階矩陣 A,目前存在許多種矩陣函數定義方法,而基於線積分 (line integral) 的定義最被多數人採用[1],但其中涉及了複變函數,在此我們採用另一種較為便捷的導入方式。我們使用讀者熟悉的矩陣指數 (見“矩陣指數”) 來定義一般矩陣函數 f(A)。為了讓矩陣函數與同型純量函數擁有相同的性質,我們從泰勒展開式出發,以指數函數為例,

\displaystyle  e^{x}=1+x+\frac{x^2}{2!}+\cdots

xA 取代,常數 1 以單位矩陣 I 取代 (因為 x^0=1,也就有 A^0=I),便得到矩陣指數

\displaystyle  e^{A}=I+A+\frac{A^2}{2!}+\cdots

無窮級數衍生出收斂性問題,最直接的解決方式是從 e^A 的表達式切入。若 A 可對角化為

A=S\Lambda S^{-1}=S\begin{bmatrix}    \lambda_1&~&~\\    ~&\ddots&~\\    ~&~&\lambda_n    \end{bmatrix}S^{-1}

其中 \Lambda=\text{diag}(\lambda_1,\ldots,\lambda_n) 的主對角元 \lambda_jA 的特徵值,則冪矩陣 A^k 也可對角化為 A^k= S\Lambda^{k}S^{-1},而 \Lambda^k=\mathrm{diag}(\lambda_1^k,\ldots,\lambda_n^k)。利用 A^k 的對角化式子化簡 e^A,可得

\begin{aligned}\displaystyle  e^{A}&=SIS^{-1}+S\Lambda S^{-1}+S\frac{\Lambda^k}{2!}S^{-1}+\cdots\\    &=S\left(I+\Lambda+\frac{\Lambda^2}{2!}+\cdots \right)S^{-1}\\    &=S\begin{bmatrix}    e^{\lambda_1}&~&~\\    ~&\ddots&~\\    ~&~&e^{\lambda_n}    \end{bmatrix}S^{-1}.\end{aligned}

若將 A 替換為 \Lambda,則 S=I,也就有 e^{\Lambda}=\mathrm{diag}(e^{\lambda_1},\ldots,e^{\lambda_n}),故 e^A 也可以寫為 e^{A}=Se^{\Lambda}S^{-1}。將上述結果推廣至任意函數 f(x),同樣可定義對角矩陣函數

f(\Lambda) \overset{\underset{\mathrm{def}}{}}{=}\mathrm{diag}(f(\lambda_1),\ldots,f(\lambda_n))

並且令

f(A)=Sf(\Lambda)S^{-1}=S\begin{bmatrix}    f(\lambda_1)&~&~\\    ~&\ddots&~\\    ~&~&f(\lambda_n)    \end{bmatrix}S^{-1}

 
表面上,從矩陣指數 e^A 推廣至一般矩陣函數 f(A) 的過程似乎顯得粗略草率,我們如何確知由無窮級數定義出的 f(A) 具備收斂性並且唯一存在? 先說明收斂性。設 f(z) 為一個解析函數 (analytic function),亦即對於 \vert z-z_0\vert<\rho,下列冪級數收斂:

f(z)=\displaystyle\sum_{k=0}^{\infty}c_k(z-z_0)^k

若可對角化矩陣 A 的每一特徵值 \lambda_i 都滿足 \vert\lambda_i-z_0\vert<\rho,可知 f(\lambda_i) 收斂,推論 f(\Lambda) 也收斂,因此確認 f(A)=Sf(\Lambda)S^{-1} 具收斂性。

 
方陣 A 並沒有唯一的對角化形式 S\Lambda S^{-1},特徵值矩陣 \Lambda 的主對角元可調換位置,此外,對應重複特徵值,我們也可以選擇不同的特徵向量組成 S。欲證明 f(A) 唯一存在,我們藉助可對角化矩陣的譜分解表達式。設 \{\lambda_1,\ldots,\lambda_m\} 代表 A 的相異特徵值集合,也稱為矩陣譜,並令對應 \lambda_i 的相重數為 \beta_i。令 n\times\beta_i 階矩陣 X_i 的行向量由對應 \lambda_i 的特徵向量組成,亦即 C(X_i)=N(A-\lambda_i I)\mathrm{dim}C(X_i)=\beta_i,因此特徵向量矩陣 S 可以表示為 S=\begin{bmatrix}    X_1&\cdots&X_m    \end{bmatrix}S^{-1} 也可以寫為 S^{-1}=\begin{bmatrix}    Y_1^T\\    \vdots\\    Y_m^T    \end{bmatrix}Y_i^T\beta_i\times n 階分塊,則 f(A) 的矩陣譜分解式如下:

\begin{aligned}  f(A)&=S\Lambda S^{-1}\\    &=\begin{bmatrix}    X_1&\cdots&X_m    \end{bmatrix}\begin{bmatrix}    f(\lambda_1)I_{\beta_1}&~&~\\    ~&\ddots&~\\    ~&~&f(\lambda_m)I_{\beta_m}    \end{bmatrix}\begin{bmatrix}    Y_1^T\\    \vdots\\    Y_m^T    \end{bmatrix}\\    &=f(\lambda_1)X_1Y_1^T+\cdots+f(\lambda_m)X_mY_m^T\\    &=f(\lambda_1)P_1+\cdots+f(\lambda_m)P_m,\end{aligned}

其中 P_i=X_iY_i^T 即為沿著子空間 C(A-\lambda_iI) 至特徵空間 N(A-\lambda_iI) 的投影矩陣 (證明見“可對角化矩陣的譜分解”),P_iA 唯一決定。所以,不管 \Lambda 如何排列特徵值,以及 S 矩陣如何選擇特徵向量,我們可以推斷 f(A) 唯一存在。

 
回到本文初給的二階方陣例子,A=\left[\!\!\begin{array}{rr}    -2&-6\\    1&3    \end{array}\!\!\right] 是不可逆矩陣,必定有特徵值 \lambda_1=0,利用跡數性質 \mathrm{trace}A=\lambda_1+\lambda_2=(-2)+3=1,可知另一特徵值為 \lambda_2=1。再計算對應的特徵向量,得到 \mathbf{x}_1=\left[\!\!\begin{array}{r}    3\\    -1    \end{array}\!\!\right]\mathbf{x}_2=\left[\!\!\begin{array}{r}    -2\\    1    \end{array}\!\!\right]A 可對角化為

A=\left[\!\!\begin{array}{rr}    3&-2\\    -1&1    \end{array}\!\!\right]\begin{bmatrix}    0&0\\    0&1    \end{bmatrix}\left[\!\!\begin{array}{rr}    3&-2\\    -1&1    \end{array}\!\!\right]^{-1}

故餘弦矩陣函數為

\begin{aligned}  \cos A&=\left[\!\!\begin{array}{rr}    3&-2\\    -1&1    \end{array}\!\!\right]\begin{bmatrix}    \cos 0&0\\    0&\cos 1    \end{bmatrix}\left[\!\!\begin{array}{rr}    3&-2\\    -1&1    \end{array}\!\!\right]^{-1}\\  &=\begin{bmatrix}    3-2\cos 1&6-6\cos 1\\    -1+\cos 1&-2+3\cos 1    \end{bmatrix}.\end{aligned}

 
最後我補充一個 n\times n 階可對角化矩陣 A 的投影矩陣 P_i 的算法,此法無須解出特徵向量。根據 Cayley-Hamilton 定理,冪矩陣 A^k 可表示為 I,A,\ldots,A^{n-1} 的線性組合 (見“利用 Cayley-Hamilton 定理計算矩陣函數”),因此前述矩陣函數 f(A) 的無窮冪級數表達式可簡化為 A 的多項式。換句話說,若 f(A) 存在,我們可以得到一個多項式 p(z) 使得 p(A)=f(A)。作法如下:如果 p(\lambda_i)=f(\lambda_i)1\le i\le m,則譜分解式給出

\displaystyle  p(A)=\sum_{i=1}^mp(\lambda_i)P_i=\sum_{i=1}^mf(\lambda_i)P_i=f(A)

然而,是否總存在一個多項式使得 p(\lambda_i)=f(\lambda_i)1\le i\le m?是的。答案是 Lagrange 內插多項式 (見“線性世界的根基──疊加原理”)

\displaystyle  p(z)=f(\lambda_1)\prod_{j\neq 1}\left(\frac{z-\lambda_j}{\lambda_1-\lambda_j}\right)+\cdots+f(\lambda_m)\prod_{j\neq m}\left(\frac{z-\lambda_j}{\lambda_m-\lambda_j}\right)

所以矩陣函數 f(A) 即為

\displaystyle  f(A)=p(A)=f(\lambda_1)\prod_{j\neq 1}\left(\frac{A-\lambda_jI}{\lambda_1-\lambda_j}\right)+\cdots+f(\lambda_m)\prod_{j\neq m}\left(\frac{A-\lambda_jI}{\lambda_m-\lambda_j}\right)

g_i(z)=\left\{\begin{array}{ll}  1&\mbox{if~}z=\lambda_i\\  0&\mbox{if~}z\neq \lambda_i  \end{array}\right. 取代 f(z),可得

\displaystyle  g_i(A)=P_i=\prod_{j\neq i}\left(\frac{A-\lambda_jI}{\lambda_i-\lambda_j}\right),~~1\le i\le m

上例中,對於 \lambda_1=0\lambda_2=1

\displaystyle  P_1=\frac{A-1I}{0-1}=\left[\!\!\begin{array}{rr}  3&6\\  -1&-2  \end{array}\!\!\right],~~P_2=\frac{A-0I}{1-0}=\left[\!\!\begin{array}{rr}  -2&-6\\  1&3  \end{array}\!\!\right]

所以,

\displaystyle\begin{aligned}  \cos A&=(\cos 0)\left[\!\!\begin{array}{rr}  3&6\\  -1&-2  \end{array}\!\!\right]+(\cos 1)\left[\!\!\begin{array}{rr}  -2&-6\\  1&3  \end{array}\!\!\right]\\  &=\begin{bmatrix}    3-2\cos 1&6-6\cos 1\\    -1+\cos 1&-2+3\cos 1    \end{bmatrix}.\end{aligned}

 
引用文獻:
[1] Gene H. Golub and Charles F. Van Loan, Matrix Computations, 2nd ed., 1989, pp. 540.

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

14 Responses to 矩陣函數 (上)

  1. Watt Lin says:

    請問有沒有一種性質存在:
    det( exp(A) ) = exp( det(A) )
    det( cos(A) ) = cos( det(A) )
    det( sin(A) ) = sin( det(A) )

    抱歉,我沒正式修線性代數,只是看過一遍老師的光碟,當作業餘進修。
    問這個題目,可能很幼稚。
    如果 exp, cos, sin 不具有這種性質,
    可否請老師舉些例子,說明某些矩陣可以先計算行列式值再代入函數,恰好與先求函數再算行列式值,其結果相等。

    對角矩陣用在exp函數,這項性質應該成立吧!其他的我不清楚。

    我好像曾經看過其他類似的東西,但記憶模糊,請老師指導。

  2. Watt Lin says:

    自己簡單驗證:
    對角矩陣先求exp再作det,與先求det再作exp,是不同的。

  3. ccjou says:

    你寫的性質都不存在,不過卻有
    \mathrm{det}(e^{A})=e^{\lambda_1}\cdots e^{\lambda_n}=e^{\mathrm{trace}A}

    又因為 \mathrm{cos}A=S(\mathrm{cos}\Lambda)S^{-1},所以
    \mathrm{det}(\mathrm{cos}A)=(\mathrm{det}S)(\mathrm{det}(\mathrm{cos}\Lambda))(\mathrm{det}S^{-1})
    =(\mathrm{cos}\lambda_1)\cdots(\mathrm{cos}\lambda_n)
    但上式並不等於 \mathrm{cos}(\mathrm{det}A)=\mathrm{cos}(\lambda_1\cdots\lambda_n)

  4. ccjou says:

    oops, 不小心按到submit
    A 可對角化,一般情況即為
    \mathrm{det}(f(A))=\mathrm{det}(Sf(\Lambda)S^{-1})
    =\mathrm{det}(f(\Lambda))=f(\lambda_1)\cdots f(\lambda_n)

  5. Watt Lin says:

    感謝老師說明,我的觀念清楚了!

  6. 阿蟲 says:

    √A這類的呢,還有A^(1/3)
    沒有馬克勞林級數可以展(還是有我不知道,我也搞不懂)
    那它要怎麼解?

  7. ccjou says:

    按上文所述方式同樣可以定義 \sqrt{A}(A)^{1/3},但通常我們僅針對半正定矩陣定義其平方根(因為它具有實際用途)。對於所有實數 x\ge 0,我們定義 f(x)=\sqrt{x}x 的正平方根。若 A 是半正定矩陣,則 A 的所有特徵值都是非負數,故 \sqrt{A} 也是半正定,而且可以證明它唯一存在,因此也為良好定義。

    下面是維基百科的介紹:
    http://en.wikipedia.org/wiki/Square_root_of_a_matrix

    另外你當然也可以利用 Taylor 展開計算 \sqrt{A},在 x=1 展開 f(x)=\sqrt{x} 可得
    \sqrt{x}=1+\frac{1}{2}(x-1)-\frac{1}{4(2!)}(x-1)^2+\frac{1\cdot 3}{8(3!)}(x-1)^3+\cdots
    =1+\frac{1}{2}(x-1)+\sum_{n=2}^{\infty}(-1)^{n+1}\frac{(2n-3)!}{2^{2n-2}(n!)(n-2)!}(x-1)^n
    x 替換為 A1 替換為 I (單位矩陣) 即可。

  8. ccjou says:

    補充說明:矩陣函數 \sqrt{A} 是一個很複雜的問題,由以下數個事實可略窺一二。
    1) 若 A 可對角化,則 \sqrt{A} 可如上文所述方式計算。
    2) 某些 A 可能存在無窮多種可能的 \sqrt{A},例如,X^2=IX=S\begin{bmatrix} 1&0\\ 0&-1 \end{bmatrix}S^{-1}S 為任意可逆矩陣。
    3) 某些 A 沒有 \sqrt{A},例如,
    A=\begin{bmatrix} 0&1\\ 0&0 \end{bmatrix}
    4) A=\begin{bmatrix} 0&1&0&0\\ 0&0&0&0\\ 0&0&0&1\\ 0&0&0&0 \end{bmatrix} 不可對角化,但 \sqrt{A} 可以為
    \sqrt{A}=\begin{bmatrix} 0&0&1&0\\ 0&0&0&1\\ 0&1&0&0\\ 0&0&0&0 \end{bmatrix}

  9. 阿蟲 says:

    非常謝謝老師的解說

  10. 張盛東 says:

    老師,請教一條關於矩陣函數收斂的問題。
    For an arbitrary A\in C^{m\times m} and norm $\latex ||\cdot||$, prove using Theorem “Every square matrix A has a Schur factorization”.
    (a) $\latex lim_{n\rightarrow \infty}||A^n||=1 \Leftrightarrow \rho(A) < 1$, where $\latex \rho$ is the spectral radius.
    (b) $\latex lim_{t\rightarrow \infty}||e^{tA}||=0 \Leftrightarrow \alpha(A) < 0$, where $\latex \alpha$ is the spectral abscissa.

  11. 張盛東 says:

    不好意思,多加了斜杠。
    For an arbitrary and norm ||\cdot||, prove using Theorem “Every square matrix A has a Schur factorization”.
    (a) lim_{n\rightarrow \infty}||A^n||=1 \Leftrightarrow \rho(A) < 1, where \rho is the spectral radius.
    (b) lim_{t\rightarrow \infty}||e^{tA}||=0 \Leftrightarrow \alpha(A) < 0, where \alpha is the spectral abscissa.

  12. 胡霖 says:

    “因此前述矩陣函數 f(A) 的無窮冪級數表達式可簡化為 A 的多項式” 这句话好难理解啊!另外,对于任意的一个nxn的矩阵A,f(A)一定可以表示为p(A)的这种形式么?

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