本記事の内容
本記事は「行列の対角化」について解説する記事です。
本記事を読むにあたり、固有値、固有ベクトルについて知っている必要があるため、以下の記事も合わせてご覧ください。
対角化って何スか?
対角化を平たく言うと、
です。
ここで、行列の相似というのはB=P−1APという正則行列Pが存在するときにAとBは相似と言ったのでした。
これをしっかり書くと次です。
対角化、対角化可能
正方行列Aが与えられたとき、B=P−1APが対角行列になるような正則行列PとBを求めることを行列Aの対角化という。そしてこのようなPおよびBが存在するときAは対角化可能であるという。
「ふーん。対角化ってそういうことか。」となると思いますが、一般の行列Aに対してB=P−1APで、かつBが対角行列となるような正則行列Pが必ずしも存在するとは限りません。
では、どういうときに存在するのか、ということを本記事は固有値、固有ベクトルのコンセプトを用いて説明します。
もし仮に、正方行列Aが対角行列
D=(λ1O⋱Oλn)
に相似であれば、すなわち、D=P−1APを満たすような正則行列Pが存在すれば、λ1,…,λnがAの固有値全体と一致します。
実際、次の2つが成り立ったからでした。
定理1.
n次正方行列Aが三角行列である時、Aの固有値全体は重複も込めてAの対角成分と一致する。定理2.
n次正方行列AおよびBが相似であれば、 φA(t)=φB(t) である。従って、AとBの固有値全体は重複を込めて一致する。要するに、とある条件下では固有値を対角成分に持つ対角行列に対角化できる、ということで、あるしゅ固有値の計算をするだけで対角化したあとの行列が分かってしまう、ということです。
固有ベクトルの線型独立性
まずは相異なる固有値に属する固有ベクトルは線型独立であることを示します。
これ、重要です。
相異なる固有値に属する固有ベクトルは線型独立なベクトルです。
定理3.
n次正方行列Aの相異なる固有値をλ1,…,λs (s≤n)とする。各固有値λiに属する固有ベクトルをxiとするとき、x1,…,xsは線型独立である。定理3.の証明
数学的帰納法で証明します。
x1は固有ベクトルなので、x1≠0です。
従って、c1x1=0とするとき、c1=0でなければなりません。
故に、x1は線型独立です。
次に、r<sを満たすようなr∈Nが存在して、x1,…,xrは線型独立だとして、x1,…,xr,xr+1も線型独立であることを示します。
そこで、背理法を用います。
すなわち、x1,…,xrは線型独立だけれど、x1,…,xr,xr+1は線型独立でない、すなわち線型従属だとして矛盾を導きます。
ここで、次の定理を使います。
定理4.
Vを線型空間とする。a1,a2,…,arが線型独立で、a1,a2,…,ar,aが線型従属であれば、aはa1,a2,…,arの線型結合として一意的に表される。定理4.の証明は【線型代数学の基礎シリーズ】線型空間編 その2を御覧ください。
定理4.から、
xr+1=c1x1+⋯+crxr⋯①
と一意的に表すことができます。
xr+1は固有値λr+1に属する固有ベクトルなのでxr+1≠0です。
従って、c1,…,crの中に少なくとも1つは0でないものが存在します。
さて、各xiを列ベクトルで表し、①の両辺に左からAをかければ、
Axr+1=c1Ax1+⋯+crAxr
となります。
各xiは固有値λiに属する固有ベクトルなので、
Axi=λixi
を満たすから
λr+1xr+1=c1λ1x1+⋯+crλrxr⋯②
となります。
また、①の両辺にλr+1をかけて
λr+1xr+1=c1λr+1x1+⋯+crλr+1xr⋯③
となります。
②および③により、
c1(λ1−λr+1)x1+⋯+cr(λr−λr+1)xr=0
ここで、仮定から固有値は相異なるので、1≤i≤rを満たすi∈Nに対してλi−λr+1≠0であり、あるjでcj≠0なわけですので、上記の式は自明でない線型関係式です。
しかしながら、これはx1,…,xrが線型独立であることに反します。
従って、x1,…,xr,xr+1も線型独立です。
以上のことから、相異なる固有値に属する固有ベクトル同士は線型独立です。
定理3.の証明終わり
固有値が存在する行列には対角化っぽいことができます。
次に対角化っぽい事実を示します。
定理5.
Aをn次正方行列、λ1,…,λnをAの固有値、x1,…,xnをそれぞれに属する固有ベクトルとする。ただし、λiは相異なるとは仮定しない。そして、xiを第i列とする正方行列をQとする。すなわち、 Q=(x1 ⋯ xr) とする。このととき、 AQ=Q(λ1O⋱Oλn) が成り立つ。逆に、n次正方行列Qとνi (i=1,…,n)が存在して、 AQ=Q(ν1O⋱Oνn) を満たし、Qの各列ベクトルが零ベクトルでないならば、νiはAの固有値で、Qの第i列は固有値νiに属する固有ベクトルである。
定理5.の証明
Aをn次正方行列、λ1,…,λnをAの固有値、x1,…,xnとします。
(前半の証明)
λ1,…,λnはAの固有値で、x1,…,xnは各固有値λiに属する固有ベクトルなので
Axi=λixi(xi≠0)
です。
すると、この両辺は列ベクトルの形をしています。
この列ベクトルを第i列とする行列をそれぞれ考えて、次の等式を得ます。
A(x1 x2 … xn)=(Ax1 Ax2 … Axn)=(λ1x1 λ2x2 … λnxn)=(x1 x2 … xn)(λ1λ2OO⋱λn)
従って、等式
A(x1 x2 … xn)=(x1 x2 … xn)(λ1λ2OO⋱λn)
ここで、Q=(x1 x2 … xn)なのだから、この式は
AQ=Q(λ1λ2OO⋱λn)
と書き直すことができます。
(後半の証明)
逆に、各列ベクトルが零ベクトルでないようなn次正方行列Qとνi (i=1,…,n)で、
AQ=Q(ν1λ2OO⋱νn)
を満たしているとします。
行列Qの第i列をxiと書くことにすると、上の等式の両辺の第i列を取り出して考えることで、
Axi=νixi
となります。
今、仮定からxi≠0ですので、νiはAの固有値で、かつxiは固有値νiに属する固有ベクトルです。
定理5.の証明終わり
この章で言いたかったこと
定理5.から「あれ?もうこれで対角化の話はおしまいじゃない?」と思うかもしれませんがそうではありません。
注意して置かなければならないのは、「必ずしもQは正則ではない」ということです。
というのも、λ1,…,λnは相異なるとは仮定していないので、固有ベクトルx1,…,xnは線型独立とは限らないからです。
言ってしまえば、固有ベクトルの中には同じベクトルがあるかもしれません。
故に、行列Qは必ずしも正則ではありません。
もし仮にQが正則であれば、Qの逆行列Q−1が存在しますので、
AQ=Q(λ1λ2OO⋱λn)⇔Q−1AQ=(λ1λ2OO⋱λn)
となって対角化可能です。
とどのつまり、固有値が存在するような行列に対しては、対角化”っぽい”ことができる、というわけです。
ここで「ほーん。したらばQが正則だったらい良いわけね?でもそんなん見つけられんの?」となると思います。
見つけられます。
そこで鍵となるのが固有ベクトルなのです。
少々ネタバラシですが、固有値が相異なっていれば、固有ベクトルを用いることで正則なQを見つけることができます。
行列の固有値が相異なれば、固有ベクトルを並べた行列で対角化可能です。
なんとびっくり、固有値が相異なれば固有ベクトルを並べた行列で対角化可能なのです。
先程「Qが正則だったらいいよねえ」という話をしましたが、固有値が相異なれば、固有ベクトルは線型独立ですので正則な行列となります(これは以前に証明したことで、この章の主張を証明するときに改めて明示します)。
従って、固有値が相異なるときに固有ベクトルを並べた行列は正則な行列です。
故にこの章で言いたかったことで述べた操作で対角化可能なのです。
この主張を明示します。
定理6.
n次正方行列Aが相異なるn個の固有値λ1,…,λnをもつならば、Aはこれらを対角成分に持つ対角行列に対角化可能である。つまり、ある正則行列Pが存在して P−1AP=(λ1O⋱Oλn) となる。定理6.の証明
先程述べたことをしっかり書くだけです。
Aの固有値λ1,…,λnに属する固有ベクトルをx1,…,xnとすると、定理3.から固有ベクトルは線型独立なので、x1,…,xnは線型独立です。
従って、x1,…,xnはRnの基底です。
そこで、xiを第i列とするような正方行列をPとします。
すなわち、P=(x1 x2 …xn)とします。
ここで、次の事実を使います。
定理7.
n∈Nとし、Aをn次正方行列、a1,a2,…,anをAの行ベクトル、a′1,a′2,…,a′nをAの列ベクトル、とするとき、次の条件は同値である。- det(A)≠0
- a′1,a′2,…,a′nは線型独立である。
- a1,a2,…,anは線型独立である。
定理7.の証明は【線型代数学の基礎シリーズ】線型空間編 その3を御覧ください。
定理7.により、Pは正則行列です。
そして、定理5.から
AP=P(λ1λ2OO⋱λn)⇔Q−1AQ=(λ1λ2OO⋱λn)
が成り立ちます。
ここで、Pは正則な行列なのでPの逆行列P−1が存在します。
故に、この等式の両辺に左からP−1をかけて
P−1AP=(λ1λ2OO⋱λn)⇔Q−1AQ=(λ1λ2OO⋱λn)
が得られます。
定理6.の証明終わり
固有値の重複度と固有空間の次元
ちょっと話は変わりますが、対角化の話を先にすすめるために少々準備をします。
固有値の重複度
固有値は必ずしも相異なるわけではありませんでした。
そこで、どのくらい重複しているか、ということを表す指標が固有値の重複度です。
一言で言ってしまえば、
「は?重複度を知りたいってのに、重複度を使ってんじゃねえよ。説明になってねえよ。」という感じですね。
ちゃんと書きます。
固有値の重複度
n次正方行列Aの固有値をλ1,…,λdとする。このときλiは相異なっていて、Aの固有多項式φA(t)が φA(t)=(t−λ1)r1⋯(t−λd)rd という形をしていれば、riを固有値λiの重複度という。つまり、固有多項式の各λiの累乗が重複度ということです。
固有値の重複度と固有空間の次元の間の関係
定理8.
Aをn次正方行列、λをAの1つの固有値とするとき、定理8.の証明
r=(λに属する固有空間V(λ)の次元)、k=(λの重複度)としましょう。
このとき、x1,…,xrを連立斉一次方程式
(A−λIn)x=0
1組の解とします。
これにn−r個のベクトルxr+1,…,xnを補充して、
x1,…,xr,xr+1,…,xn
がRnの基底となるようにすることができます。
実際、次が成り立つからです。
補題9.
Vをn次元線型空間とする。Vのベクトルの組a1,…,arが線型独立で、r<nであれば、n−r個のベクトルar+1,…,anを選んで a1,…,ar,ar+1,…,an がVの基底となるようにできる。補題9.の証明
b1,…,bnをVの基底とします。
r+nこのベクトルa1,…,ar,b1,…,bnの中から、この順番に線型独立なものを選びます。
すなわち、次の操作をします。
まず、a1,…,ar,b1が線型独立ならば、b1を付け加えて、線型従属ならばb1を除きます。
この操作をb1,…,bnに順番に行った結果を
a1,…,ar,bi1,…,bis
としましょう。
このベクトルの組は線型独立であり、この里の任意のbjを付け加えると線型従属になってしまいます。
ここで、定理4.からbjはこれらの線型結合で表されます。
従って、この組は線型空間Vの基底です。
勿論r+s=nです。
このbi1,…,bisを順々にar+1,…,anとすればOKです。
補題9.の証明終わり
さて、定理8.の証明に戻ります。
今、補題9.により
x1,…,xr,xr+1,…,xn
がRnの基底となるようにすることができます。
そこで、n次正方行列Pを
P=(x1 ⋯ xr xr+1 ⋯ xn)
によって定めると、定理7.からPは正則で、
AP=A(x1 ⋯ xr xr+1 ⋯ xn)=(Ax1 ⋯ Axr Axr+1 ⋯ Axn)=(λ1x1 ⋯ λrxr Axr+1 ⋯ Axn)
です。
ただし、最後の式はx1,…,xrが
(A−λIn)xi=0
を満たしていたからです。
ここで、Axr+1,⋯,AxnはPの列ベクトルの線型結合で書けるから、
AP=(λ1x1 ⋯ λrxr Axr+1 ⋯ Axn)=(x1 ⋯ xr xr+1 ⋯ xn)(λO⋱BOλOC)=P(λO⋱BOλOC)
と表されます。
ただし、左上の対角行列は(r,r)型です。
従って、
P−1AP=(λO⋱BOλOC)
です。
ここで、次の事実を使います。
定理10.
n次正方行列Aが A=(BCOD) の形をしているとする。ここでBはr次正方行列、Cは(r,s)型の行列、Dはs次正方行列、Oは(s,r)型の零行列とする。このとき、 φA(t)=φB(t)⋅φD(t) が成り立つ。従って、行列Aの固有値の全体は、重複も込めて行列Bの固有値と行列Dの固有値をあわせたものと一致する。定理10.の証明は【線型代数学の基礎シリーズ】固有値編 その1を御覧ください。
定理10.を使うことで、P−1APの固有多項式φP−1AP(t)は
φP−1AP(t)=(λ−t)r⋅det(C−tIn−r)
です(ただし、In−rはn−r次の単位行列です)。
更に、次の事実を使います。
定理11.
n次正方行列AおよびBが相似であれば、 φA(t)=φB(t) である。従って、AとBの固有値全体は重複を込めて一致する。定理11.の証明は【線型代数学の基礎シリーズ】固有多項式編 その1を御覧ください。
定理11.により、P−1APとAの固有値は等しいので、
φA(t)=φP−1AP(t)=(λ−t)r⋅det(C−tIn−r)
です。
λはφA(t)のk重解でしたから、r≤kということが成り立ちます。
定理8.の証明終わり
対角化の主定理
本記事で最も言いたい定理
本記事で最も言いたいことです。
定理12.
n次正方行列Aについて次の4条件は同値である。- Aは対角化可能である。
- Aの固有多項式は重複を込めてn個の解を持ち、かつ各固有値の重複度はその固有値に属する固有空間の次元に一致する。 すなわち、Aの異なる固有値をλ1,…,λsとし、λiの重複度をki、λiに属する固有空間をV(λi)とするとき、 s∑i=1ki=n,ki=dim(V(λi)) (i=1,…,s) が成り立つ。
- Aの各固有値に属する固有空間の次元の和はnになる。 すなわち、Aの異なる固有値をλ1,…,λsとし、λiに属する固有空間をV(λi)とするとき、 s∑i=1dim(V(λi))=n が成り立つ。
- n個の線型独立なAの固有ベクトルが存在する。
定理12.の証明
(1.⇒2.の証明)
Aは対角化可能なので、正則行列Pが存在して、
P−1AP=(α1O⋱Oαn)
とできます。
αiはP−1APの固有値ですので、定理11.からAの固有値でもあります。
従って、順番を変えてまとめれば、λ1のブロック、λ2のブロック、⋯、λsのブロックと言う具合にできます。
順番を変えるというのはPの取替でできますので、結局の所Pが存在して、
P−1AP=(λ1⋱λ1O⋱⋱Oλs⋱λs)
とできます。
ただし、左上から対角にλ1がk1個、⋯、λsがks個並んでいます。
ここで、kiは固有値λiの重複度であり、かつs∑i=1ki=nを満たしています。
この氷裂の等式の両辺に左からPをかけることで、
AP=P(λ1⋱λ1O⋱⋱Oλs⋱λs)
となります。
ここで、行列Pを列ベクトルが並んだものとみなし、上の行列の積の等式から、両辺の第iどうしの等式を抜き出すことによって、Pの
- 最初のk1個の列ベクトルは固有値λ1に属する固有ベクトル、
- 次のk2個の列ベクトルは固有値λ2に属する固有ベクトル、
⋮ - 最後のks個の列ベクトルは固有値λsに属する固有ベクトル
であることが分かります。
仮定からPは正則な行列なので、Pの列ベクトル全体は線型独立です。
従って、特にi番目のブロックに対応するPのki個の列ベクトルの集合も線型独立であり、これらのベクトルは固有値λiに属する固有ベクトルです。

従って、
k≤dim(V(λi))(i=1,…,s)
が成り立ちます。
定理8.から、
k≥dim(V(λi))(i=1,…,s)
ですので、
k=dim(V(λi))(i=1,…,s)
が成り立ちます。
(2.⇒3.の証明)
ki=dim(V(λi))をs∑i=1ki=nに代入することで、
s∑i=1dim(V(λi))=n
が得られます。
(3.⇒4.の証明)
ri=dim(V(λi))として、V(λi)の1つの基底をw(i)1,…,w(i)riとします。
仮定から
s∑i=1ri=n
です。
このとき、n個のベクトル
w(1)1,…,w(1)r1,…,w(s)1,…,w(s)rs
が線型独立だということを示しましょう。
故に、
s∑i=1ri∑j=1cijw(i)j=0
としましょう。
ここで、
v(i)=ri∑j=1cijw(i)j
とすると、
v(i)∈V(λi),v(1)+⋯+v(s)=0
です。
今、ベクトルv(1),…,v(s)のうち、零ベクトルでないものがあるとすれば、それらを集めたものは定理3.から線型独立です。
これは、
v(1)+⋯+v(s)=0
に矛盾します。
従って、
v(i)=ri∑j=1cijw(i)j=0
が、任意のi=1,…,sに対して成り立ちます。
しかしながら、w(i)1,…,w(i)riは線型独立だったので、cij=0 (i=1,…,s, j=1,dots,ri)が成り立ちます。
すなわち、
w(i)j(i=1,…,s, j=1,dots,ri)
は線型独立になります。
こうして、n個の線型独立なAの固有ベクトルの存在が示されました。
(4.⇒1.の証明)
Awi=λiwi (i=1,…,n)かつw1,…,wnが線型独立だとします。
そこで、w1,…,wnを列ベクトルに持つn次正方行列をP=(w1 … wn)とすると、定理7.からPは正則で、定理5.から等式
AP=P(λ1λ2OO⋱λn)
です。
従って、
P−1AP=(λ1λ2OO⋱λn)
となって、Aは対角化可能です。
定理12.の証明終わり
個人的によく使うのは4.です。
いっちょ計算してみっか。
例13.A=(1102)が対角化可能か判定して、対角化可能なら対角化しましょう。
まず、固有値を求めてみます。
φA(t)=det(A−tI2)=|−t102−t|=(t−1)(t−2)
となるので、φA(t)=0の解はt=1,2となって、固有値λ=1,2です。
固有値が相異なっているので、λ1=1に属する固有ベクトルとλ2=2に属する固有ベクトルは線型独立です。
従って、定理12.からAは対角化可能です。
実は、すでに対角化可能だということが分かった時点で、定理5.から
(1002)
と対角化できることが分かります。
しかし、一度正則行列Pを求めて実際に計算してみます。
そこで、それぞれの固有値に属する固有ベクトルを求めます。
(λ1=1に属する固有ベクトル)
(1−λ1102−λ1)(xy)=(1−1102−1)(xy)=(0101)(xy)=0
としたとき、この解は
c(10)(c∈R)
です。
ここで、
x1=(10)
とします。
(λ2=2に属する固有ベクトル)
(1−λ2102−λ2)(xy)=(1−2102−2)(xy)=(−1100)(xy)=0
としたとき、この解は
c(11)(c∈R)
です。
ここで、
x2=(11)
とします。
従って、
P=(x1 x2)=(1101)
とします。
このとき、det(P)=1≠0ですので、Pは正則です。
Pの逆行列P−1は
P−1=(1−101)
です。
では、P−1APを計算してみます。
P−1AP=(1−101)(1102)(1101)=(1−102)(1101)=(1002)
となって、対角化完了です。
結
今回は行列の対角化、どういうときに対角化可能なのか、ということについて解説しました。
対角化可能な条件は固有空間の次元、固有方程式の解の重複度、固有ベクトルと蜜に関係しているのでした。
特に、一番シンプルなのが、固有値がすべて相異なっている場合で、この場合は固有値を求めるだけで直ちに対角化後の行列が求まります。
次回は対角化を少し緩めた三角化について解説します。
乞うご期待!質問、コメントなどお待ちしております!
コメントをする