玄関雑学の部屋雑学コーナーベクトルと行列

9.固有値と固有ベクトル

1) 固有値と固有ベクトルの定義

n次の正方行列とn次元ベクトルについて次のような関係が成り立つ時、スカラー係数λを行列固有値(eigen valueまたはcharacteristic value)固有ベクトル(eigen vectorまたはcharacteristic vector)といいます。

=λ (n) …… (9.1)

第6章で説明したように、行列はある座標系から見たベクトルを別の座標系から見たベクトルに変換する演算子の役目をします。 したがって固有ベクトルとは座標変換の前後で大きさだけが変わり、方向が変わらないベクトルということになります。 ただし固有値は負の場合もあるので、実際には座標変換の前後でベクトルの方向が反対になることもあります。 しかしこれはベクトルの符号を変えただけであり、方向は変わらないと広義に解釈します。

(9.1)式より、次の関係が成り立ちます。

−λn
−λnn …… (9.2)

行列[−λn]の逆行列が存在する時、(9.2)式は成り立ちません。 したがって[−λn]の逆行列が存在しない、つまりこの行列を特異にする時のλが固有値ということになります。 特異な行列の行列式は0になるので、次のような方程式の根が固有値になります。

 …… (9.3)
αi:行列式を展開した時の係数

この方程式を固有方程式(eigen equationまたはcharacteristic equation)といい、左辺つまりψz(λ)=|−λn|を固有多項式(eigen polynomialまたはcharacteristic polynomial)といいます。 例えば次のような行列の固有値を求めてみましょう。



固有ベクトルについては、(9.1)式より次のようになります。


の時  
の時  

この方程式の解は不定になり、x1とx2の比率だけが求められ具体的な値は求められません。 これは固有ベクトルの特徴であり、1次元の(9.2)式を解いてみるとそれがよくわかります。

−λnn
(z−λ)x=0
∴λ=z の時 x は不定になる

つまり固有値とは(9.2)式のを不定にする値ということになります。 不定といっても、2次元以上の時は上例のようにの成分間の関係式だけは求められます。 したがって前例の固有ベクトルは次のような式で表わされることになります。

の時   (α≠0)
の時   (β≠0)

この式で表される固有ベクトル全体は、n次元ベクトル空間中に部分空間を作ります。 それを固有空間(eigen spaceまたはcharacteristic space)といいます。 固有空間は対応する固有値が重根ではない時は1次元部分空間になり、重根の時はその重複度と同じ次元の部分空間になります。 固有空間のαとβの値を決めてやれば、具体的な固有ベクトルを求めることができます。 例えばα=β=1とすると、具体的な固有ベクトルは次のようになります。

の時  
の時  

検算のためにこれらを(9.1)式に代入すると次のようになり、確かに式を満足しています。


第7章で説明したように、この座標変換の座標軸はの逆行列の成分ベクトルに対応します。 そこでの逆行列と成分ベクトルを求めると次のようになります。

     

この成分ベクトル1図5.2のベクトル1の成分を2分の1にしたものであり、2図5.22の成分を2分の1にし、さらに方向を反対にしたものに相当します。 したがってこれらのベクトルに対応する座標軸は、基本的な座標軸を45度回転し、さらにそれを1に対応する座標軸を中心にして上下をひっくり返したものに対応します。

少々わかりにくいですが、図9.1において、固有ベクトル1とx1軸の角度はx1軸とy1軸の角度の半分になっており、固有ベクトル2とx2軸の角度はx2軸とy2軸の角度の半分になっています。 そのため1をx1−x2の座標系から見た時もy1−y2の座標系から見た時も方向は変わりません。 また2については対応する固有値が負なので変換の前後で符号が変わり、2をx1−x2の座標系から見た時と、−2をy1−y2の座標系から見た時が同じ方向になります。

図9.1 固有値ベクトルの例

一般に固有ベクトルは単位ベクトル化することが多く、その場合はα=β=1とした時の固有ベクトルの大きさを計算し、その逆数をあらためてαとβとして固有ベクトルを求めます。

の時  

の時  

2) 固有値と固有ベクトルの性質

固有値と固有ベクトルは応用範囲が非常に広く、統計学だけでなく色々な分野で重要な役目を果たしています。 そのため固有値問題としてこれだけで独立した研究分野のようになっていて、多くの性質が明らかにされています。 その中から、主として統計学に役立つものを中心にして紹介しましょう。

をn次の(実)正方行列とする。
の成分が全て実数でも、固有値は複素数になることがある。 例えば、
    
 ∴λ=1±i
が正則の場合、0ではない固有値は固有方程式の重根を繰り返し数えてn個存在する。
の階数rank{}は0ではない固有値の数と一致する。
の固有値をλ1、…、λi、…、λnとすると、次のような式が成り立つ。
  …… (9.4)
  …… (9.5)
 <例>
    
 
 
のお互いに異なる固有値をλ1、…、λmとすると、それに対応する固有ベクトル1、…、mは1次独立であり、m次元部分空間の基底になる。
 例えば図9.1の12は2次元部分空間の基底になっている。
がお互いに異なるn個の固有値λ1、…、λi、…、λnを持つ時、それに対応する固有ベクトルを1、…、i…、nとすると次のような関係が成り立つ。
      …… (9.6)
 例えば、           
    
 
の固有値λ1、…、λi、…、λnが全て実数で、かつが正規の時、適当な正規直交行列を用いて次のように変換することができる。
  …… (9.7)
 固有値がお互いに異なる時、は単位ベクトル化した固有ベクトルを列ベクトルとして並べたものを用いることができる。
が対称行列の時、固有値は全て実数になる。
・対称行列の固有値は全て実数で、かつは正規行列になるので、(9.7)式を満足するような正規直交行列が必ず存在する。 例えば、
    
    
 
 
・対称行列の階数rank{}は非負の固有値の数と一致する。
・対称行列のお互いに異なる固有値をλ1、λ2とすると、それに対応する固有ベクトル12は直交し、かつに関して共役(conjugate)になる。
 1'2=0 (直交)
 1'2=0 (に関して共役)
 <例>
          
 1'2=1×1−(√2−1)(√2+1)=1−1=0
 1'2=[√2 -(√2−2)]2=√2+(√2−2)(√2+1)=0
・対称行列がお互いに異なるn個の固有値λ1、…,λnを持つ時、それに対応する固有ベクトル1、…、nはn次元ベクトル空間の直交基底になる。
・対称行列はn個の固有値λ1、…、λi、…、λnと、n個の正規直交基底1、…、i…、nを用いて次のように分解できる。 これをスペクトル分解(spectral resolusion)という。
    ‖i‖=1   i'j=0 (i≠j)
 
 =λ111'+…+λiii'+…+λnnn'=Λ' …… (9.8)
 固有値がお互いに異なる時、単位ベクトル化した固有ベクトルを正規直交基底として用いることができる。 例えば、
    
    
 
    
 
・対称行列は、固有値の符号によって次のような呼び方をすることがある。 ・対称行列が非負定符号になるための必要十分条件は、次のような正方行列が存在することである。
 '
・対称行列が正定符号になるための必要十分条件は、前項の正方行列が正則になることである。

3) 固有値と固有ベクトルの計算法

行列が5次以上の時、(9.3)の固有方程式は5次以上の方程式になり、代数的に根を求めることができなくなります。 そこで固有値と固有ベクトルを近似的に求める方法が色々と考案されています。 そのうち多変量解析でよく利用されるベキ乗法(power method)を紹介しましょう。 (注1)

行列のスペクトル分解の式(9.8)より、n次の対称行列をk乗すると次のようになります。

k=λ1k11'+…+λikii'+…+λnknn'
  =λ1k{11'+…+(λi/λ1)kii'+…+(λn/λ1)knn'} …… (9.9)

λ1を最大根とすると、kが十分に大きい時は次のようになります。

λi/λ1<1 より (λi/λ1)k≒0
k≒λ1k11'

この式の両辺に任意のn次元ベクトル、例えばnを右から掛けると、

knk≒λ1k11'n=λ1k1(1'n)=c・λ1k1 (c:1'n)

同様に(k−1)乗については、

k-1nk-1≒c・λ1k-11

したがってkk-1の成分の比は、次のように近似的に最大固有値λ1になります。

また次のように、k-1は近似的にλ1に対応した固有ベクトル1になります。

kk-1nk-1≒λ1c・λ1k-11=λ1k-1
k-1≒λ1k-1

最大固有値λ1と固有ベクトル1が求められたら、(9.8)式を利用して次のようにを更新します。 この更新された(2)と置き直し、同様の方法で固有値と固有ベクトルを次々と抽出することによって、全ての固有値と固有ベクトルを求めることができます。

(2)−λ111'

このベキ乗法は少し工夫すれば非対称行列にも適用できますし、大きい順に固有値を求めていき、必要なものだけ求めたら途中で計算を終了することもできます。 したがって主成分分析などの多変量解析で、固有値と固有ベクトルを必要な数だけ計算する時に便利です。 ベキ乗法以外にもGram−Schmidtの直交化法を応用して行列を直交化し、(9.7)式の原理によって固有値と固有ベクトルを一度に求めるQR分解法、固有方程式の近似解をニュートン法などを利用して求める直接法など、多くの手法が開発されています。


(注1) 方程式の解の公式は昔から研究されていて、面白いエピソードが色々とあります。 1次方程式の解の公式と2次方程式の解の公式は古代メソポタミア文明や古代エジプト文明時代から知られていて、最初の発見者の名前は残念ながら知られていません。 これらの公式はごく簡単なので、色々な人が色々なところで独立に発見したのでしょう。

3次方程式の解の公式を最初に発見したのは、16世紀イタリアのダル・フェロ(Scipione dal Ferro)とタルターリャ(Nicolo Tartaglia=Nicolo Fontana)だと言われています。 最初にダル・フェロが特殊な形の3次方程式の解を発見し、その噂を聞いたタルターリャが独力で一般解を発見したようです。 しかし彼は当時の多くの数学者と同様に賭博師でもあり、方程式を早く解いた方が勝ちという勝負で稼いでいたので、この発見を自分だけの秘密にしていました。

ところがタルターリァの噂を聞きつけた、やはりイタリアのカルダーノ(Gerolamo Cardano=Hieronymus Cardanus)が、タルターリャをおだて上げて、その秘密を聞き出すことに成功しました。 そして彼の許可を得ずに、自著「アルス・マグナ(Ars magna de rebus algebraicis、高等代数学、代数の諸法則について)」(1545)に発表してしまいました。 そのため3次方程式の解の公式は長らくカルダーノの公式と呼ばれてきましたが、現在ではタルターリャ・カルダーノの公式と呼ばれるようになっています。

4次方程式の解の公式は、3次方程式の解の公式が発表されてから間もなく、カルダノの弟子のフェラーリ(Ludovico Ferrari)が発見しました。 4次方程式の解の公式は3次方程式の解の公式を利用するので、3次方程式の解の公式がわかれば比較的簡単に発見できたのです。

さて、4次方程式の次は5次方程式も……と期待したくなるのは人情というものです。 ところが5次方程式の解の公式は超難問であり、誰もそれを発見できないまま300年も経ってしまいました。 そして19世紀になり、ついにノルウェーのアーベル(Niels Henrik Abel)が5次以上の方程式は代数的方法では解けない、つまり解の公式は存在しないことを証明します。 そしてその後、ガロア(Evariste Golois)が、方程式が代数的に解けるための必要十分条件を解明し、現代数学で基本的な重要性を持つ群論の基礎を築きました。

ちなみに解の公式の解明に貢献した数学者のうち、カルダーノは自分の死ぬ日を予言し、予言を成就させるために自殺したとか、彼はタルターリャに対して行ったのと同じようなことを他にも沢山やっていたので、その報いを受けて野垂れ死に同然の悲惨な死に方をしたとか言われています。

アーベルは信じられないような不運の連続と周囲の数学者達の無理解によって、失意と貧困のうちに26才で夭逝しました。 彼の天才と偉大な業績が認められ、ベルリン大学教授に指名されることになったという知らせが届いたのは、彼の死の二日後でした。

あまりにも純粋でありすぎた天才ガロアは、決闘に敗れてわずか21才で世を去りました。 決闘の前夜、徹夜で書き上げられた殴り書きの遺書こそが、方程式が代数的に解けるための必要十分条件を解明し、群論の基礎を築いた革命的な論文だったのです。