矩阵指数

**矩陣指數**（matrix exponential）是方塊矩陣的一種矩陣函數，與指數函數類似。矩陣指數給出了矩陣李代數與對應的李群之間的關係。

設 _X_ 為 _n_×_n_ 的實數或複數矩陣。_X_ 的指數，用 _e_X 或 exp (_X_) 來表示，是由以下冪級數所給出的 _n_×_n_ 矩陣：

　
: $e^{X}=\sum _{k=0}^{\infty }{1 \over k!}X^{k}$

以上的級數總是收斂的，因此 _X_ 的指數是定義良好的。注意，如果 _X_ 是 1×1 的矩陣，則 _X_ 的矩陣指數就是由 _X_ 的元素的指數所組成的 1×1 矩陣。

## 性質

### 基本性質

設 _X_ 和 _Y_ 為 _n_×_n_ 的複數矩陣，並設 _a_ 和 _b_ 為任意的複數。我們把 _n_×_n_ 的單位矩陣記為 _I_，把零矩陣記為 0。

我們可以從指數級數的定義直接得到矩陣指數的如下性質：

* _e_0 = _I_
* exp(_X_T) = (exp _X_)T，其中 _X_T 表示 _X_ 的轉置。從中可以推出，如果 _X_ 是對稱矩陣，則 _e_X 也是對稱矩陣；如果 _X_ 是斜對稱矩陣，則 _e_X 是正交矩陣。
* exp(_X_\*) = (exp _X_)\*，其中 _X_\* 表示 _X_ 的共軛轉置。可以推出，如果 _X_ 是埃爾米特矩陣，則 _e_X 也是埃爾米特矩陣；如果 _X_ 是斜埃爾米特矩陣，則 _e_X 是酉矩陣。
* 如果 _Y_ 是可逆矩陣，那麼 _e_YXY−1 = _Ye_X_Y_−1

接下來是一個關鍵性質：

* 如果 $XY=YX$ 那麼 $e^{X}e^{Y}=e^{X+Y}$

由此導出的推論有：

* _e_aX_e_bX = _e_(_a_ + _b_)_X_
* _e_X_e_−_X_ = _I_

### 線性微分方程

矩陣指數的一個重要性，是它可以用來解微分方程。從 (1) 可知，以下微分方程

　
: ${\frac {d}{dt}}y(t)=Ay(t),\quad y(0)=y_{0}$

其中 _A_ 是矩陣，具有解

　
: $y(t)=e^{At}y_{0}\ $

矩陣指數也可以用來解非齊次方程：

　
: ${\frac {d}{dt}}y(t)=Ay(t)+z(t),\quad y(0)=y_{0}$

參見以下的例子。

當 _A_ 不是常數時，以下形式的微分方程沒有閉式解：

　
: ${\frac {d}{dt}}y(t)=A(t)\,y(t),\quad y(0)=y_{0}$

但馬格努斯級數可以給出無窮級數形式的解。

### 矩陣指數的行列式

根據雅可比公式，對任意復矩陣，下列跡等式成立：

　
:

除了提供一種額外的計算工具，這個等式還表明矩陣指數總是可逆矩陣。這點可以如下證明：因為上述等式的右邊恆不等於 0，所以左邊 det(_eA_) ≠ 0，從而 _eA_ 必可逆。

### 指數相加

我們知道，對於任何實數（純量）_x_ 和 _y_，指數函數都滿足公式 _e_x + _y_ = _e_x_e_y。類似的等式對於可交換矩陣也成立：如果矩陣 _X_ 和 _Y_ 是可交換的（即 _XY_ = _YX_），則：

　
: $e^{X+Y}=e^{X}e^{Y}\ $

但是，如果它們不是可交換的，則以上的等式不一定成立。

這個命題反過來不成立：_e_X+_Y_=_e_X_e_Y 並不一定就意味著 _X_ 和 _Y_ 是可交換的。但是，如果 _X_ 和 _Y_ 只含有代數數，而且它們的大小至少為 2×2，則反過來也成立。

_X_ 和 _Y_ 不可交換的情況可以用以下方法計算：

### 李乘積公式

即使 $X$ 和 $Y$ 不可交換， $e^{X+Y}$ 可以用李乘積公式來計算

　
: $e^{X+Y}=\lim _{n\rightarrow \infty }(e^{X/n}e^{Y/n})^{n}$

### 貝克爾 - 坎貝爾 - 豪斯多夫公式

從另一個方向講，如果 $X$ 和 $Y$ 是元素足夠小（但不一定可交換）的矩陣，我們有：

　
: $e^{X}e^{Y}=e^{Z}$

其中 $Z$ 可以通過 $X$ 和 $Y$ 的交換子的級數（貝克爾 - 坎貝爾 - 豪斯多夫公式）來計算：

　
: $Z=X+Y+{\frac {1}{2}}[X,Y]+{\frac {1}{12}}[X,[X,Y]]+\cdots $

其中餘項均為與 $X$ 和 $Y$ 相關的迭代交換子。

### 指數映射

注意矩陣的指數總是非奇異方陣。_e_X 的逆矩陣由 _e_−_X_ 給出。這與複數的指數總是非零的事實類似。這樣，矩陣指數就給出了一個映射：

　
: $\exp \colon M_{n}(\mathbb {C} )\to {\mbox{GL}}(n,\mathbb {C} )$

這是從所有 _n_×_n_ 矩陣的空間到一般線性群（所有非奇異方陣所組成的群）的映射。實際上，這個映射是滿射，就是說每一個非奇異方陣都可以寫成某個矩陣的指數。矩陣對數就是這個映射的逆映射。

對於任何兩個矩陣 _X_ 和 _Y_，我們有：

　
: $\|e^{X+Y}-e^{X}\|\leq \|Y\|e^{\|X\|}e^{\|Y\|}$

其中 || ・ || 表示任意的矩陣範數。從中可以推出，指數映射在 _M_n(**C**) 的緊子集內是連續和利普希茨連續的。

以下的映射

　
: $t\mapsto e^{tX},\qquad t\in \mathbb {R} $

定義了一般線性群中的一條光滑曲線，當 _t_ = 0 時穿過單位元。實際上，這給出了一般線性群的一個單參數子群，這是由於：

　
: $e^{tX}e^{sX}=e^{(t+s)X}\ $

這條曲線在點 _t_ 的導數（或切向量）由以下等式給出：

　
: ${\frac {d}{dt}}e^{tX}=Xe^{tX}\qquad (1)$

_t_ = 0 時的導數就是矩陣 _X_，所以我們可以說，_X_ 是這個單參數子群的推廣。

更加一般地：

　
: ${\frac {d}{dt}}e^{X(t)}=\int _{0}^{1}e^{(1-\alpha )X(t)}{\frac {dX(t)}{dt}}e^{\alpha X(t)}\,d\alpha $

## 矩陣指數的計算

找到可靠而準確的方法來計算矩陣指數是很困難的，這仍然是目前數學和數值分析領域的一個重要研究課題。Matlab、GNU Octave 和 SciPy 都使用帕德近似。 在本節中，我們討論了原則上適用於任何矩陣的方法，並且可以對小矩陣進行顯式處理。 隨後的章節描述了適合對大矩陣進行數值評估的方法。

### 可對角化矩陣

如果矩陣是對角的：

　
: $A={\begin{bmatrix}a_{1}&0&\ldots &0\\0&a_{2}&\ldots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\ldots &a_{n}\end{bmatrix}}$

則把主對角線上的所有元素取指數，就是原矩陣的指數：

　
: $e^{A}={\begin{bmatrix}e^{a_{1}}&0&\ldots &0\\0&e^{a_{2}}&\ldots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\ldots &e^{a_{n}}\end{bmatrix}}$

這也允許了我們計算可對角化矩陣的指數。如果 $A=UDU^{-1}$ ，且 _D_ 是對角矩陣，則 $e^{A}=Ue^{D}U^{-1}$ 。用西爾維斯特公式，也可以得到相同的結果。

### 冪零矩陣

如果對於某個整數 _q_，有 _N_q = 0，則矩陣 _N_ 稱為冪零矩陣。在這種情況下，矩陣指數 _e_N 可以直接從級數展開式來計算，這是因為級數在有限個項後就終止了：

　
: $e^{N}=I+N+{\frac {1}{2}}N^{2}+{\frac {1}{6}}N^{3}+\cdots +{\frac {1}{(q-1)!}}N^{q-1}$

### 推廣

當矩陣 _X_ 的最小多項式可以分解為一次多項式的積時，它就可以表示為以下的和：

　
: $X=A+N\ $

其中：

* _A_ 是可對角化矩陣；
* _N_ 是冪零矩陣；
* _A_ 與 _N_ 是可交換的（也就是說， _AN_ = _NA_）。

這稱為 Dunford 分解。

這就是說，我們可以通過化為前兩種情況，來計算 _X_ 的指數：

　
: $e^{X}=e^{A+N}=e^{A}e^{N}\ $

注意為了讓最後一步成立， _A_ 和 _N_ 必須是可交換的。

另外一個密切相關的方法，是利用 _X_ 的若爾當標準型。假設 _X_ = _PJP_−1，其中 _J_ 是 _X_ 的若爾當標準型。那麼：

　
: $e^{X}=Pe^{J}P^{-1}\ $

另外，由於

　
: $J=J_{a_{1}}(\lambda _{1})\oplus J_{a_{2}}(\lambda _{2})\oplus \cdots \oplus J_{a_{n}}(\lambda _{n})$

　
: ${\begin{aligned}e^{J}&{}=\exp {\big (}J_{a_{1}}(\lambda _{1})\oplus J_{a_{2}}(\lambda _{2})\oplus \cdots \oplus J_{a_{n}}(\lambda _{n}){\big )}\\&{}=\exp {\big (}J_{a_{1}}(\lambda _{1}){\big )}\oplus \exp {\big (}J_{a_{2}}(\lambda _{2}){\big )}\oplus \cdots \oplus \exp {\big (}J_{a_{k}}(\lambda _{k}){\big )}\end{aligned}}$

因此，我們只需要知道怎樣計算若爾當塊的矩陣指數。但是，每一個若爾當塊都具有形式

　
: $J_{a}(\lambda )=\lambda I+N\ $

其中 _N_ 是冪零矩陣。則這個區塊的矩陣指數由下式給出：

　
: $e^{\lambda I+N}=e^{\lambda }e^{N}\ $

## 計算

假設我們想要計算以下矩陣的指數。

　
: $B={\begin{bmatrix}21&17&6\\-5&-1&-6\\4&4&16\end{bmatrix}}$

它的若爾當型為：

　
: $J=P^{-1}BP={\begin{bmatrix}4&0&0\\0&16&1\\0&0&16\end{bmatrix}}$

其中矩陣 _P_ 由下式給出：

　
: $P={\begin{bmatrix}-{\frac {1}{4}}&2&{\frac {5}{4}}\\{\frac {1}{4}}&-2&-{\frac {1}{4}}\\0&4&0\end{bmatrix}}$

我們首先來計算 exp (_J_)。我們有：

　
: $J=J_{1}(4)\oplus J_{2}(16)$

1×1 矩陣的指數僅僅是該矩陣的元素的指數，因此 exp (_J_1(4)) = [_e_4]。 $J_{2}(16)$ 的指數可以用以上提到的公式 exp (λ $I$ +_N_) = _e_λ exp(_N_) 來算出：

　
: $\exp \left({\begin{bmatrix}16&1\\0&16\end{bmatrix}}\right)=e^{16}\exp \left({\begin{bmatrix}0&1\\0&0\end{bmatrix}}\right)=e^{16}\left({\begin{bmatrix}1&0\\0&1\end{bmatrix}}+{\begin{bmatrix}0&1\\0&0\end{bmatrix}}+{1 \over 2!}{\begin{bmatrix}0&0\\0&0\end{bmatrix}}+\cdots \right)={\begin{bmatrix}e^{16}&e^{16}\\0&e^{16}\end{bmatrix}}$

因此，原矩陣 _B_ 的指數為：

　
: $\exp(B)=P\exp(J)P^{-1}=P{\begin{bmatrix}e^{4}&0&0\\0&e^{16}&e^{16}\\0&0&e^{16}\end{bmatrix}}P^{-1}={1 \over 4}{\begin{bmatrix}13e^{16}-e^{4}&13e^{16}-5e^{4}&2e^{16}-2e^{4}\\-9e^{16}+e^{4}&-9e^{16}+5e^{4}&-2e^{16}+2e^{4}\\16e^{16}&16e^{16}&4e^{16}\end{bmatrix}}$

## 應用

### 線性微分方程

矩陣指數在解線性微分方程時十分有用。前面曾提到，以下形式的微分方程

　
: $\mathbf {y} '=C\mathbf {y} $

具有解 _e_C_t__y(0)_。如果我們考慮以下向量

　
: $\mathbf {y} (t)={\begin{bmatrix}y_{1}(t)\\\vdots \\y_{n}(t)\end{bmatrix}}$

我們就可以把線性微分方程表示為：

　
: $\mathbf {y} '(t)=A\mathbf {y} (t)+\mathbf {b} (t)$

如果我們作一個猜想，把兩邊乘以一個積分因子 _e_−_At_，便得到：

　
: $e^{-At}\mathbf {y} '-e^{-At}A\mathbf {y} =e^{-At}\mathbf {b} $

　
: ${\frac {d}{dt}}(e^{-At}\mathbf {y} )=e^{-At}\mathbf {b} $

如果我們可以計算 _e_At，那麼就得到了微分方程的解。

#### 例子（齊次）

假設我們有以下的微分方程組：

　
: ${\begin{matrix}x'&=&2x&-y&+z\\y'&=&&3y&-1z\\z'&=&2x&+y&+3z\end{matrix}}$

相關的矩陣為：

　
: $M={\begin{bmatrix}2&-1&1\\0&3&-1\\2&1&3\end{bmatrix}}$

在以上的例子中，我們計算了矩陣指數

　
: $e^{tM}={\begin{bmatrix}2e^{t}-2te^{2t}&-2te^{2t}&0\\-2e^{t}+2(t+1)e^{2t}&2(t+1)e^{2t}&0\\2te^{2t}&2te^{2t}&2e^{t}\end{bmatrix}}$

因此微分方程組的通解為：

　
: ${\begin{bmatrix}x\\y\\z\end{bmatrix}}=C_{1}{\begin{bmatrix}2e^{t}-2te^{2t}\\-2e^{t}+2(t+1)e^{2t}\\2te^{2t}\end{bmatrix}}+C_{2}{\begin{bmatrix}-2te^{2t}\\2(t+1)e^{2t}\\2te^{2t}\end{bmatrix}}+C_{3}{\begin{bmatrix}0\\0\\2e^{t}\end{bmatrix}}$

也就是說，

　
: ${\begin{aligned}x&=C_{1}(2e^{t}-2te^{2t})+C_{2}(-2te^{2t})\\y&=C_{1}(-2e^{t}+2(t+1)e^{2t})+C_{2}(2(t+1)e^{2t})\\z&=(C_{1}+C_{2})(2te^{2t})+2C_{3}e^{t}\end{aligned}}$

#### 非齊次的情況──參數變換

對於非齊次的情況，我們可以用積分因子的方法（類似於參數變換的方法）。我們找到形為_**y**_p(_t_) = exp(_tA_)_**z**_(_t_) 一個特解：

　
: $\mathbf {y} _{p}'=(e^{tA})'\mathbf {z} (t)+e^{tA}\mathbf {z} '(t)$

　
: $=Ae^{tA}\mathbf {z} (t)+e^{tA}\mathbf {z} '(t)$

　
: $=A\mathbf {y} _{p}(t)+e^{tA}\mathbf {z} '(t)$

為了讓_**y**_p 為方程的解，必須有：

　
: $e^{tA}\mathbf {z} '(t)=\mathbf {b} (t)$

　
: $\mathbf {z} '(t)=(e^{tA})^{-1}\mathbf {b} (t)$

　
: $\mathbf {z} (t)=\int _{0}^{t}e^{-uA}\mathbf {b} (u)\,du+\mathbf {c} $

因此，

　
: ${\begin{aligned}\mathbf {y} _{p}&{}=e^{tA}\int _{0}^{t}e^{-uA}\mathbf {b} (u)\,du+e^{tA}\mathbf {c} \\&{}=\int _{0}^{t}e^{(t-u)A}\mathbf {b} (u)\,du+e^{tA}\mathbf {c} \end{aligned}}$

其中_**c**_由問題的初始條件決定。

#### 例子（非齊次）

假設我們有以下的微分方程組：

　
: ${\begin{matrix}x'&=&2x&-y&+z&+e^{2t}\\y'&=&&3y&-1z&\\z'&=&2x&+y&+3z&+e^{2t}\end{matrix}}$

那麼我們有

　
: $M={\begin{bmatrix}2&-1&1\\0&3&-1\\2&1&3\end{bmatrix}}$

以及

　
: $\mathbf {b} =e^{2t}{\begin{bmatrix}1\\0\\1\end{bmatrix}}$

用前面的方法，我們可以得出齊次微分方程的解。由於齊次方程的通解與非齊次方程的特解的和就是非齊次方程的通解，因此我們只需要找到一個特解（用參數變換法）。

我們有：

　
: $\mathbf {y} _{p}=e^{t}\int _{0}^{t}e^{(-u)M}{\begin{bmatrix}e^{2u}\\0\\e^{2u}\end{bmatrix}}\,du+e^{tM}\mathbf {c} $

　
: $\mathbf {y} _{p}=e^{t}\int _{0}^{t}{\begin{bmatrix}2e^{u}-2ue^{2u}&-2ue^{2u}&0\\\\-2e^{u}+2(u+1)e^{2u}&2(u+1)e^{2u}&0\\\\2ue^{2u}&2ue^{2u}&2e^{u}\end{bmatrix}}{\begin{bmatrix}e^{2u}\\0\\e^{2u}\end{bmatrix}}\,du+e^{tM}\mathbf {c} $

　
: $\mathbf {y} _{p}=e^{t}\int _{0}^{t}{\begin{bmatrix}e^{2u}(2e^{u}-2ue^{2u})\\\\e^{2u}(-2e^{u}+2(1+u)e^{2u})\\\\2e^{3u}+2ue^{4u}\end{bmatrix}}+e^{tM}\mathbf {c} $

　
: $\mathbf {y} _{p}=e^{t}{\begin{bmatrix}-{1 \over 24}e^{3t}(3e^{t}(4t-1)-16)\\\\{1 \over 24}e^{3t}(3e^{t}(4t+4)-16)\\\\{1 \over 24}e^{3t}(3e^{t}(4t-1)-16)\end{bmatrix}}+{\begin{bmatrix}2e^{t}-2te^{2t}&-2te^{2t}&0\\\\-2e^{t}+2(t+1)e^{2t}&2(t+1)e^{2t}&0\\\\2te^{2t}&2te^{2t}&2e^{t}\end{bmatrix}}{\begin{bmatrix}c_{1}\\c_{2}\\c_{3}\end{bmatrix}}$

進一步簡化，就可以得到原方程的特解。

## 註釋

## 參考文獻

## 參閱

## 外部連結

* 埃里克・韋斯坦因. Matrix Exponential. MathWorld.
* 矩陣指數的教程