跡

在線性代數中，一個$n \times n$的矩陣$\mathbf{A}$的跡（或跡數），是指$\mathbf{A}$的主對角線（從左上方至右下方的對角線）上各個元素的總和，一般記作$\operatorname{tr}(\mathbf{A})$或$\operatorname{Sp}(\mathbf{A})$：

$$\operatorname{tr}(\mathbf{A}) = \sum_{i=1}^n \mathbf{A}_{i, i} = \mathbf{A}_{1, 1} + \mathbf{A}_{2, 2} + \cdots + \mathbf{A}_{n, n}$$

其中$\mathbf{A}_{i, j}$代表矩陣的第$i$行$j$列上的元素的值。一個矩陣的跡是其特徵值的總和（按代數重數計算）。

跡的英文為trace，是來自德文中的Spur這個單字（與英文中的Spoor是同源詞），在數學中，通常簡寫為「Sp」或「tr」。

## 例子

設有矩陣：

$$\mathbf{A} = \begin{bmatrix} 3 & 5 & 1\\0 & 9 & 2\\7 & 6 & 4 \end{bmatrix}$$

它的跡是：

$$\operatorname{tr}(\mathbf{A}) = \operatorname{tr} \begin{bmatrix} 3 & 5 & 1\\0 & 9 & 2\\7 & 6 & 4 \end{bmatrix} = 3 + 9 + 4 = 16$$

## 性質

### 線性函數

給定一個環$\mathbb{R}$，跡是一個從係數在環中的$n \times n$矩陣的空間$\mathcal{M}_n(\mathbb{R})$射到環$\mathbb{R}$之上的線性算子。也就是說，對於任兩個$n \times n$的矩陣$\mathbf{A}$、$\mathbf{B}$和純量$r$，都有：

$$\mathrm{tr}(\mathbf{A} + \mathbf{B}) = \mathrm{tr}(\mathbf{A}) + \mathrm{tr}(\mathbf{B})$$

$\mathrm{tr}(r \cdot \mathbf{A} ) = r \cdot \mathrm{tr}(\mathbf{A})$

更進一步來說，當$\mathbb{R}$是一個域時，跡數函數$\mathrm{tr}$是$n \times n$矩陣的空間$\mathcal{M}_n(\mathbb{R})$上的一個線性泛函。

由於一個矩陣$\mathbf{A}$的轉置矩陣$\mathbf{A}^T$的主對角線元素和原來矩陣的主對角線元素是一樣的，所以任意一個矩陣和其轉置矩陣都會有相同的跡：

$$\mathrm{tr}(\mathbf{A} ) = \mathrm{tr}\left(\mathbf{A}^T \right)$$

### 矩陣乘積的跡數

設$\mathbf{A}$是一個$n \times m$矩陣，$\mathbf{B}$是個$m \times n$矩陣，則：

$\mathrm{tr}(\mathbf{AB} ) = \mathrm{tr}(\mathbf{BA})$

其中$\mathbf{AB}$是一個$n \times n$矩陣，而$\mathbf{BA}$是一個$m \times m$矩陣。

上述的性質可以由矩陣乘法的定義證明：

$$\mathrm{tr}(\mathbf{AB}) = \sum_{i=1}^n (\mathbf{AB})_{i, i} = \sum_{i=1}^n \sum_{j=1}^m \mathbf{A}_{i, j} \mathbf{B}_{j, i} = \sum_{j=1}^m \sum_{i=1}^n \mathbf{B}_{j, i} \mathbf{A}_{i, j} = \sum_{j=1}^m (\mathbf{BA})_{j, j} = \mathrm{tr}(\mathbf{BA})$$

如果$\mathbf{A}$和$\mathbf{B}$都是$n \times n$的方形矩陣，那麼它們的乘積$\mathbf{AB}$和$\mathbf{BA}$也會是方形矩陣。因此，利用這個結果，可以推導出：計算若干個同樣大小的方形矩陣的乘積的跡數時，可以循環改變乘積中方形矩陣相乘的順序，而最終的結果不變。例如，有三個方形矩陣$\mathbf{A}$、$\mathbf{B}$和$\mathbf{C}$，則：

$\mathrm{tr}(\mathbf{ABC} ) = \mathrm{tr}(\mathbf{BCA}) = \mathrm{tr}(\mathbf{CAB})$

但是要注意：

$\mathrm{tr}(\mathbf{ABC} ) \neq \mathrm{tr}(\mathbf{ACB})$

更一般地，乘積中的矩陣不一定要是方形矩陣，只要某一個循環改變後的乘積依然存在，那麼得到的跡數依然會和原來的跡數相同。

另外，如果$\mathbf{A}$、$\mathbf{B}$和$\mathbf{C}$是同樣大小的方陣而且還是對稱矩陣的話，那麼其乘積的跡數不只在循環置換下不會改變，而且在所有的置換下都不會改變：

$$\mathrm{tr}(\mathbf{ABC} ) = \mathrm{tr}(\mathbf{BCA}) = \mathrm{tr}(\mathbf{CAB}) = \mathrm{tr}(\mathbf{ACB} ) = \mathrm{tr}(\mathbf{CBA}) = \mathrm{tr}(\mathbf{BAC})$$

### 跡數的相似不變性

跡數擁有相似不變性。如果矩陣$\mathbf{A}$和$\mathbf{B}$相似的話，它們會有相同的跡。這一性質可使上面講過的循環性質來證明：

矩陣$\mathbf{A}$和$\mathbf{B}$相似也就是說存在可逆矩陣$\mathbf{P}$，使得$\mathbf{B} =\mathbf{P}\mathbf{A} \mathbf{P}^{-1}$

因此$\mathrm{tr}(\mathbf{B} ) = \mathrm{tr}(\mathbf{P}\mathbf{A} \mathbf{P}^{-1}) = \mathrm{tr}(\mathbf{P}^{-1} \mathbf{P}\mathbf{A}) = \mathrm{tr}(\mathbf{A})$

### 矩陣跡數和特徵多項式

一個$n \times n$的方形矩陣$\mathbf{A}$的特徵多項式$P_{A}(\lambda)$定義為$\mathbf{A}$減去$\lambda$倍的單位矩陣後所得到的矩陣的行列式：

$P_{A}(\lambda) = \det(\mathbf{A} - \lambda \mathbf{I})$ 特徵多項式是一個關於$\lambda$的n次多項式，它的常數項是$\mathbf{A}$的行列式的值，最高次項是$(-1)^n \lambda^n$，而接下來的n-1次項就是$(-1)^{n-1} \mathrm{tr}( \mathbf{A}) \lambda^{n-1}$，也就是說：

$P_{A}(\lambda) = (-1)^n \lambda^n + (-1)^{n-1} \mathrm{tr}( \mathbf{A}) \lambda^{n-1} + \cdots + \det(\mathbf{A})$

### 矩陣跡數與特徵值

當係數域是代數閉域時（否則可以將係數域擴展到其代數閉包上來看），特徵多項式$P_{A}(\lambda)$有n個根，它可以表達成：

$P_{A}(\lambda) = (-1)^n(\lambda - r_1)^{\alpha_1}(\lambda - r_2)^{\alpha_2} \cdots (\lambda - r_k)^{\alpha_k}$

其中的$r_1,r_2 \cdots r_k$是特徵多項式的不同的根，而$\alpha_1,\alpha_2 \cdots \alpha_k$是這些根在特徵多項式裡的重數，稱為代數重數。顯然，所有代數重數加起來等於n。一方面，特徵多項式的根就是矩陣的特徵值，而另一方面，藉由根與多項式係數的關係可以知道：特徵多項式的所有的根加起來等於矩陣的跡數。所以矩陣的跡數是矩陣的所有特徵值（按照代數重數計算）的和。

$\mathrm{tr}( \mathbf{A}) = \alpha_1 r_1 + \alpha_2 r_2 + \cdots + \alpha_k r_k$

如果將矩陣寫成它的若爾當標準型的話，也可以看出這一點，因為若爾當標準型的特徵多項式的所有的根（包括重根）就是對角線上的所有元素。

如果不區分相同或不同的特徵值的話，上述關係也可以寫成：

$\mathrm{tr}( \mathbf{A}) = \lambda_1 + \lambda_2 + \cdots + \lambda_n$ 其中的$\lambda_1,\lambda_2 \cdots \lambda_n$是矩陣的特徵值。

而且有：

$\forall m \in \mathbb{N}, \mathrm{tr}( \mathbf{A}^m) = \lambda_1^m + \lambda_2^m + \cdots + \lambda_n^m$

## 線性映射的跡數

設係數域為$\mathbb{K}$的$\mathbb{V}$是一個有限維的向量空間，維數是n。給定任一線性映射$f : \mathbb{V}\rightarrow \mathbb{V}$，可以定義此一映射的跡數為其變換矩陣的跡，即選定$\mathbb{V}$的一個基底並用對應於此基底的一個方形矩陣描述$f$，再定義這個方形矩陣的跡數為$f$的跡數。這個定義下$f$的跡數和所選取的基無關：只需要注意到不同的基底的選取實際上等價於對變換矩陣做一次相似變換，而兩個相似的矩陣的跡數是一樣的。因此這樣的定義是自洽的。

另外一種定義涉及到行列式的性質。考慮$\mathbb{V}$的一個基底$\mathcal{B} = (e_1, e_2, \cdots , e_n)$，以及函數：

$Sp : \; \; \; \quad \mathbb{V}^n \qquad \; \quad \longrightarrow \quad \qquad \qquad \qquad \mathbb{K} \qquad \qquad \qquad,$

$Sp :(x_1, x_2, \cdots , x_n) \longmapsto \sum_{i=1}^n \det(x_1, x_2, \cdots , f(x_i),\cdots ,x_n)$

根據行列式理論，這個函數也是一個行列式型的函數，也就是說存在一個只取決於$f$的量$\mathrm{Sp} (f)$，使得$Sp(x_1, x_2, \cdots , x_n) = \mathrm{Sp} (f) \cdot \det(x_1, x_2,\cdots ,x_n)$ 可以證明，這個純量$\mathrm{Sp} (f)$就等於之前定義的$f$的跡數。

## 跡的梯度

由跡的定義可知跡可以看作是矩陣的實標量函數，所以我們可以通過求實標量函數的梯度來求跡的梯度。

### 單個矩陣

- A是m×m矩陣時，有$\frac { \partial \mathrm{tr}(\mathbf{A}) }{ \partial \mathbf{A} } ={ \mathbf{I} }_{ m }$
- m×m矩陣A可逆時，有$\frac { \partial \mathrm{tr}(\mathbf{A}^{-1}) }{ \partial \mathbf{A} } =-( \mathbf{A}^{-2} )^T$
- 對於兩個向量x和y的外積，有$\frac { \partial \mathrm{tr}(\boldsymbol{xy}^T) }{ \partial \boldsymbol{x} }=\frac { \partial \mathrm{tr}(\boldsymbol{yx}^T) }{ \partial \boldsymbol{x} } =\boldsymbol{y}$

### 兩個矩陣

- 若A為m×n矩陣，有$\frac { \partial \mathrm{tr}(\mathbf{A}\mathbf{A}^T) }{ \partial \mathbf{A} }=\frac { \partial \mathrm{tr}(\mathbf{A}^T\mathbf{A}) }{ \partial \mathbf{A} } =2\mathbf{A}$
- 若A為m×m矩陣，有$\frac { \partial \mathrm{tr}(\mathbf{A}^2) }{ \partial \mathbf{A} }=\frac { \partial \mathrm{tr}(\mathbf{A}\mathbf{A}) }{ \partial \mathbf{A} } =2\mathbf{A}^T$
- 若A為m×n矩陣，B是m×n矩陣，有$\frac { \partial \mathrm{tr}(\mathbf{A}^T\mathbf{B}) }{ \partial \mathbf{A} }=\frac { \partial \mathrm{tr}(\mathbf{B}\mathbf{A}^T) }{ \partial \mathbf{A} } =\mathbf{B}$
- 若A為m×n矩陣，B是n×m矩陣，有$\frac { \partial \mathrm{tr}(\mathbf{A}\mathbf{B}) }{ \partial \mathbf{A} }=\frac { \partial \mathrm{tr}(\mathbf{B}\mathbf{A}) }{ \partial \mathbf{A} } =\mathbf{B}^T$
- 當A和B均為對稱矩陣時，有$\frac { \partial \mathrm{tr}(\mathbf{A}\mathbf{B}) }{ \partial \mathbf{A} }=\frac { \partial \mathrm{tr}(\mathbf{B}\mathbf{A}) }{ \partial \mathbf{A} } =\mathbf{B}+\mathbf{B}^T-diag(\mathbf{B})$
- 若A和B都是m×m矩陣，並且A是非奇異矩陣，有$\frac { \partial \mathrm{tr}(\mathbf{B}\mathbf{A}^{-1}) }{ \partial \mathbf{A} }=-(\mathbf{A}^{-1}\mathbf{B}^T\mathbf{A}^{-1})^T$