【固有値編】対称行列の対角化の性質と必ず対角化できる理由

こんにちは、おぐえもん(@oguemon_com)です。

前回の記事では、行列の対角化とは何かについて説明しました!

行列の対角化って、全ての行列でできる訳ではありません。しかし、対称行列を相手にするなら絶対に対角化することができるのです。

今回は、「対称行列」の対角化にフォーカスを当てて、その性質などを見ていきたいと思います。

要約

今回の記事で言いたいことは次の二つです。

  • 対称行列は直交行列を使えば絶対に対角化できますよ
  • 逆に直交行列は対称行列以外の行列を対角化できませんよ

この結論を得ただけで満足な方は次の記事へ進みましょう笑

一方で、"その心"を知りたい方は以降の説明をどうぞ!

行列のおさらい

今回は、対称行列と直交行列がキーになるので一旦復習しましょう。

対称行列とは

対称行列とは、行列の対角成分を軸に右上と左下が対称になっている正方行列(正方形の行列)のことです(例えばこんなん ↓)。

A=[16467124123]A = \left[ \begin{array}{ccc} 1 & 6 & 4 \\ 6 & 7 & 12 \\ 4 & 12 & 3 \end{array} \right]

もう少し厳密に言うなら、転置にしても変わらない行列のことです(次式が成り立ちます)。

tA=A{}^tA=A

そもそも行列の成分は、実数だったり複素数(虚数iiを含む数)だったりするわけですが、ここでは実数の成分だけをもつ行列を扱います。実数のみを成分として持つ行列のことを特に実対称行列と呼びます。

直交行列とは

直交行列とは、転置との積が単位行列EEになる行列です。

tAA=E{}^tAA=E

つまり、転置が逆行列そのものである行列のことを言います。

tA=A1{}^tA=A^{-1}

対称行列は直交行列で対角化できる!?

さて、前置きで語った通り、行列の対角化は、必ずしも全ての行列でできる訳ではありません。しかし、対称行列ならば直交行列を使うことで、絶対に対角化することができるのです。

直交行列で対角化できる理由は、行列がもつ次の 2 つ性質を組み合わせて説明できます。

  1. 固有値が全て実数の行列は三角化可能
  2. 実対称行列の固有値は全て実数

性質1. 固有値が全て実数の行列は三角化可能

実正方行列(成分が全て実数の正方形な行列)の中でも、固有値が全て実数であるものは、適当な直交行列を用いることで「三角化」できることが知られています。三角化とは、「P1APP^{-1}AP」を計算して、対角成分の左下が全てゼロになるような行列を作る作業のことを言います。

例えばこんなん ↓

P1AP=[1640712003]P^{-1}AP = \left[ \begin{array}{ccc} 1 & 6 & 4 \\ 0 & 7 & 12 \\ 0 & 0 & 3 \end{array} \right]

三角化については以下の記事で解説しています。

【固有値編】正方行列の三角化とは?方法と計算例も紹介

【固有値編】正方行列の三角化とは?方法と計算例も紹介
【固有値編】正方行列の三角化とは?方法と計算例も紹介
おぐえもん.com

性質2. 実対称行列の固有値は全て実数

実対称行列は固有値として複素数を含みません!つまり、実対称行列は「性質 1」の対象となる行列なんですね。

この性質が成り立つ理由は、複素数の固有値が存在すると仮定して、その共役(虚数部分の+ − を変えたもの)と比較することで示せます。以下は簡単な証明です(どうでも良いなら飛ばしてください)

簡単な証明

まず、実対称行列AAが持つ複素数の固有値の 1 つをλ\lambdaとします。また、この固有値の共役をλˉ\bar{\lambda}とします。

λ\lambdaは固有値なので、「Ax=λxA\boldsymbol{x} = \lambda\boldsymbol{x} 」が成り立ちます。この式は、両辺の各要素を共役に置き換えても成立します。つまり、「Aˉxˉ=λˉxˉ\bar{A}\bar{\boldsymbol{x}} = \bar{\lambda}\bar{\boldsymbol{x}}」も成り立ちます。

AAの成分は全て実数(虚数部分が 0)なので、A=AˉA=\bar{A}です。よって、上の式は次のように変えられます。

Axˉ=λˉxˉA\bar{\boldsymbol{x}} = \bar{\lambda}\bar{\boldsymbol{x}}

次に両辺の転置を考えます。2 行列について「t(AB)=tBtA{}^t(AB)= {}^tB{}^tA」が成り立つこと、実対称行列AAは「A=tAA= {}^tA」であることに注意すると、次式が成立します。

txˉA=λˉtxˉ{}^t\bar{\boldsymbol{x}}A = \bar{\lambda} {}^t\bar{\boldsymbol{x}}

ここで、突然ですが「λˉtxˉx\bar{\lambda}{}^t\bar{\boldsymbol{x}}\boldsymbol{x}」をちまちま変形します。

λˉtxˉx=txˉAx=txˉλx=λtxˉx\bar{\lambda}{}^t\bar{\boldsymbol{x}}\boldsymbol{x} ={}^t\bar{\boldsymbol{x}}A\boldsymbol{x} ={}^t\bar{\boldsymbol{x}}\lambda\boldsymbol{x} =\lambda{^t\bar{\boldsymbol{x}}}\boldsymbol{x}

よって、λˉtxˉx=λtxˉx\bar{\lambda}{}^t\bar{\boldsymbol{x}}\boldsymbol{x} = \lambda {}^t\bar{\boldsymbol{x}}\boldsymbol{x}が成立します。

ところで、「txˉx{}^t\bar{\boldsymbol{x}}\boldsymbol{x}」は、互いに共役の関係にある 2 ベクトルの内積(つまりスカラー)です。「(a+bi)(abi)=a2+b2>0(a+bi)(a-bi)=a^2+b^2>0」より、

txˉx=x1ˉx1++xnˉxn>0{}^t\bar{\boldsymbol{x}}\boldsymbol{x} = \bar{x_1}{x_1}+\ldots+\bar{x_n}{x_n}>0

が成立します。よって、txˉx0{}^t\bar{\boldsymbol{x}}\boldsymbol{x} \neq 0なので、「λˉtxˉx=λtxˉx\bar{\lambda} {}^t\bar{\boldsymbol{x}}\boldsymbol{x} = \lambda{}^t\bar{\boldsymbol{x}}\boldsymbol{x}」の両辺から内積を割って、

λ=λˉ\lambda = \bar{\lambda}

となります。

共役と値が同じということは、λ\lambdaの虚数部分は 0、つまり固有値λ\lambdaは実数ということを表します。

対角化ができるワケ

さて、この 2 つを組み合わせると、対角化できるワケがわかります。

性質 2 より、実対称行列は固有値が全部実数なので、性質 1 より、実対称行列は三角化ができることがわかります。つまり、実対称行列AAに対して、ある直交行列PPを用意することで、次の式のように三角化できます。

P1AP=[a11a12a1n0a22a2n00ann]P^{-1}AP= \left[ \begin{array}{cccc} a_{11} & a_{12} & \ldots & a_{1n} \\ 0 & a_{22} & \ldots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \ldots & a_{nn} \end{array} \right]

次は左辺の転置を考えます。ちまちま式変形をしましょう。ここで、PPは直交行列なので「PtP=EP{}^tP=E」つまり、「P1=tPP^{-1}={}^tP」が成り立つこと、そしてAAは対称行列なのでA=tAA={}^tAが成り立つことに注意してくださいね。

t(P1AP)=(tPtAtP1)=P1AP{}^t(P^{-1}AP) = ({}^tP{}^tA{}^tP^{-1}) = P^{-1}AP

これより、「t(P1AP)=P1AP{^t(P^{-1}AP)}=P^{-1}AP」要するに P1APP^{-1}APが対称行列であることが示されました。

  • P1APP^{-1}APは左下が全部ゼロの三角行列である
  • P1APP^{-1}APは対称行列である

の 2 点から、P1APP^{-1}APは右上もゼロであることがわかります。これは**P1APP^{-1}APが対角行列であることに他なりません**。

ゆえに、実対称行列AAは直交行列を用いて対角化できることが言えます。

直交行列が対角化できるのは対称行列だけ!

対称行列は、直交行列を用いて対角化できます。逆に、直交行列を用いて対角化できる行列は対称行列しかありません。これも簡単な式変形で示せます。

下式のPPは、AAを対角化するのに用いる直交行列です。もちろん、P1APP^{-1}APは対角行列(対角成分以外がゼロで揃っているので対称行列でもある)ですよ。

P1AP=t(P1AP)=t(tPAP)=tPtAP=P1tAPP^{-1}AP={}^t(P^{-1}AP)={}^t({}^tPAP)={}^tP{}^tAP=P^{-1}{}^tAP

上の式の左端と右端から、下式が成立します。

P1AP=P1tAPP^{-1}AP=P^{-1}{}^tAP

両辺に対して、左からPPを、右からP1P^{-1}を掛けると、「A=tAA={}^tA」になります。つまり、直交行列で対角化できた場合、AAは対称行列であるということがわかります。

前の項で述べた「対称行列なら直交行列で対角化できる」って話と組み合わせると、直交行列による対角化と、対称行列の間には、次のような同値関係が成立します。

直交行列による対角化の必要十分条件

nn次の実正方行列AAについて、

AAが対称行列である \Longleftrightarrow AAは直交行列によって対角化可能

おわりに

今回は、対称行列の対角化にフォーカスを当てて、その性質を簡単に説明しました。

要するに、対称行列は直交行列を使えば絶対対角化できますよって話と、直交行列は対称行列に対してじゃないと対角化できませんよって話の 2 つを抑えられれば OK です。

次回は、対角化よりも少し弱い変形である「三角化」について扱います!

>>行列の三角化とは?方法と計算例も紹介

▲ トップへ戻る