線形代数18
「固有値」「固有ベクトル」「対角化」とは?

例えば,正方行列$A=\bmat{1&2\\2&1}$に対して,正則行列$P=\bmat{1&1\\1&-1}$を用意すると,

\begin{align*} P^{-1}AP=\bmat{3&0\\0&-1} \end{align*}

と$P^{-1}AP$は対角行列になります.このように,正方行列$A$に対して,うまく正則行列$P$を用意して$P^{-1}AP$を対角行列にすることを,正方行列$A$の対角化といいます.

実は「正方行列の対角化があることによって線形代数が広く応用される分野になっている」と言っても良いくらい,正方行列の対角化は非常に応用範囲が広く線形代数の中でも特に重要です.

さて,正方行列の対角化を行うために

  • 固有値
  • 固有ベクトル

の2つの概念が鍵となっています.全ての正方行列が対角化できるわけではありませんが,「固有値」を考えれば直ちに対角化が可能であることが分かる場合もあります.

この記事では

  • 正方行列の対角化とは何か
  • 正方行列$A$のべき$A^k$の対角化を用いた計算例
  • 固有値,固有ベクトルとは何か
  • どのようなときに対角化できるか
  • 固有値,固有ベクトルの図形的な意味

を順に説明します.

オススメの入門書

以下は初学者向けのオススメの教科書です.この記事の著者も数学教室の集団授業で使っています.

手を動かしてまなぶ 線形代数

[藤岡敦 著/裳華房]

線形代数の入門書で,説明も非常に丁寧なので初学者にも読み進めやすい教科書です.

数学で初めて出会った概念で詰まった時には,具体例を考えることで理解できるようになることはよくあります.

特に線形代数は高校数学で扱ってきた数学よりも抽象度がやや増すので,いきなり抽象的に理解するよりも「具体例を理解→抽象化」という学び方が効果的です.

本書は具体例と例題が豊富で,実際に手を動かしながらイメージを掴んで抽象的に理解することを目指しています.

また,続巻も発行されていますが,この第1巻だけでも正方行列の対角化(固有値・固有ベクトル)まで学ぶことができます.

対角化と行列の冪

まずは正方行列$A$のべき$A^k$の計算に便利な対角化について説明します.

行列の冪と対角行列

例えば,$A=\bmat{1&2\\3&4}$とすると,

\begin{align*} A^2 =&A\cdot A =\bmat{1\cdot1+2\cdot3&1\cdot2+2\cdot4\\3\cdot1+4\cdot3&3\cdot2+4\cdot4} =\bmat{7&10\\15&22}, \\A^3 =&A^2\cdot A =\bmat{7\cdot1+10\cdot3&7\cdot2+10\cdot4\\15\cdot1+22\cdot3&15\cdot2+22\cdot4} =\bmat{37&54\\81&118}, \\A^4 =&A^3\cdot A =\dots \end{align*}

と計算することができますが,この計算を見れば分かるように正方行列$A$のべき$A^k$を直接計算するのはとても面倒です.

一方,対角行列$B=\bmat{2&0&0\\0&-1&0\\0&0&1}$の冪$B^k$は

\begin{align*} &B^2=\bmat{4&0&0\\0&1&0\\0&0&1},\quad B^3=\bmat{8&0&0\\0&-1&0\\0&0&1},\quad B^4=\bmat{16&0&0\\0&1&0\\0&0&1} \end{align*}

のように対角行列の冪は簡単に計算することができます.一般に次が成り立ちます.

対角行列$X=\bmat{\lambda_1&0&\dots&0\\0&\lambda_2&\ddots&\vdots\\\vdots&\ddots&\ddots&0\\0&\dots&0&\lambda_n}$に対して,$X^k=\bmat{{\lambda_1}^k&0&\dots&0\\0&{\lambda_2}^k&\ddots&\vdots\\\vdots&\ddots&\ddots&0\\0&\dots&0&{\lambda_n}^k}$ $(k=1,2,\dots)$が成り立つ.


数学的帰納法により示す.$k=1$のときに成り立つことは明らかである.

ある$k$で成り立つとすると

\begin{align*} X^{k+1} =X^{k}X =\bmat{{\lambda_1}^k&0&\dots&0\\0&{\lambda_2}^k&\ddots&\vdots\\\vdots&\ddots&\ddots&0\\0&\dots&0&{\lambda_n}^k} \bmat{\lambda_1&0&\dots&0\\0&\lambda_2&\ddots&\vdots\\\vdots&\ddots&\ddots&0\\0&\dots&0&\lambda_n} =\bmat{{\lambda_1}^{k+1}&0&\dots&0\\0&{\lambda_2}^{k+1}&\ddots&\vdots\\\vdots&\ddots&\ddots&0\\0&\dots&0&{\lambda_n}^{k+1}} \end{align*}

となって$k+1$で成り立つ.

つまり,「対角行列の$n$乗は対角成分を$n$乗した対角行列になる」というわけですね.

対角化と行列の冪

対角行列の冪が簡単に計算できることを用いて,一般の正方行列$A$の冪$A^k$を(直接計算するより)簡単に計算する方法を考えます.

$n$次正方行列$A$に対して,$B=P^{-1}AP$が成り立つような

が得られたとします.このとき,両辺を$k$乗($k=1,2,\dots$)すると,行列の積の結合法則から

\begin{align*} B^k =&(P^{-1}AP)^k \\=&(P^{-1}AP)(P^{-1}AP)\dots(P^{-1}AP) \\=&P^{-1}A(PP^{-1})A(PP^{-1})A\dots A(PP^{-1})AP \\=&P^{-1}AAA\dots AAP \\=&P^{-1}A^kP \end{align*}

が成り立ちます.ここで$B=P^{-1}A^kP$の両辺に左から$P$をかけ,右から$P^{-1}$をかけると$A^k=PB^{k}P^{-1}$が得られます.

$B$は対角行列なので$B^k$は簡単に計算でき,もともと$P$は得られているので,単純な計算により$PB^kP^{-1}$が求まり,$A^k$が計算できることになりますね.

ここで考えた$B=P^{-1}AP$を次のようにいいます.

[対角化] 正方行列$A$に対して,正則行列$P$が存在して$B:=P^{-1}AP$が対角行列となるとき,$A$は$P$により対角化可能であるといい,$B$を$A$の対角化という.

ということで,対角化可能な正方行列$A$の冪$A^k$は簡単に計算できる,というのが今説明したことですね.

さて,全ての正方行列が対角化可能であるとは限りません.

つまり,$B=P^{-1}AP$を満たす対角行列$B$と正則行列$P$が存在しないこともあります.

対角化と固有値・固有ベクトル

そこで,どのようなときに正方行列$A$が対角化可能であるかを考えたいのですが,そのために少し対角化について考察しましょう.

対角化

まず,対角化可能な$n$次正方行列$A$を考え,$B=P^{-1}AP$を満たす対角行列$B$と正則行列$P$を

\begin{align*} &B=\bmat{\lambda_1&0&\dots&0\\0&\lambda_2&\ddots&\vdots\\\vdots&\ddots&\ddots&0\\0&\dots&0&\lambda_n}, \\&P=[\m{p}_1,\m{p}_2,\dots,\m{p}_n] \end{align*}

としましょう.$B$は対角行列で,$P$は$n$次ベクトル$\m{p}_1,\dots,\m{p}_n$を並べてできた行列ですね.

$B=P^{-1}AP$の両辺に左から$P$をかけると$PB=AP$で,これを列ベクトルを用いて表すと

\begin{align*} [\lambda_1\m{p}_1,\dots,\lambda_n\m{p}_n]=[A\m{p}_1,A\m{p}_2,\dots,A\m{p}_n]\quad\dots(*) \end{align*}

となりますね.

左辺$PB$が$[\lambda_1\m{p}_1,\dots,\lambda_n\m{p}_n]$に等しいことは,$P$を$P=\bmat{p_{11}&\dots&p_{1n}\\\vdots&\ddots&\vdots\\p_{n1}&\dots&p_{nn}}$と成分で表して,実際に$PB$を計算すれば

\begin{align*} PB =\bmat{\lambda_{1}p_{11}&\dots&\lambda_{n}p_{1n}\\\vdots&\ddots&\vdots\\\lambda_{1}p_{n1}&\dots&\lambda_{n}p_{nn}} =[\lambda_1\m{p}_1,\dots,\lambda_n\m{p}_n] \end{align*}

と分かりますね.

ここで,等式$(*)$の各列を比較すると

  • $A$の対角化$B$の対角成分の$(i,i)$成分$\lambda_i$
  • $A$を対角化させる$P$の第$i$列$\m{p}_i$

は$\lambda_i\m{p}_i=A\m{p}_i$を満たしていますね.

固有値・固有ベクトルの定義

ここで,固有値固有ベクトルを次のように定義します.

[固有値・固有ベクトル] $A\in\Mat_{n}(\C)$に対して,$\lambda\in\C$と$\m{p}\in\C^n\setminus\{\m{0}\}$が存在して$\lambda\m{p}=A\m{p}$が成り立つとき,$\lambda$を$A$の固有値,$\m{p}$を$A$の固有値$\lambda$に属する固有ベクトルという.

ただし,$\Mat_{n}(\C)$は複素数成分の$n$次正方行列の集合,$\C^n$は複素数成分の$n$次ベクトルである.

いきなり複素数が出てきて面食らった人もいるかもしれませんが,この記事では実数だと思って読み進めてもほとんど問題ありません.

この記事では主に対角化にフォーカスして説明しているので,固有値と固有ベクトルの性質については次以降の記事で説明します.

この「固有値」「固有ベクトル」という言葉を用いると,先ほど述べたことは以下のようになりますね.

[対角化可能な正方行列] $n$次正方行列$A$が正則行列$P=[\m{p}_1,\dots,\m{p}_n]$によって

\begin{align*} B=\bmat{\lambda_1&0&\dots&0\\0&\lambda_2&\ddots&\vdots\\\vdots&\ddots&\ddots&0\\0&\dots&0&\lambda_n} \end{align*}

に対角化されるとき,

  • $\lambda_i$は$A$の固有値($i=1,\dots,n$)
  • $P$の第$i$列$\m{p}_i$は,$A$の固有値$\lambda_i$に属する固有ベクトル

である:

\begin{align*} &B=P^{-1}AP \\\iff&PB=AP \\\iff&[\lambda_1\m{p}_1,\lambda_2\m{p}_2,\dots,\lambda_n\m{p}_n]=[A\m{p}_1,A\m{p}_2,\dots,A\m{p}_n] \end{align*}

この意味で,正方行列の対角化は固有値と固有ベクトルと密接に関わっていることになります.

固有値・固有ベクトルの図形的な意味

ここで,固有値・固有ベクトルの図形的なイメージを説明しておきます.

まず,零ベクトルでない$\m{a}\in\R^n$を用意します.

この$\m{a}$に左から$n$次正方行列$A$をかけると$A\m{a}\in\R^n$となりますが,一般にこの$A\m{a}$が$\m{a}$に平行かどうかは分かりません.つまり,$\m{a}$によっては

  • $\m{a}$と$A\m{a}$が平行になっていたり

    Rendered by QuickLaTeX.com

  • 平行になっていなかったり

    Rendered by QuickLaTeX.com

します.

後者のようにうまく$\m{a}$をとって,$\m{a}$と$A\m{a}$が平行(または$A\m{a}=\m{0}$)なら

\begin{align*} A\m{a}=\lambda\m{a} \end{align*}

となる$\lambda\in\R$が存在します.この等式はまさに固有値と固有ベクトルの定義式ですね!

このときの$\m{a}$を固有ベクトルといい,このときの伸び率$\lambda$を固有値というわけですね.

Rendered by QuickLaTeX.com

なお,2つのベクトルが平行であるかどうかは2つのベクトルが零ベクトルでないときに初めてできる話なので$A\m{a}=\m{0}$のときは,$\m{a}$と$A\m{a}$は平行であるとはいえません.

しかし,$A\m{a}=\m{0}$の場合は$0\m{a}=A\m{a}$が成り立つので,$0$は$A$の固有値であり$\m{a}$は$A$の固有値$0$に属する固有ベクトルということになります.

対角化可能性の基本定理

先ほど説明した[対角化可能な正方行列]の命題では「$A$が正則行列$P$で対角化可能なら,$P$の各列は固有ベクトル」ということを説明しましたが,この逆は必ずしも成り立ちません.

のちの記事で説明するように正方行列$A$が対角化可能であるための必要十分条件はよく知られているのですが,この記事では対角化可能であることが簡単に分かる次の対角化可能性の基本定理を紹介します.

この[対角化可能性の基本定理]の名前は私が勝手に呼んでいるもので,一般的なものではありません.

[対角化可能性の基本定理] $n$次正方行列$A$が異なる$n$個の固有値$\lambda_1,\lambda_2,\dots,\lambda_n$をもつとき,ある正則行列$P$によって$A$は

\begin{align*} P^{-1}AP=\bmat{\lambda_1&0&\dots&0\\0&\ddots&\ddots&\vdots\\\vdots&\ddots&\ddots&0\\0&\dots&0&\lambda_n} \end{align*}

と対角化可能である.また,$\lambda_1,\lambda_2,\dots,\lambda_n$に属する固有ベクトルをそれぞれ$\m{p}_1,\m{p}_2,\dots,\m{p}_n$とするとき,$P$は

\begin{align*} P=[\m{p}_1,\m{p}_2,\dots,\m{p}_n] \end{align*}

とおけばよい.

この[対角化可能性の基本定理]を証明するため,次の[補題1]と[補題2]を用います.

[補題1] $n$次列ベクトル$\m{a}_1,\dots,\m{a}_n$に対して,次は同値である.

  • $\m{a}_1,\dots,\m{a}_n$は線形独立である.
  • 行列$[\m{a}_1,\dots,\m{a}_n]$は正則である.

[補題2] 正方行列$A$の異なる固有値$\lambda_1,\dots,\lambda_r$に対して,それぞれの固有値に属する固有ベクトルを$\m{p}_1,\dots,\m{p}_r$とすると,$\m{p}_1,\dots,\m{p}_r$は線形独立である.

[補題1]は以前の記事で証明しています.

また,[補題2]はのちの記事で証明するとし,この記事では認めて使います.


$A$の異なる$n$個の固有値を$\lambda_1,\dots,\lambda_n$とし,それぞれの固有値に属する固有ベクトルを$\m{p}_1,\dots,\m{p}_n$とする.

さらに$P:=[\m{p}_1,\dots,\m{p}_n]$とおく.

固有値と固有ベクトルの定義より$\lambda_i\m{p}_i=A\m{p}_i$ ($i=1,2,\dots,n$)が成り立つから,第$(i,i)$成分が固有値$\lambda_i$の対角行列を$B$とすると

\begin{align*} PB =&[\m{p}_1,\m{p}_2,\dots,\m{p}_n]\bmat{\lambda_1&0&\dots&0\\0&\lambda_2&\ddots&\vdots\\\vdots&\ddots&\ddots&0\\0&\dots&0&\lambda_n} \\=&[\lambda_1\m{p}_1,\lambda_2\m{p}_2,\dots,\lambda_n\m{p}_n] =[A\m{p}_1,A\m{p}_2,\dots,A\m{p}_n] \\=&A[\m{p}_1,\m{p}_2,\dots,\m{p}_n] =AP \end{align*}

となる.いま$\lambda_1,\dots,\lambda_n$は全て異なるから[補題2]より$\m{p}_1,\dots,\m{p}_n$は線形独立なので,[補題1]と併せて$n$次正方行列$P=[\m{p}_1,\dots,\m{p}_n]$は正則行列である.

よって,$PB=AP$の両辺に左から$P^{-1}$をかけて$B=P^{-1}AP$を得る.すなわち,$A$は対角化可能である.

この証明から分かるように,$A$の固有ベクトルを並べた行列を$P$とすれば$PB=PA$は無条件で成り立ちますが,これだけでは$P$が正則行列であるとは限りません.

ところが,$A$が異なる$n$個の固有値をもてば[補題1]と[補題2]から$P=[\m{p}_1,\dots,\m{p}_n]$が正則になるように固有ベクトル$\m{p}_1,\dots,\m{p}_n$をとることができるというわけですね.

固有値と固有ベクトルの求め方

この記事では,固有値と固有ベクトルがどう役に立つのかを説明してきましたが,これらをどのように求めるかは説明しませんでした.

実は正方行列$A$の固有値は$A$の固有方程式という代数方程式の解と一致することが証明できるので,実際に$A$の固有方程式を解けば$A$の固有値が得られます.

また,$A$の固有値$\lambda$が得られていれば,あとは固有値・固有ベクトルの定義にしたがって連立方程式を解くことで,$A$の固有値$\lambda$に属する固有ベクトルを求めることができます.

つまり,

  1. 固有方程式
  2. 固有値
  3. 固有ベクトル

の順番で,固有値と固有ベクトルを求めることができます.

次の記事では,固有値と固有ベクトルの求め方を詳しく説明します.

参考文献

以下は参考文献です.

手を動かしてまなぶ 線形代数

[藤岡敦 著/裳華房]

線形代数の入門書で,説明も非常に丁寧なので初学者にも読み進めやすい教科書です.

数学で初めて出会った概念で詰まった時には,具体例を考えることで理解できるようになることはよくあります.

特に線形代数は高校数学で扱ってきた数学よりも抽象度がやや増すので,いきなり抽象的に理解するよりも「具体例を理解→抽象化」という学び方が効果的です.

本書は具体例と例題が豊富で,実際に手を動かしながらイメージを掴んで抽象的に理解することを目指しています.

また,続巻も発行されていますが,この第1巻だけでも正方行列の対角化(固有値・固有ベクトル)まで学ぶことができます.

線型代数入門

[齋藤正彦 著/東京大学出版会]

線形代数の教科書として半世紀に渡って売れ続けている超ロングセラーの教科書です.

発刊されてから本書の内容の流れが線形代数の教科書のスタンダードとなったほど,日本の線形代数の指導にインパクトを与えた名著です.

その証拠に,著者の齋藤正彦氏は本書で日本数学会出版賞を受賞しています.

「線形代数をとりあえず使えるようにするための教科書」ではなく「線形代数を理解するための教科書」のため,論理的に非常に詳しく書かれているのが特徴です.

また,テキストのレベルとしては少なくとも理論系(特に数学系)の学部生であれば,確実に理解しておきたい程度のものとなっています.

なお,本書については,以下の記事で書評としてまとめています.