ト部蛸焼のブログ

日頃知ったことをアウトプットするためのブログ

対称行列と反対称行列の固有値

すぐそこに迫っている院試の過去問を解いていたら,反対称行列の固有値に関して気になる性質を知ったので記事にします*1

導入

固有値

定義正方行列 A \in \mathbb{C}^{n \times n}に対して,\begin{align}
A \boldsymbol{x} = \lambda \boldsymbol{x}
\end{align}を満たす \lambda \in \mathbb{C}のことを行列 A固有値 (eigenvalue) *2 \boldsymbol{x} \in \mathbb{C}^{n} \setminus \{ \boldsymbol{0} \} \lambdaに対応する固有ベクトル (eigenvector) といいます。

試しに次の行列の固有値を計算してみます。\begin{align}
A = \begin{pmatrix}
-3 & 0 & 0 \\
-2 & -3 & 1 \\
2 & -3 & -3
\end{pmatrix}.
\end{align}固有値の計算には,固有値が次の方程式の解であるという性質を使います。この方程式を固有方程式あるいは特性方程式 (characteristic equation) と言います。
\begin{align}
\operatorname{det} (xI - A) = 0.
\end{align}先の行列Aに対して,固有方程式は\begin{align}
(x+3)(x^{2} + 6 x + 12) = 0
\end{align}と変形されます。これを解いて,固有値 -3, -3 \pm \sqrt{3} \mathrm{i}と分かります。

この例からも分かるように実行列の固有値は必ずしも実数になるとは限りません*3

対称行列と反対称行列

定義 Aを実行列とし,行列の転置を A^{\top}と表すとき, A^{\top} = Aなる行列 A対称行列 (symmetric matrix)  A^{\top} = - Aなる行列 A反対称行列 (anti-symmetric matrix) *4といいます。

以後は,単に「対称行列」や「反対称行列」といえば,それは実行列を考えているものとします。


対称行列の固有値

対称行列では次の性質が成立します。

定理対称行列の固有値はすべて実数である。

証明
 \lambdaを対称行列 A固有値 \lambdaに対応する固有ベクトル \boldsymbol{x}とする。固有値の定義の式の両辺に左から \boldsymbol{x}の随伴*5である \boldsymbol{x}^{*}をかけて, \lambdaについて解くと,
\begin{align}
\lambda = \frac{\boldsymbol{x}^{*} A \boldsymbol{x}}{\boldsymbol{x}^{*} \boldsymbol{x}}.
\end{align} Aが実行列であることに注意すると,
\begin{align}
\lambda^{*} = \left( \frac{\boldsymbol{x}^{*} A \boldsymbol{x}}{\boldsymbol{x}^{*} \boldsymbol{x}} \right)^{*} = \frac{\boldsymbol{x}^{*} A^{*} \boldsymbol{x}}{\boldsymbol{x}^{*} \boldsymbol{x}} = \frac{\boldsymbol{x}^{*} A \boldsymbol{x}}{\boldsymbol{x}^{*} \boldsymbol{x}} = \lambda.
\end{align}よって, \lambdaは実数。


この性質は割と有名かと思います。上の証明で実際に使われた性質は A^{*} = Aという性質です。 A^{*} = Aを満たす行列AのことをHermite行列 (Hermitian matrix) *6と言いますが,上の証明から,Hermite行列の固有値もすべて実数であることも従います。


反対称行列の固有値

反対称行列では次の性質が成り立ちます。

定理反対称行列の固有値はすべて実部が0である。

証明
 \lambdaを反対称行列 B固有値として, \lambdaに対応する固有ベクトル \boldsymbol{x}とする。先と同じく
\begin{align}
\lambda = \frac{\boldsymbol{x}^{*} B \boldsymbol{x}}{\boldsymbol{x}^{*} \boldsymbol{x}}
\end{align}に対して,\begin{align}
\lambda^{*} = \left( \frac{\boldsymbol{x}^{*} B \boldsymbol{x}}{\boldsymbol{x}^{*} \boldsymbol{x}} \right)^{*}
= \frac{\boldsymbol{x}^{*} B^{*} \boldsymbol{x}}{\boldsymbol{x}^{*} \boldsymbol{x}}
= - \frac{\boldsymbol{x}^{*} B \boldsymbol{x}}{\boldsymbol{x}^{*} \boldsymbol{x}}
= - \lambda.
\end{align}よって,\begin{align}
\operatorname{Re} \lambda = \frac{\lambda + \lambda^{*}}{2} = 0
\end{align}である。


証明の流れは先と全く同じでした。したがって,ここでも B^{*} = - Bという性質が鍵になっています。 B^{*} = -Bを満たす行列Bのことを反Hermite行列 (anti-Hermitian matrix) *7と言いますが,上の証明から,反Hermite行列の固有値もすべて実部が0であることも従います。

もう一つ,反対称行列の固有値に関する定理を紹介します。

定理 \lambdaが反対称行列 B固有値であるとき, - \lambda B固有値である。

証明
固有値の定義の式の両辺を -1倍すると\begin{align}
A^{\top} \boldsymbol{x} = -A \boldsymbol{x} = - \lambda \boldsymbol{x}.
\end{align}これは - \lambda A^{\top}固有値であることを示している。固有値は転置をとっても変化しないので, - \lambda A固有値である*8


上の証明により,反対称行列Bについてさらに次のことも言えます。

固有値\lambdaに属する固有ベクトル\boldsymbol{x}をとると,それは同時に-\lambdaに属する固有ベクトルにもなっています。いまもし,Bが正則であるとすると,固有値に0は含まれないので,それらはすべて \pm \lambda \mathrm{i}という形になります。このプラスマイナスの2つは重複度が等しく,重複度の和は偶数です。よって,すべての固有値の重複度の和,これはBのサイズに等しくなりますが,これも偶数になります。したがって,対偶をとることで次の定理を得ます。

定理奇数次反対称行列 Bは特異*9

ちなみに,この定理は行列式を使うとスムーズに証明ができますので,その証明も補足しておきましょう。

証明
 B行列式 \operatorname{det}Bと書く。行列式は転置操作に対して不変であり,行列のある1行または1列を -1倍すると行列式 -1倍になる。このことから, B 2k+1次反対称行列とすると,\begin{align}
\operatorname{det} B = \operatorname{det} B^{\top} = \operatorname{det} (-B) = (-1)^{2k+1} \operatorname{det} B = -\operatorname{det} B.
\end{align}よって,\begin{align}
\operatorname{det} B = 0.
\end{align}これより Bには逆行列が存在しない,つまり, Bは特異であることが従う。


なお,偶数次の反対称行列の正則性は一概には判定できません。例えば次の2つの反対称行列B_{1}, B_{2}を考えてみると,B_{1}は正則ですが,B_{2}は特異です。
\begin{align}
B_{1} = \begin{pmatrix}
0 & 2 & 0 & 1 \\
-2 & 0 & 1 & -2 \\
0 & -1 & 0 & -1 \\
-1 & 2 & 1 & 0
\end{pmatrix}, \quad
B_{2} = \begin{pmatrix}
0 & 1 & 0 & 1 \\
-1 & 0 & 1 & -1 \\
0 & -1 & 0 & -1 \\
-1 & 1 & 1 & 0
\end{pmatrix}.
\end{align}


まとめ

  • 対称行列の固有値虚部が0
  • 反対称行列の固有値実部が0
  • 反対称行列の固有値プラスマイナスがセットになる
  • 奇数次の反対称行列は特異

*1:今回はこういった動機から,あまり対称行列の固有値については触れていませんが,本来は対称行列の固有値のほうが多く取り上げられる話題です。例えば,対称行列の一つのクラスである「正定値行列」は固有値がすべて正になることでも知られていますし,これを少し拡張した「半正定値行列」と呼ばれる行列は連続最適化の分野では非常に大きな立ち位置を占めます。また,対称行列の固有値に関して最も基本的で忘れてはならないことが,「対称行列の固有ベクトルは,属する固有値が異なれば直交する」ということです。このことから,直交行列と呼ばれる逆行列が非常に計算しやすい行列によって対称行列は対角化できることが分かり,計算上で大きな役割を果たします。他にも固有値の性質を調べる際に対称行列の仮定を置くことはしばしばあります。一方,反対称行列はどちらかというとあまり日の目を見ない印象があります。とはいえ,反対称行列は調和振動子微分方程式の係数行列として出現しますので,この辺りの物理を解析する際には反対称行列のことを知っておくことは損ではないかもしれません。個人的には院試で出てきた内容だというだけでかなり重要に思えてはきますが,それには幾分かバイアスがかかっている気もします。

*2:eigenvalueという響きがどことなくドイツ風だなあと思います。

*3:この性質は実数体\mathbb{R}が代数的に閉じていない,つまり,実係数多項式の根が実数の範囲には収まりきらない,という性質から従うものです。つまり,逆に言えば,代数的に閉じている体,例えば複素数体上で考えれば固有値もその体上できちんと求まるということになります。

*4:対称行列は一般的に呼称が一意的ですが,反対称行列についてはほかに歪対称行列 (skew-symmetric matrix)交代行列 (alternating matrix)という2つの呼称が存在します。ちなみに1つ目は「わいたいしょうぎょうれつ」と読みます。「歪」は「事実を歪曲(わいきょく)する」の「わい」です。

*5:共軛転置。複素共軛をとって転置したもの。

*6:読み方が「エルミート」なのは憎い。

*7:反Hermite行列のことを「歪Hermite行列 (skew-Hermitian matrix) 」とも言います。

*8:もう一つ別の考え方をすることも可能です。実行列の固有方程式は実係数の方程式になりますから,複素解xが存在すればその複素共軛\overline{x}もこの方程式の解になります。いま,先の定理より反対称行列の固有値は実部が0ですので,複素共軛をとると元の数の-1倍になるのです。

*9:行列が特異であるとは,行列が正則でないことを意味します。