対角化 | やり方の理論を具体例で実践【理論の証明は区分された行列で】
" 対角化 “のやり方についての理論を用いて、具体的に行列の対角化を実践しています。
また、記事の後半で、その理論を区分された行列についての乗法の観点から証明しています。
適切に区分を設定することで、P-1AP という行列の乗法を明確に把握し、理論の下支えの計算を見切ることが大切になります。
対角化の議論は、線形代数学の終盤の内容になり、既に学習した行列についての理論を使いながら、対角化についての新しい理論を構築することになります。
行列の各列から列ベクトルを作ったときに、それらの列ベクトルが線形独立であれば、行列の行列式が零でなく、逆行列をもつということも使います。
この記事では、複素数全体を C と表し、複素数を成分とする n 行 1 列の列ベクトル全体を Cn と表すことにします。
また、記事の後半では、固有値についての基礎的な内容を述べています。
対角化 :理論の内容を理解する
V を複素数体 C 上の n 次元ベクトル空間とし、f を V から V への線形変換とします。
そして、f の行列表示を A とします。
A は複素数を成分とする n 次の正方行列となっています。
そして、A を n 次の列ベクトルに左から掛けることで、A は Cn から Cn への線形変換を引き起こします。
この内容を表現行列についての理論として学習しているわけですが、A をうまく変形して対角行列にしようというのが、対角化についての理論です。
u∈V-{0} を f で移したとき、
ある複素数 λ が存在して、
f(u) = λu となっているときに、u を固有値 λ についての固有ベクトルといいます。
p∈Cn を、この u に対応する列ベクトルとすると、
Ap と列ベクトルに左から行列 A を掛けると、
Ap = λp となります。
※ 固有方程式を解くことで、固有値 λ が求まります。
このような、これまでに学習した内容を使って、さらに確実に対角化ができるときの理論を構築することを考えます。
その理論の一つとなる定理を、先に述べておきます。
対角化についての定理
【定理】
A を複素数を成分とする n 次正方行列とし、λ1, … , λn を A の相異なる固有値とする。
また、各 λi についての固有ベクトルを pi∈Cn とする。
このとき、
p1, … , pn を 1 列目から n 列目まで並べた行列を P とすると、P-1AP は対角行列である。
λ1, … , λn が A の相異なる固有値なので、それぞれについての固有ベクトル p1, … , pn は線形独立となっています。
※ 固有方程式という記事で、線形独立(一次独立)であることの証明を解説しています。
そのため、それらを 1 列目から n 列目まで並べた行列 P の行列式の値は零ではありません。
行列式の値が零でないことから、P は可逆(正則)ということになり、P は逆行列 P-1 を持ちます。
学習の始めの段階で一般の n だと難しいので、n が 2 のときについて、この定理を具体的な例を通して使ってみます。
対角化 :具体例で理論を実践
複素数を成分とする 2 次正方行列を A とし、A の固有値を λ1, λ2 とします。
そして、λ1, λ2 についての固有ベクトルをそれぞれ p1, p2 とします。
次の図で述べている行列 A について、固有方程式を解き、λ1, λ2 をそれぞれ 2 と 5 としています。
2 次の固有ベクトル p1, p2 を求めておいて、それらを 1 列目と 2 列目に配置した行列を P と置きます。
これで、【定理】の条件が整いました。
実際に P-1AP を計算すると、対角行列となっています。
対角成分に、はじめに与えられていた固有値が現れています。
理論と照らし合わせる
λ1 = 2, λ2 = 5 は相異なる固有値なので、固有ベクトル p1, p2 は計算しなくても線形独立となっていることが分かります。
また、P = (p1 p2) の各列についての列ベクトルが線形独立なので、P の行列式の値は零でないことが、行列式についての一般論から分かります。
そのため、逆行列 P-1 が存在します。
P が具体的な比較的に扱いやすい行列なので、直接計算で P-1 を求めることができます。
ただし、直接に P-1 を求めなくても、
P-1AP が (1, 1) 成分 λ1, (2, 2) 成分 λ2 の対角行列だと分かります。
これは、ブロック分割についての行列の乗法についての考え方です。
P-1 の 1 行目から行ベクトル q1 を作り、2 行目から行ベクトル q2 を作ります。
すると、P-1 は、q1 と q2 という 1 行 2 列の行列を区分行列として 1 列に配置した行列となっています。
P = (p1 p2) は 2 行 1 列の行列を区分行列としています。
適切に区分行列がセットされているので、P-1P という行列の乗法をブロック分割を通して計算することができます。
単位行列を E とすると、P-1P = E なので、
q1p1 = q2p2 = 1,
q1p2 = q2p1 = 0 と分かります。
qipj は 1 行 2 列と 2 行 1 列の行列の積なので、1 行 1 列の行列となっています。
また、AP = (Ap1, Ap2) で、
Api = λipi (i = 1, 2) だから、
AP = (Ap1, Ap2) = (λ1p1, λ2p2) となっています。
実際にブロック分割された行列を計算してみます。
理論の部分を n = 2 のときに確認しました。λ1 と λ2 はスカラーなので、複素数の乗法が可換なことから、スリ抜けてくれます。
一般の n 次正方行列についても、同様のブロック分割による計算で【定理】が証明できます。
対角化 :理論の証明
【定理】
A を複素数を成分とする n 次正方行列とし、λ1, … , λn を A の相異なる固有値とする。
また、各 λi についての固有ベクトルを pi∈Cn とする。
このとき、
p1, … , pn を 1 列目から n 列目まで並べた行列を P とすると、P-1AP は対角行列である。
<証明>
P = (p1 p2 … pn) と n 個の列ベクトルに分割します。
pj∈Cn は固有値 λj についての固有ベクトルです。
λ1, … , λn は A の相異なる固有値なので、
p1, … , pn が線形独立で、
|P| ≠ 0 より、P には逆行列 P-1 が存在します。
P-1 の i 行目を qi という行ベクトルにして、ブロック分割をします。
qi は 1 行 n 列、pj は n 行 1 列の区分行列なので、
qipj は 1 行 1 列の正方行列です。
そして、P-1P = E より、
i ≠ j の場合、qipj = 0,
i = j の場合、qipj = 1 となっています。
AP = (Ap1 Ap2 … Apn)
= (λ1p1 λ2p2 … λnpn) です。
よって、P-1(AP) が計算できます。
これで証明が完了しました。
n = 2 のときと同じブロック分割を使った行列の乗法の計算でした。
今回の記事では、複素数体上で議論を進めていたので、n 次の固有方程式が必ず解を持ちます。
細かいことを述べると、複素数体は代数学の基本定理により、n 次の複素係数の方程式は重解を含めて n 個の解をもちます。
しかし、実数体上での行列の話だと、n 次の固有方程式が虚数解を持ち、実数の範囲内では固有ベクトルが存在しないということが起こるときがあります。
そういったことまで考えると、対角化可能かどうかの議論が出てきますが、学習をし始めるときに、まずは n 個の固有値が相異なるという状況で、確実に対角化できるときの定理から勉強をすると良いかと思います。
次に、対角化された対角行列について、計算がしやすいことを示す内容を説明します。
対角行列のk乗
【命題】
A = (aij) を n 次の対角行列だとし、k を自然数とします。
このとき、Ak も対角行列で、
1 ≦ i ≦ n について (i, i) 成分の値は (aii)k となっています。
<証明>
A は対角行列なので、対角成分でない成分の値は 0 となっています。
つまり、
i ≠ j のとき aij = 0 となっています。
A2 = AA を行列の乗法の定義に基づいて、帰納法で示します。
A2 の (s, t) 成分は、
as1a1t+as2a2t+…+asnant です。
ここで、
a1t, a2t, … , ant のうち、
att 以外の値は 0 です。
そのため、
as1a1t+as2a2t+…+asnant
= astatt となっています。
s ≠ t のとき、
ast = 0 なので、
(s, t) 成分の値は、
as1a1t+as2a2t+…+asnant
= astatt = 0 です。
これで A2 の対角成分以外の成分の値がすべて 0 ということが分かりました。
次に s = t のときを考えます。
A2 の (s, s) 成分の値は
as1a1s+as2a2s+…+asnans
= assass = (ass)2 です。
これで、A2 も対角行列で、
1 ≦ i ≦ n について (i, i) 成分の値は (aii)2 となっていることが示せました。
繰り返しの操作について
k = p のとき、
Ap も対角行列で、
1 ≦ i ≦ n について (i, i) 成分の値は (aii)p となっていると仮定します。
ここで、Ap の (s, t) 成分を bs,t と置くことにします。
つまり、
s ≠ t のとき bs,t = 0,
s = t のとき bs,t = (ass)p です。
Ap+1 = ApA の (s, t) 成分は
bs1a1t+bs2a2t+…+bsnant
= bstatt となっています。
s ≠ t のとき、
bst = 0 より、
Ap+1 = ApA の (s, t) 成分は 0 です。
このため、Ap+1 は対角行列となっています。
今度は、s = t のときを考えます。
Ap+1 の (s, s) 成分は、
bs1a1t+bs2a2t+…+bsnant
= bssass
= (ass)pass
= (ass)p+1 です。
これで k = p+1 のときにも成立していることが示せました。
帰納法より、任意の自然数 k について、命題が成立しています。【証明完了】
行列の対角化について、行列の乗法と定義とブロック分割、そして行列式についての理論を使いました。
対角化を通じて、行列についての理論を使う練習をしておくと、大学の数学科の今後の学習に役立ちます。
代数学で、群論を学習しますが、よく知られた群論の内容で行列が関連することがあります。
例えば、一般線形群について、基礎的なことを学習するときに、行列についての理論を使いながら群としての構造を考えます。
行列の計算についての理論を着実に押さえておくと、さらに代数学の理解を広げることができるので、n 次についての抽象的な証明に慣れておくと、その後に役立つ分野があります。
ここからは、固有値について解説をします。
固有値 :まずは行列で表すことから
R を実数全体から成る体とします。
また、{(s, t) | s, t∈R} を V とします。
中学一年のときから使っている座標平面が V という R 上の線形代数です。
f : V → V という線形変換を次のように定義します。
(s, t)∈V に対して、
f(s, t) = (s+t, t) と定めます。
この f は線形写像の定義を満たします。
固有値の議論をする段階にまで学習が進むと、省略されることが多いかと思いますが、線形写像の定義を確認しておきます。
定義に基づき示す
【線形写像の定義】
V, W を R 上の線形代数(ベクトル空間)とする。
f : V → W が次を満たすとき、f を線形写像という。
任意の x, y∈V, r∈R に対し、
f(x+y) = f(x)+f(y),
f(rx) = rf(x)
V = W となっているときの線形写像のことを線形変換といいます。
先ほどの f(s, t) = (s+t, t) と定義した写像が線形変換となっていることを確かめます。
x = (s, t), y = (p, q) を V の任意の元とします。
すると、
x+y = (s+p, t+q) より、
f(x+y) = f(s+p, t+q)
= (s+p+t+q, t+q) …(1)
一方、
f(x)+f(y)
= (s+t, t)+(p+q, q)
= (s+t+p+q, t+q)
= (s+p+t+q, t+q) …(2)
(1) と (2) より、
f(x+y) = f(x)+f(y) です。
もう一つの線形写像の条件を確認します。
r∈R について、
f(rx) = f(rs, rt)
= (rs+rqt, rt)
= r(s+t, t) = rf(x)
これで、f が線形写像の定義を満たすことの確認を完了できました。
始集合と終集合がともに V のときを考えているので、f は V から V への線形変換です。
次に、この線形変換 f を行列で表します。
行列にすることで、固有値を求める理論を使うことができます。
基本ベクトルの行き先を追う
e = (1, 0), d = (0, 1) とします。
この二つの平面ベクトルの一次結合で、座標平面 V の任意のベクトルを表すことができます。
それゆえに、{e, f} が V の基底となっています。
f(e) = (1, 0), f(d) = (1, 1) です。
そのため、∀s, t ∈R に対し、
(s, t) = se+td の行き先を基底の一次結合で表すことができます。
そのため、
f(e) = (1, 0) = 1e+0d,
f(d) = (1, 0) = 1e+1d です。
この一次結合に現れているスカラー倍の部分の実数が f に対応する行列の成分となっています。
f を表す行列を M とすると、
(1, 1) 成分 1, (1, 2) 成分 1,
(2, 1) 成分 0, (2, 2) 成分 1 となっています。
f(e) = 1e+0d の 1 と 0 を縦に行列に配置すると、M の 1 列目の成分です。
f(d) = 1e+1d の 1 と 1 を縦に行列に配置すると、M の 2 列目の成分です。
※ 行列表示については、基底変換行列という記事も投稿しています。
これで、 f の行列表示が完了しました。
これで次の固有値を求めるフェーズへと進むことができます。
固有値 λ(ラムダ)の値を求める
実数 λ について、
v∈V が零ベクトルでなく、
かつ f(v) = λv を満たすとき、λ を f の固有値、v を λ についての固有ベクトルといいます。
ここで、v を R の元を成分とする列ベクトルとして表示したものを u とします。
すると、
Mu = λu となります。
E を 2 次の単位行列、o を (1, 1) 成分 0, (2, 1) 成分 0 の列ベクトルとすると、移項して次の等式が得られます。
(M-λE)u = o …★
ここで、v が零ベクトルでないということから、対応する列ベクトル u も零ベクトルではありません。
そのため、M-λE は逆行列をもちません。
もし逆行列が存在したと仮定すると、
(M-λE)-1(M-λE)u
= (M-λE)o = o となり、
u = o となり、u が零ベクトルでないことに矛盾します。
二つの分岐の可能性があり、片方の論理の行き先が矛盾というときに、矛盾が出るルートを放棄するのが背理法の考え方です。
そのため、M-λE には逆行列が存在しません。
逆行列が存在しないということは、行列式を用いて書き換えることができます。
|M-λE| = 0 ということと同値になります。
※ この 0 は実数の零です。
この |M-λE| = 0 という等式が、λ についての固有方程式です。
この方程式の解を求めると、固有値 λ の値が求まります。
目標の行列式の計算
2 次正方行列 M は、
(1, 1) 成分 1, (1, 2) 成分 1,
(2, 1) 成分 0, (2, 2) 成分 1 でした。
λE は対角成分が全て実数 λ の対角行列です。
そのため、
M-λE は、
(1, 1) 成分 1-λ, (1, 2) 成分 1,
(2, 1) 成分 0, (2, 2) 成分 1-λ です。
行列式を計算すると、
|M-λE| =
(1-λ)(1-λ)-1・0
= (1-λ)2 です。
逆行列が存在しないことから、行列式の値は 0 でした。
0 = |M-λE| = (1-λ)2,
つまり、(λ-1)2 = 0 です。
左辺も右辺も実数なので、
λ = 1 です。
これで M の固有値 λ が 1 と分かりました。
固有値の値が定まれば、固有ベクトル u を用いた先ほどの行列についての等式★が利用できます。
(M-λE)u = o でした。
ここへ λ = 1 を代入することで、u の成分についての情報が得られます。
u の (1, 1) 成分を p、(2, 1) 成分を q と置いておきます。
固有値 λ :固有ベクトル
固有ベクトル v に対応する列ベクトル u の (2, 1) 成分の値が 0 ということが分かりました。
u は 零ベクトルではないので、p は零でない実数ということになります。
そうすると、図に赤色で書いている
(1, 1) 成分 1、(2, 1) 成分 0 の列ベクトルに対応する V のベクトルが e だったので、固有ベクトルが分かりました。
固有ベクトル v は、
e = (1, 0) を零でない実数 p でスカラー倍したものということになります。
すなわち、
v = pe = (p, 0) です。
ただし、p ≠ 0 です。
線形代数の元と列ベクトルを対応させる考え方は、線形写像の行列表示のときに使う内容になります。
p に零でない実数を代入すると、無限個の固有ベクトルが得られることになります。
しかし、それらは全て一次従属になっています。
結局、p = 1 のときの (1, 0) が固有ベクトルでした。
(x, y)∈ ker f とすると、
d∈ ker f となっています。
d = (0, 1) について、
f(d) = (0, 0) だからです。
このため、ker f の次元は 1 以上です。
また、f(d) が零元 (0, 0) で、
f(e) = (1, 0) = e だから、
Im f ≠ V です。
そのため、dim(Im f) = 1 です。
さらに、退化次数という ker f の次元も分かります。
dim(ker f) = dim V-dim(Im f)
= 2 - 1 = 1 です。
関連する記事として、
End(V)エンドモルフィズムという線形写像の成す環についての記事を投稿しています。
それでは、これで今回の記事を終了します。
読んで頂き、ありがとうございました。