1. ホーム
  2. プログラマーのための線形代数
  3. 行列の操作
  4. 行列のトレース

行列のトレース

ここでは機械学習でよく行うことになる行列操作の一つであるトレースについて解説します。

当ページで学ぶこと

  • 行列のトレースとは
  • Pythonで行列のトレース
目次

行列のトレースとは

トレースとは、正方行列の対角成分の値の合計のことです。正方行列のトレースを求める演算は、以下のように表記されます。

\[{\rm tr}(A)\]

例えば、以下の \(3 \times 3\) 行列 \(A\) のトレースは次のように求められます。

\[
A
=
\begin{bmatrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9
\end{bmatrix}\\
\]

\[\begin{eqnarray}
{\rm tr}(A)
&=&
A[0,0]+A[1,1]+A[2,2]\\
&=&
1 + 5 + 9 = 15
\end{eqnarray}\]

トレースはこれ単体では興味深いものではありませんが、他の重要な行列の演算の要素になります。

Pythonで行列のトレース

Python では Numpy の trace() 関数で求めることができます。

In [1]:
# NumPy のインポート
import numpy as np

# 行列の定義
A = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(A)
[[1 2 3]
 [4 5 6]
 [7 8 9]]
In [2]:
# トレースの計算
B = np.trace(A)
print(B)
15