電話 0422-27-7828チャットで質問無料相談を予約

武蔵野個別指導塾の特徴

線形代数(2)固有値と対角化 行列の「本当の姿」を見る|武蔵野個別指導塾

X LINE Facebook

行列をかけても同じ直線上に残るベクトルを手がかりに、固有値と対角化の条件を計算で確かめます。主成分分析、ページランク、振動が同じ方程式につながる理由までたどれます。

武蔵野個別指導塾の教室 武蔵野個別指導塾

線形代数(2)固有値と対角化 行列の「本当の姿」を見る

片付けた教室に残る、斜めの矢印

文化祭の片付けが終わった教室を思い浮かべてください。机は元の列に戻り、窓には装飾を留めていたテープの跡が残っています。机の上に置かれた方眼紙には、看板を拡大するときに描いた横向きと縦向きの矢印があります。数学を教える立場なら、その余白に斜めの矢印を描いて、「図を変形したとき、向きが変わらず伸びる矢印はあるでしょうか」と問いを置きたくなります。

図形を横に伸ばすだけなら、横向きの矢印は伸び、縦向きの矢印はそのままです。しかし、横と縦を混ぜる変形では、座標軸に沿う矢印も斜めになります。それでも、ある特別な直線に沿う矢印だけは、その直線から外れないことがあります。その直線と、そこでの伸び縮みの倍率を探すのが、固有ベクトルと固有値を調べる出発点です。

大学の線形代数では、数を四角く並べた行列を、ベクトルを別のベクトルへ移す操作として読みます。行列の成分を眺めるだけでは複雑でも、適切な方向を座標軸に選ぶと、各方向で何倍になるかだけで説明できる場合があります。この座標の選び直しが対角化です。「本当の姿」という表現は、隠れた唯一の図があるという意味ではありません。操作の特徴を読み取りやすい表示が得られる、という意味です。

多くの理系学部では、この内容を1〜2年で学びます。計算だけなら二次方程式と連立方程式から入れますが、「根が求まること」と「空間全体を説明できること」の違いが、大学数学らしい問いになります。

武蔵野個別指導塾

二次方程式とベクトルが同じ問題に集まる

高校数学から持っていきたい道具は、数学Iの二次方程式、数学IIの複素数と方程式、数学Cのベクトルです。行列の記法にまだ慣れていなくても、連立一次式をまとめて書いたものとして読めば出発できます。以下では、(x, y) は縦に並べた列ベクトルを表し、行列の中のセミコロンは行の区切りとします。

A = [2, 1; 1, 2]

A(x, y) = (2x + y, x + 2y)

これは、入力の横成分と縦成分の両方を使って出力を作る変換です。まずベクトルを直接入れてみましょう。

A(1, 0) = (2, 1)

A(0, 1) = (1, 2)

座標軸に沿った2本の矢印は、どちらも別の向きになります。一方で、斜めの矢印には次のことが起こります。

A(1, 1) = (3, 3) = 3(1, 1)

A(1, -1) = (1, -1)

同じ行列でも、方向によって3倍になったり、変わらなかったりします。この倍率を先に未知数 λ として、A(x, y) = λ(x, y) を満たすゼロでないベクトルを探します。成分ごとに書くと、連立方程式になります。

(2 – λ)x + y = 0

x + (2 – λ)y = 0

最初の式から y = (λ – 2)x とし、次の式へ代入します。

{1 – (λ – 2)²}x = 0

ここで x = 0 なら最初の式から y = 0 になってしまいます。今回はゼロでないベクトルを求めているので、x ≠ 0 です。したがって倍率が満たす条件は次の二次方程式です。

(λ – 2)² – 1 = λ² – 4λ + 3 = 0

(λ – 1)(λ – 3) = 0

λ = 1 または λ = 3 が得られました。高校で解いた二次方程式の根が、図形の変換の倍率になっています。ただし、根だけでは変換の全体像はまだわかりません。λ = 1 のときは y = -x、λ = 3 のときは y = x と、対応する方向まで求める必要があります。

さらに、高校での「方程式に根が2個ある」という言い方だけでは、その2個が異なるのか、同じ根を重ねて数えたのかが曖昧です。大学では、根の重なりと、使える方向の本数を区別します。この区別をしないまま計算手順だけ覚えると、対角化できない行列で手が止まります。

ゼロでないベクトルから定義する

数を実数に限るか、複素数まで許すかを先に決め、その数の集合を F と書きます。n行n列の行列 A に対し、F の数 λ と Fⁿ のゼロでないベクトル v が

Av = λv, v ≠ 0

を満たすとき、λ を A の固有値(eigenvalue)、v を λ に属する固有ベクトル(eigenvector)といいます。これが中心となる定義です。「行列をかけても向きが変わらない」という説明は入口として便利ですが、正確には上の等式で判断します。実数の λ が負なら矢印の向きは反転し、λ = 0 なら出力はゼロになります。いずれも固有値として認めます。

除外するのは入力のゼロベクトルです。ゼロベクトルならどんな λ に対しても A0 = λ0 が成り立ち、行列の特徴を区別できなくなるためです。また、v が固有ベクトルなら、ゼロでない数 c に対して cv も同じ固有値に属します。実数の場合、通常は1本の矢印そのものより、その矢印が張る直線が重要です。

次に、固有値 λ に対して

Eλ = {v ∈ Fⁿ : (A – λI)v = 0}

を固有空間と定義します。I は対角成分が1で、それ以外が0の単位行列です。固有空間は、その固有値に属するすべての固有ベクトルに、ゼロベクトルを加えた集合です。固有ベクトルにはゼロを入れず、固有空間にはゼロを入れる。この違いは単なる約束の細部ではありません。足し算と数倍に閉じた部分空間として扱うために必要です。

先ほどの行列では、E₃ = {t(1, 1) : t ∈ F}、E₁ = {t(1, -1) : t ∈ F} です。どちらも基底を1本で選べるので次元は1です。同じ固有値のベクトルどうしを足すと、和がゼロでなければ再びその固有値の固有ベクトルです。一方、異なる固有値のベクトルを混ぜた和は、一般には固有ベクトルになりません。実際、(1, 1) + (1, -1) = (2, 0) ですが、A(2, 0) = (4, 2) は (2, 0) の数倍ではありません。

固有値をまとめて探すため、特性多項式を次のように定義します。

p(λ) = det(λI – A)

det は行列式です。λ が固有値であることと p(λ) = 0 は同値です。その理由は、λI – A がゼロでないベクトルをゼロに移すことと、逆行列を持たないことが同値であり、正方行列が逆行列を持たないことは行列式が0であることと同値だからです。2行2列なら det([a, b; c, d]) = ad – bc なので、先ほどの二次方程式がそのまま得られます。

特性多項式の根として何回重なるかを代数的重複度、対応する固有空間の次元を幾何学的重複度と呼びます。固有値 λ の幾何学的重複度は1以上で、代数的重複度以下です。根の個数は多項式の情報であり、独立な方向の個数は連立方程式の情報です。この2つを別々に計算することが大切です。

最後に対角化を定義します。F 上の可逆な行列 P と、対角成分以外がすべて0の行列 D が存在して

P⁻¹AP = D

となるとき、A は F 上で対角化可能といいます。P の列は新しい座標軸となる基底ベクトルです。もとの座標を x、新しい座標を z とすれば x = Pz であり、Az のように座標を混ぜず、Ax = APz = PDz と順序を追います。変換後の新しい座標は Dz です。対角化は別の変換に取り替える操作ではなく、同じ変換を別の基底で表す操作です。

武蔵野個別指導塾の自習室 武蔵野個別指導塾

基底がそろう条件と、そろわない場合

対角化の基本定理は、「F 上のn行n列の行列 A が F 上で対角化可能であるための必要十分条件は、Fⁿ に A の固有ベクトルからなる基底が存在すること」です。n本の一次独立な固有ベクトルがそろえばよく、異なる固有値が必ずn個必要なわけではありません。

理由の要は行列の積を列ごとに読むことにあります。P の各列を v₁, …, vₙ とし、それぞれの固有値を λ₁, …, λₙ とすると、AP の各列は Avⱼ = λⱼvⱼ です。D の対角に対応する順で λⱼ を並べれば AP = PD となります。列が基底なので P は可逆であり、左から P⁻¹ をかけて対角化が得られます。逆に対角化の式から AP = PD を作れば、P の各列が固有ベクトルだとわかります。

先ほどの A では、P = [1, 1; 1, -1] と置けます。行列式は -2 なので可逆です。

P⁻¹ = (1/2)[1, 1; 1, -1]

D = [3, 0; 0, 1]

P⁻¹AP = D

列の順番と対角成分の順番は対応しています。固有ベクトルを入れ替えたのに D の順番を据え置くと、等式は成立しません。対角化の計算では、この対応を最後まで保ちます。

この表示は行列を繰り返しかけるときに役立ちます。A = PDP⁻¹ を2回かけると、中央の P⁻¹P が I になるため、A² = PD²P⁻¹ です。非負整数 k に対して同じ打ち消しが続きます。A の k 乗は次の形になります。

A の k 乗 = (1/2)[3ᵏ + 1, 3ᵏ – 1; 3ᵏ – 1, 3ᵏ + 1]

たとえば k = 2 なら A² = [5, 4; 4, 5] です。成分の多い積が、各固有値の累乗に置き換わりました。

次に、対称行列の直交対角化定理です。「実数成分の対称行列 A、すなわち Aᵀ = A に対し、実数成分の直交行列 Q と実対角行列 D が存在して QᵀAQ = D となる」と述べられます。上付きの T は転置で、直交行列とは QᵀQ = I を満たす実正方行列です。その列は長さ1で互いに直交します。したがって Q⁻¹ = Qᵀ です。

対称性がなぜ効くのか、異なる固有値に属するベクトル v, w で確かめます。Av = λv、Aw = μw なら、対称性から

λ(vᵀw) = (Av)ᵀw = vᵀAw = μ(vᵀw)

となります。λ ≠ μ なら vᵀw = 0、つまり直交します。これは定理全体の証明ではありませんが、互いに異なる伸び方をする方向が直角に交わる理由を示す重要な一歩です。同じ固有値の固有空間の中では、直交化によって基底を整えられます。

A の例では (1, 1) と (1, -1) は直交し、どちらも長さが √2 です。そこで Q = (1/√2)[1, 1; 1, -1] とすれば QᵀQ = I、QᵀAQ = [3, 0; 0, 1] となります。一般の基底変更とは違い、この座標変更は長さと角度を保ちます。

では、固有値が重なる場合はどうでしょうか。

J = [2, 1; 0, 2]

p(λ) = (λ – 2)²

(J – 2I)(x, y) = (y, 0)

固有値は2だけで、固有空間は {(x, 0) : x ∈ F} です。代数的重複度は2でも、幾何学的重複度は1です。基底に必要な2本の独立な固有ベクトルが得られないため、対角化できません。対して 2I ならすべてのゼロでないベクトルが固有値2の固有ベクトルで、最初から対角行列です。「重根なら対角化できない」という覚え方は誤りです。

J のような行列には、固有ベクトルに続くベクトルを使う見方があります。e₁ = (1, 0)、e₂ = (0, 1) とすると、(J – 2I)e₁ = 0、(J – 2I)e₂ = e₁ です。e₂ 自体は固有ベクトルではありませんが、J – 2I を2回かけるとゼロになります。このようなベクトルを使って鎖を作るのが、一般化固有ベクトルの考え方です。

複素数上の任意の正方行列は、基底を適切に選ぶとジョルダン標準形にできます。各ブロックは対角に同じ固有値、そのすぐ上に1を並べ、ほかを0にした形です。対角化はすべてのブロックが大きさ1の場合に当たります。J は大きさ2のブロックそのものです。N = J – 2I とすると N² = 0 なので、正整数 k に対し

J の k 乗 = 2ᵏI + k2ᵏ⁻¹N

です。対角行列のような倍率の累乗だけでなく、k という因子が現れます。対角化できないことは、反復の変化にも具体的な違いを残します。

振動の問いから、計算の収束を問う研究へ

固有値の考え方が必要になる典型的な問題は、互いにつながった物体の振動です。個々の物体を別々に追うと運動が混ざりますが、全体が同じ周期で動く形を探すと、連立した問題を独立した振動に分けられます。これは固有値の理論が育ってきた背景を理解する数学的な入口です。行列のスペクトル理論の歴史を扱う研究として、コーシーと行列のスペクトル理論を題名に掲げる論文があります(Hawkins, 1975)。ここでは歴史上の優先順位を決めるより、振動の問いがどのような式になるかを追いましょう。

質量を1にそろえた2個の物体について、変位をまとめた x(t) が x″(t) = -Kx(t) を満たすモデルを考えます。K = [2, -1; -1, 2] とし、共通の振動形 v を用いて x(t) = v cos(ωt) と置くと、2回微分した式を代入して Kv = ω²v が得られます。振動の角振動数の2乗が固有値になるのです。

K(1, 1) = (1, 1)

K(1, -1) = 3(1, -1)

同じ向きに動く形と、逆向きに動く形の角振動数は、それぞれ1と √3 です。初めの変位や速度をこの2つの形に分ければ、それぞれの運動を計算して重ねられます。正の固有値がここで重要なのは、ω を実数にして振動を表せるからです。この計算は、具体的なモデルに対する導出として読んでください。

このような「特別な方向を見つけて分離する」という問題は、抽象化すると基底、固有空間、対角化の条件へつながります。方向が全部そろうのか、使う数の範囲で固有値が存在するのかを明確にして、計算法が通用する条件を述べるようになるわけです。複素数上では特性多項式が一次式に分解しても、固有ベクトルが基底を作るとは限りません。根の存在と対角化を別の問題として扱うことに、理論を厳密にする意味があります。

さらに巨大な行列では、固有ベクトルの存在だけでなく、それをどう計算するかが研究課題になります。ページランクを扱う総説は、基本モデルに加え、解の存在、一意性、収束、感度、更新などを対象にしています(Langville・Meyer, 2004)。固有値問題を解くという言葉の中にも、解が定まるか、計算がそこへ近づくか、入力が変わると解がどれだけ変わるか、という異なる問いが含まれています。

べき乗法は、ベクトルに行列を繰り返しかけることで主要な固有ベクトルを求める方法です。ページランク計算において、反復中の主要でない固有ベクトル成分を推定して差し引き、収束を加速する外挿法が提案されています(Kamvarほか, 2003)。小さな行列の対角化で見えた「各方向の成分が固有値の累乗で変化する」という仕組みが、大規模計算を速くする問題にも関わっています。

データの広がりと、リンクの重みを読む

固有値の応用を、主成分分析とページランクで具体的に見ます。主成分分析では、複数の測定項目を持つデータについて、どの方向に大きくばらついているかを調べます。ここでは各項目の平均を引いた2次元データを考え、その共分散行列が C = [2, 1; 1, 2] だとします。

単位ベクトル u の方向へデータを射影したとき、その値の分散は uᵀCu です。正規直交する固有ベクトルを q₁ = (1, 1)/√2、q₂ = (1, -1)/√2 と置きます。長さ1の u は u = aq₁ + bq₂、a² + b² = 1 と書けます。すると

uᵀCu = 3a² + b² = 1 + 2a² ≦ 3

です。最大値3は b = 0 の方向で達成されます。2つの項目が一緒に増減する方向が、もっとも大きな分散を持つとわかります。固有値3と1の和は4なので、第1主成分の寄与率は 3/4 = 75% です。これはこの共分散行列に対する計算であり、どのデータでも同じ割合になるわけではありません。

共分散行列が実対称になるのは、2つの項目の積を平均する際に、その順序を入れ替えても値が変わらないためです。また任意のベクトル u に対して uᵀCu は分散なので0以上です。この性質を半正定値といいます。固有ベクトルを代入すれば λuᵀu ≧ 0 となり、固有値が負にならないこともわかります。対称行列の直交対角化は、ここで互いに直交する主成分の方向を選ぶ土台になっています。

ただし、分散の大きい項目が分析で優先されやすいため、測定単位を変えると結果が変わり得ます。センチメートルかメートルかという表し方も、前処理を決めずに混ぜてはいけません。また主成分の符号を反転しても同じ軸です。最大固有値が重複する場合は、その固有空間の中で最も広がる方向を一意に決められません。固有値と固有空間の区別が、データの読み方にも効きます。

ページランクでは、ページ間のリンクを通って移動する確率を行列にまとめます。ここでは各列の和が1になる約束を使い、列ベクトル p に行列を左からかけます。2つの状態の間を移る例として

S = [4/5, 3/10; 1/5, 7/10]

を考えます。第1列は状態1からの移動確率、第2列は状態2からの移動確率です。各成分は非負で、各列の和は1なので、成分の和が1の確率ベクトルは、S をかけた後も確率ベクトルになります。移動後も重みが変わらない定常分布は Sp = p、すなわち固有値1に属するベクトルです。

p = (3/5, 2/5)

Sp = (12/25 + 3/25, 3/25 + 7/25) = (3/5, 2/5)

固有ベクトルを求めた後、成分の和を1にする規格化が必要です。固有ベクトルは数倍しても固有ベクトルですが、確率分布は合計が1でなければなりません。S のもう1つの固有値は1/2で、対応するベクトルは (1, -1) です。初期状態 (1, 0) は p + (2/5)(1, -1) と書けるので、反復回数 k の後の p との差は (2/5)(1/2)ᵏ(1, -1) になります。この例では誤差が毎回半分になり、主要でない固有値が収束の速さを決めています。

実際のページランクの基本モデルでは、リンクに沿う移動と、一定の分布に従って飛び移る移動を混ぜます。列の和が1の非負行列 S、各成分が正で和が1のベクトル q、0 < α < 1 に対して G = αS + (1 – α)q1ᵀ とします。ここで 1 は全成分が1の列ベクトルです。行列 G はすべての成分が正であり、定常分布が一意に定まって反復が収束する性質を持ちます。単に任意の行列をかけ続ければよい、というわけではありません。

ページランクの数学は、ウェブのリンク以外のネットワークにも広がっています。文献情報、社会・情報ネットワーク、道路網、生物学などの応用を扱う総説が、その広がりを示しています(Gleich, 2015)。ここで得る順位は、選んだネットワークと重みづけに対する量です。ページの内容の正確さや、人の価値そのものを固有ベクトルが判定するわけではありません。何を成分にし、どんな関係を行列に入れたかまで読む必要があります。

答えの数と、使える方向の数を分けて学ぶ

固有値の学習では、図で捉えること、式を操作すること、定義から判断することが別々になりがちです。固有値と固有ベクトルについて、身体的・図形的な捉え方、記号、形式的思考を題名に掲げる数学教育研究があります(Thomas・Stewart, 2011)。これは固有値・固有ベクトルの思考を対象とする研究ですが、題名だけから特定の年齢層への指導効果までは判断できないため、以下の手順は授業で取り組むための提案として示します。

第1の手順は、固有値を計算する前に、行列へ簡単なベクトルを入れることです。(1, 0)、(0, 1)、(1, 1) の行き先を紙に描けば、成分の掛け算が図形の変化につながります。ただし、試した矢印で固有ベクトルが見つからなくても、存在しないと結論してはいけません。作図は見当をつける段階で、その後に定義へ戻ります。

第2の手順は、特性多項式を解く作業と固有空間を求める作業を、ノートの別の欄に書くことです。左に固有値と代数的重複度、右に連立方程式の解と固有空間の次元を並べます。J と 2I を比べれば、同じ特性多項式でも右側が異なることを自分の計算で確かめられます。「固有値を全部出したから終了」とせず、基底に必要な本数がそろったかを判断します。

第3の手順は、求めた v と λ を元の式 Av = λv に戻すことです。行列式の符号を間違えた場合も、連立方程式で別の固有値の解を書いてしまった場合も、この照合で見つけやすくなります。P を組んだら AP = PD を調べると、逆行列の計算をしなくても各列の対応を確認できます。対称行列の直交対角化では、それに QᵀQ = I の確認を加えます。

第4の手順は、定理の仮定を外した例を1つ持つことです。対称という条件を忘れたら J を、実数上という範囲を忘れたら平面の90度回転 R = [0, -1; 1, 0] を考えます。R の特性多項式は λ² + 1 で、実数の固有値はありません。複素数まで広げれば固有値 i と -i が現れ、たとえば (1, -i) は i に属する固有ベクトルです。計算の途中で数の範囲が変わることを見逃さない練習になります。

高校生のうちには、二次方程式の因数分解だけでなく、重解の意味を説明できるようにしておくと役立ちます。ベクトルでは、内積が0であることと直交の関係、長さで割って単位ベクトルを作る操作を練習してください。連立方程式の解が1点ではなく直線全体になる場合を描いておけば、固有空間を「答えのベクトルがたくさんある集合」として受け止めやすくなります。

塾で担うのは、途中式からどの段階で意味が離れたかを見つけることです。行列式の展開で止まるなら代数計算を、固有ベクトルの数え方で迷うなら一次独立を、直交対角化だけ進まないなら内積と規格化を扱います。すべてを最初からやり直すより、いまの行き詰まりに関係する道具を戻して接続します。口で「固有値とは倍率です」と言えた後も、倍率0や負の倍率で定義が崩れていないかを確かめます。

ご家庭では、お子さまが解答の行列をきれいに書けたかだけでなく、「どの方向を選んだの」「その2本は別々の方向なの」と説明を聞く時間を持てます。すぐに専門用語を言い直させる必要はありません。矢印の図と式を行き来して、自分で説明を修正する過程を見守ることが、取り組みの変化を捉える手がかりになります。

ここで手が止まるなら、止まった単元まで一緒に戻ります。武蔵境の数学塾(1 対 1)/お問い合わせ

固有値をめぐる3つの疑問を確かめる

固有値がすべて違えば、必ず対角化できますか

n行n列の行列が、考えている数の範囲 F に相異なるn個の固有値を持てば、F 上で対角化できます。異なる固有値に属する固有ベクトルは一次独立なので、n本をそろえると基底になるためです。ただしこれは十分条件です。2I のように固有値が重なっていても対角化できる行列があります。また、複素数で得た固有値を使って、実数の基底による対角化ができたと言うことはできません。

固有値0は、何も意味しない値ですか

意味があります。固有値0に属するゼロでない v は Av = 0 を満たすので、変換によってある方向がつぶれることを示します。正方行列では、0が固有値であることと逆行列が存在しないことは同値です。逆に、固有値がすべて0でないからといって対角化可能とは限りません。J は固有値が2だけで可逆ですが、独立な固有ベクトルが不足しています。可逆性と対角化可能性は別の性質です。

対角化の答えは1つに決まりますか

一般には決まりません。固有ベクトルをゼロでない数倍にしてもよく、列の順番を変えて対応する固有値の順番を変えてもよいからです。同じ固有値の固有空間に複数の独立なベクトルがある場合には、その空間の基底の選び方にも自由があります。直交対角化でも、固有ベクトルの符号や並べ方は変えられます。解答と P の見た目が違うときは、まず可逆性と AP = PD、直交対角化なら QᵀQ = I を確かめてください。

片付けの終わった教室の方眼紙に、もう一度2本の斜めの矢印を描いてみます。横と縦では混ざっていた変化が、その方向では3倍と1倍に分かれます。そこから、方向が足りない行列、直角の軸を選べる行列、反復すると特定の方向が残る行列へと問いを広げられます。固有値を求める意味は、二次方程式を1つ解くことだけには収まりません。何を不変に保ち、何を伸ばし、どこで混ざりが残るのかを、基底の選択によって読み取ることにあります。

行列に1本のベクトルを入れ、その行き先を確かめる小さな計算が、変化を方向ごとに読み解く入口になります。

あわせて読む(数学の地図・高校数学の単元解説)

参考文献

  1. Thomas Hawkins(1975)「Cauchy and the spectral theory of matrices」Historia Mathematica. https://doi.org/10.1016/0315-0860(75)90032-4
  2. Amy Nicole Langville・Carl Dean Meyer(2004)「Deeper Inside PageRank」Internet Mathematics. https://doi.org/10.1080/15427951.2004.10129091
  3. Sepandar D. Kamvar・Taher H. Haveliwala・Christopher D. Manning ほか(2003)「Extrapolation methods for accelerating PageRank computations」World Wide Web. https://doi.org/10.1145/775152.775190
  4. David F. Gleich(2015)「PageRank Beyond the Web」SIAM Review. https://doi.org/10.1137/140976649
  5. Michael O. J. Thomas・Sepideh Stewart(2011)「Eigenvalues and eigenvectors: embodied, symbolic and formal thinking」Mathematics Education Research Journal. https://doi.org/10.1007/s13394-011-0016-1

本気になった日が、入塾の日。

お子様の教育、迷ったら「丸投げ」してください。必ず、期待以上の結果で返します。武蔵野で育む、武蔵境で学ぶ。

電話は年中無休。365日、24時間、お電話可能。

お電話 チャットで質問チャット