今回は$M_{n}(\mathbb{K})$($n \times n$行列)における内積について少し考えてみます。
結論から言うと行列のトレースは内積になることが簡単な計算から示せます。
これを内積の定義から始めて確かめてみましょう。
目次
内積の定義
「行列の内積って何?」と思う方もいらっしゃるかと思いますが,実は内積というのはベクトルだけでなく様々な対象について考えることが出来ます。
一般にはある空間での内積は次のように定義されます。
$\forall f,g \in \mathcal{L}$について複素数$\langle f,g \rangle$が$f,g$の内積である
$\Leftrightarrow$
$\forall f,g,h \in \mathcal{L}$及び$\forall a \in \mathbb{K}$について次の性質を満たす。
- $\langle f,g \rangle = \langle g,f \rangle^{\ast}$
- $\langle af,g \rangle = a\langle f,g \rangle$
- $\langle f+g,h \rangle = \langle f,h \rangle + \langle g,h \rangle$
- $\langle f,f \rangle \geq 0$
- $\langle f,f \rangle \Leftrightarrow f=0$
ここで$^{\ast}$は複素共役を表していますが,実ベクトル空間も包含している定義です。
よく見る$\mathbb{R}^{n}$上のベクトル同士の(標準)内積
$$
\boldsymbol{x}\cdot \boldsymbol{y} = \sum_{i=1}^{n} x_{i} y_{i}, \;\;\;\; \boldsymbol{x}, \boldsymbol{y} \in \mathbb{R}^{n}, \;\;\;\; \boldsymbol{x}, \boldsymbol{y} \in \mathbb{R}^{n}
$$
も実は上の性質を全て満たしています。
例えば性質1については
$$
\boldsymbol{x}\cdot \boldsymbol{y} = \sum_{i=1}^{n} x_{i} y_{i} = \sum_{i=1}^{n} y_{i} x_{i} = \boldsymbol{y}\cdot \boldsymbol{x}
$$
となって成り立ちます。その他も興味のある方は計算して確かめてみてください!
同じように$\mathbb{C}^{n}$上のベクトル同士の(標準)内積
$$
\boldsymbol{x}\cdot \boldsymbol{y} = \sum_{i=1}^{n} x_{i} y_{i}^{\ast}, \;\;\;\; \boldsymbol{x}, \boldsymbol{y} \in \mathbb{C}^{n}
$$
も内積の性質を満たしています。
ここで注意として,ある空間に対する内積というのは一意に決まるものではありません。
これは,内積は先に述べた内積の性質を全て満たしていればどんなものでも内積になり得るからです。
以降の議論では内積の1つを考えているということを頭の片隅に入れておくと良いかもしれません。
行列の内積
ここで行列の1つの内積を考えてみます。
まず任意の次元$n \in \mathbb{N}$について,先ほど述べた$\mathbb{K}^{n}$上の標準内積は勿論内積の性質を満たしています。
ですので$M_{n}(\mathbb{K})$を$\mathbb{K}^{n^{2}}$とみなして標準内積をとればこれは$M_{n}(\mathbb{K})$上の内積になります。
つまり行列$A = (a_{ij})$と$b = (b_{ij})$に対して,$\mathbb{K}=\mathbb{R}$のときには内積を
$$
A \cdot B = \sum_{i=1}^{n} \sum_{j=1}^{n} a_{ij} b_{ij}
$$
として,$\mathbb{K}=\mathbb{C}$のときには
$$
A \cdot B := \sum_{i=1}^{n} \sum_{j=1}^{n} a_{ij} b_{ij}^{\ast}
$$
のように定義します。これが行列を数空間と同一視したときの標準内積です。
ベクトルの内積を知っている方は納得できる形ではないでしょうか。
それではいよいよ行列のトレースと内積との関係を見てみましょう。
行列のトレースと内積
行列のトレースを次のように定義します。
$$
\mathrm{tr} A = \sum_{i=1}^{n} a_{ii}
$$
つまりトレースは正方行列の対角成分を足し合わせた数になります。
このことから日本語ではトレース(跡)以外に対角和と呼ばれることもあります。
これで準備は全て終わったのでようやく本題ですが,示したいことは以下です。
$$
\langle A, B \rangle := \mathrm{tr} (B^{H} A)
$$
は$M_{n}(\mathbb{K})$上の内積になる。
ここで$^{H}$ はエルミート転置(複素共役転置)を指します。
勿論これは$M_{n}(\mathbb{R})$の場合には
$$
\langle A, B \rangle := \mathrm{tr} (B^{T} A)
$$
となります。
それではこれがきちんと内積になっていることを見ていきましょう。
これは上でやった標準内積との関係を見ることで容易にわかります。
\begin{align}
\langle A, B \rangle &= \mathrm{tr} (B^{H} A) \\
&= \sum_{j=1}^{n} (B^{H} A \boldsymbol{e}_{j})\cdot \boldsymbol{e}_{j} \\
&= \sum_{j=1}^{n} \boldsymbol{e}_{j}^{T} B^{H} A \boldsymbol{e}_{j} \\
&= \sum_{j=1}^{n} (A \boldsymbol{e}_{j}) \cdot (B \boldsymbol{e}_{j}) \\
&= \sum_{i=1}^{n} \sum_{j=1}^{n} a_{ij} b_{ij}^{\ast} = A \cdot B
\end{align}
つまりトレースを用いて定義した内積$\langle A, B \rangle$は実は標準内積だったわけです。
標準内積は当然内積の性質を満たしますから,これは問題なく内積になっています。
まとめ
内積の定義から始めて,トレースを用いた行列同士の演算がきちんと内積の性質を満たすことを見ました。
これは標準内積と同値であることを見ましたが,トレースで書くことによって対角成分のみの計算で簡単に算出できる点でメリットがあります。
それではお疲れ様でした!