Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
固有値と固有ベクトル
1 行列の固有値問題n次正方行列A
A =
a11 · · · a1n... · · · ...
am1 · · · amn
について次の方程式を考える。
Ax = λx (1)
ここで、x は n項列ベクトル、λは未知のスカラーパラメータである。この形の方程式は、物理学、経済学、情報科学、など多くの分野に現れる重要な方程式であり、
固有方程式あるいは固有値問題 (eigenvalue problem) と呼ばれる。x = 0はこの形の方程式の自明な解であるが、それ以外に解があるだろうか。固有値方程式が解ける (方程式を満足する x ̸= 0が存在する) ためには、パラメータ λは、任意の
値で良い訳ではなく、行列 A によって定まるある値でないといけない。この値を固有値 (一般には複数個ある) と呼ぶ。
λが固有値であるとき、方程式 Ax = λx を解いて求められる x を固有ベクトルと呼ぶ。方程式 Ax = λx に対応する固有値を左固有値、方程式 yT A = λyT に対応する固有値を右固有値
と呼ぶことがある。一般には両者は一致しない。今後は左固有値に対応する固有値問題だけを考える。x が 方程式 Ax = λx の解なら、これをスカラー倍した cx も解となる。したがって、定数倍の不
定性があるので、長さを単位長 (長さ 1)に正規化することが良く行なわれる。以下では固有ベクトルとしてはこの正規化したベクトルを考えるものとする。
1.1 固有値の性質
固有値、固有ベクトルに関しては以下の定理が成立する。
• Th09-1
固有値問題 Ax = λx の固有値は、次の方程式の解となる。
|λEn − A| =
∣∣∣∣∣∣∣∣∣∣∣∣
λ − a11 −a12 · · · −a1n
−a21 λ − a22 · · · ......
... · · · ...
−an1 −an2 · · · λ − ann
∣∣∣∣∣∣∣∣∣∣∣∣この行列式を展開すれば、λの n次多項式になるが、これを特性多項式と呼ぶ。
固有値 λは特性多項式を 0とおいたある n次方程式の根になる。
1
• 証明:固有値問題を (λEn − A)x = 0 と書き換える。この方程式が 0でない解を持つためには、係数行列 (λEn − A) が正則行列であってはならない。したがって det(λEn − A) = |λEn − A| = 0
でなくてはならない。
逆に |λEn −A| = 0 を満たす λ (つまり特性多項式の零点)がAの固有値になることは、次のようにして言える。
|λEn −A| = 0ならば rank(λEn −A) < nなので、線形方程式系 (λEn −A)x = 0は 0でない解x を持つ (行列 II 4章以降参照). この解 x は固有ベクトルであり、λは固有値である。代数学の基本定理により、実 (複素)係数 n次多項式の零点は、複素数の範囲で多重度を含めて考えれば n個あるので、n次実 (複素)行列の固有値は一般には複素数で、n個ある。
• 固有値と固有ベクトルの計算例 I
次の行列の固有値と固有ベクトルを求めてみよう。
A =
2 −2 3
1 1 1
1 3 −1
この行列の固有値 (と固有ベクトル)を求めるためには定理Th09-1に従い、特性方程式 |λEn −A| = 0を解けばよい。いま、
|λE3 − A| =
∣∣∣∣∣∣∣∣λ − 2 2 −3
−1 λ − 1 −1
−1 −3 λ + 1
∣∣∣∣∣∣∣∣であるから、これを展開して 0とおくことにより、特性方程式は以下で与えられる。
λ3 − 2λ2 − 5λ + 6 = 0
これを因数分解すれば
λ3 − 2λ2 − 5λ + 6 = (λ − 1)(λ + 2)(λ − 3)
であるから、固有値は 1, -2, 3となる。
λ = 1に対応する固有ベクトルは、(λEn−A)x = 0にλ = 1を代入した次式を解いて得られる。−1 2 −3
−1 0 −1
−1 −3 2
x = 0
この左辺の行列に左基本変形を施すと、以下の形に変形できる 1 0 1
0 1 −1
0 0 0
2
したがって、固有ベクトルを x = (x1, x2, x3)T とおくと、 1 0 1
0 1 −1
0 0 0
x1
x2
x3
=
0
0
0
となるから、x = (1,−1,−1)T がAx = xのひとつの解 (固有ベクトル)を与えることが分かる。このベクトルの長さを正規化すると x = (1/
√3,−1/
√3,−1/
√3)T となる。
λ = −2, 3 に対応する固有ベクトルも同様に求めることができる。
• 固有値と固有ベクトルの計算例 II(多重根の場合)
特性方程式の解は n 個あるが、そのうちのいくつかが等しい場合がある。これを多重根と呼ぶ。例えば、次のような行列の固有値と固有ベクトルを求めてみよう。
A =
(5 3
−3 −1
)
特性方程式は以下のようになる。
λ2 − 4λ + 4 = (λ − 2)2 = 0
したがって、固有値は 2の 1種類 (重根)のみである。固有ベクトルは以下を解いて得られる。
(λE2 − A)x =
(−3 −3
3 3
)x = 0
これから固有ベクトル
x =
(1/√
2
−1/√
2
)が得られる。
2 実対称行列の固有値の性質以下では実対称行列の固有値について考える。対称行列についてはまず以下のような性質が成り
立つ。
• Th09-2
(実)対称行列の左固有値と右固有値は一致する。
• 証明:ほとんど自明である。左固有値の式Ax = λxを考え、これの両辺の転置を求めると、xT AT =
λxT となる。Aが対称行列であるときAT = Aであるから、xT A = λxT となり、(実)対称行列の左固有値と右固有値は一致することが分かる。
3
特性方程式は n次方程式なので、行列の要素が全て実数であっても、特性方程式の解である固有値は一般には複素数である。したがって、固有ベクトルも複素数である。しかし、対称行列については次の性質が成立する。
• Th09-3
(実)対称行列の固有値は実数となる。
これを証明するためには準備が必要である。Th09-3を証明するために、以下では内積の定義を拡張する。
• 証明の準備 (内積の拡張)
これまでベクトル xと yの内積 (x,y) を
(x,y) = xTy = x1y1 + x2y2 + · · · + xnyn
で定義して用いてきた。実数の場合はこれでも良いが、複素数の場合には多少改良を要し
(x,y) = xT∗y = x∗1y1 + x∗
2y2 + · · · + x∗nyn (2)
とする。ここで、xiと yiは、それぞれベクトル x,yの成分、∗は共役複素数を表す。
共役複素数とは、ある複素数 z = a + bi に対して
z∗ = a − bi
で定義される。ベクトル xの共役複素数 x∗は、要素の全ての共役複素数を要素とするベクトルである。行列Aの共役複素数A∗ は、要素の全ての共役複素数を要素とする行列である。
このとき、y, z を複素数、xを複素数からなるベクトルとして、以下の性質が成立する。(実数は複素数の一部だから、実数についても成立する。)
1. (z∗)∗ = z
2. (y ± z)∗ = y∗ ± z∗
3. (yz)∗ = y∗z∗
4. (y/z)∗ = y∗/z∗
5. zが実数⇔ z∗ = z
6. zが虚数⇔ z∗ = −z
7. z∗z = zz∗ は実数で非負
8. (zx)∗ = z∗x∗
9. (x,x) ≥ 0 。等号は x = 0のとき
4
– 証明:
(x,x) = x∗1x1 +x∗
2x2 + ...+x∗nxn であるから性質 7より成り立つことが容易に分かる。
実は、内積の定義を変更したのはこの性質を保存したかったからである。実数の場合の定義のままでは、内積が複素数になるので、大小比較ができない。
• Th09-3の証明固有値 λに対応する固有ベクトルを xとする。(既に述べたように、一般には λも xの成分も複素数である)
xと任意のベクトル yとの内積は、行列形式で
(x,y) = xT∗y
と書ける。この表現を使うと、次の性質が導ける。
(Ax,y) = (λx,y) = λ∗(x,y)
y = xとおけば(Ax,x) = λ∗(x,x) (3)
となる。
同様に(x, Ax) = (x, λx) = λ(x,x) (4)
が成り立つ。
いまAは実対称行列である。実行列であることから、Aの成分はすべて実数であり、
A∗ = A
となる。さらに対称であることから、AT∗ = A
であることが分かる。これを用いると
(Ax,x) = (Ax)T∗x = xT∗AT∗x = xT∗Ax = (x, Ax)
になるので、(3)(4)より、λ∗(x,x) = λ(x,x)
となることが分かる。xは固有ベクトルであり x ̸= 0だから (x,x) ̸= 0であり、
λ∗ = λ
したがって、上の性質 5.から、λは実数である。
5
• 対称行列の固有値と固有ベクトルの計算例次の実対称行列の固有値と固有ベクトルを求めてみよう。
A =
(3 6
6 −2
)
|λE2 − A| =
∣∣∣∣∣ λ − 3 −6
−6 λ + 2
∣∣∣∣∣であるから、これを展開して 0とおくことにより特性方程式は以下のようになる。
λ2 − λ − 42 = 0
この 2次方程式を解くと、固有値は 7,-6であることが分かる。
λ = 7に対応する固有ベクトルは以下を解いて得られる。
(λE2 − A)x = (7E2 − A)x =
(4 −6
−6 9
)x = 0
左基本変形を施すと、この方程式を以下のように変形できる。(1 −3/2
0 0
)x = 0
(3
2
)がこの解になることは容易に分かる。
同様にして λ = −6に対応する固有ベクトルは以下を解いて得られる。
(λE2 − A)x = (−6E2 − A)x =
(−9 −6
−6 −4
)x = 0
(2
−3
)がこの解になること、また λ = 7の固有ベクトルと直交することは容易に分かる。
3 エルミート行列とユニタリ行列今まで、行列の成分は全て実数であると仮定して来た。しかし、行列の成分が複素数であっても、
行列に関するほとんどの性質はそのまま成立する。修正を要するのが対称行列と直交行列に関するものである。複素数を成分に持つ場合に対称行列
と直交行列を拡張したものがエルミート行列とユニタリ行列である。
6
• エルミート行列n次元行列Aとその転置行列 AT が共役複素数の関係にあるとき、即ち、
AT = A∗ (成分で書けば aji = a∗ij)
であるとき、Aをエルミート行列と呼ぶ。
エルミート行列Aの要素が全て実数であるならAは対称行列になるから、エルミート行列は対称行列の拡張になっている。
• ユニタリ行列n次元行列Aとその転置行列の共役複素数AT∗の積が単位行列になるとき、即ち
AT∗A = En
となるとき、Aをユニタリ行列と呼ぶ。
ユニタリ行列 A の要素が全て実数であるならAは直交行列になるから、ユニタリ行列は直交行列の拡張になっている。
• Th09-4
ユニタリ行列の固有値の絶対値は 1 である、即ち |λ| = 1 (注意:ユニタリ行列の固有値は実数とは限らない)。
• 証明ユニタリ行列を A とする。Axの自分自身との内積を取れば
(Ax, Ax) = x∗T A∗T Ax = x∗T Enx = x∗Tx = (x,x)
一方、A の固有値を λとすれば
(Ax, Ax) = (λx, λx) = λ∗Tx∗T λx = λ∗T λx∗Tx = λ∗λ(x,x)
(x,x)は 0 ではないので、λ∗λ = |λ|2 = 1
実対称行列の固有値は全て実数であることを上に証明したが、それを複素数に拡張して、次の定理が得られる。
• Th09-5
エルミート行列の固有値は実数となる。
• 証明実対称行列の場合と全く同様にできる。というより、通常の教科書ではエルミート行列について、この定理が述べてあるのが普通である。実対称行列はエルミート行列であるから、当然この定理が成立する。
7
実対称行列の異なる固有値に対応する固有ベクトルが直交する例を前に示したが、これは一般に成立し、実対称行列の相異なる固有値に対応する固有ベクトルは直交することを示すことができる。
• Th09-6
実対称行列(実エルミート行列)の相異なる固有値に対応する固有ベクトルは直交する。
• 証明Aを n次実対称行列とし、Aの相異なる固有値を λ1, λ2 (λ1 ̸= λ2)とし、これらに対応する固有ベクトルをそれぞれ x1,x2とおく。
まずAは実対称(実エルミート)であるからA∗T = Aであり、その固有値は実数となる(λ∗1 =
λ1, λ∗2 = λ2)。従って、
(Ax1,x2) = λ∗1(x1,x2) = λ1(x1,x2)
となる。一方、(Ax1,x2) = (x1, A
∗Tx2) = (x1, Ax2) = λ2(x1,x2)
である。この両者を比較すると
λ1(x1,x2) = λ2(x1,x2)
すなわち、(λ1 − λ2)(x1,x2) = 0
である。いま λ1 ̸= λ2である(相異なる固有値)から、結局
(x1,x2) = 0
即ち、実対称行列の相異なる固有値に対応する固有ベクトルは直交する。
4 相異なる固有値に対する固有ベクトルに関する性質、相似変換相異なる固有値に対する固有ベクトルに関しては次の性質が成り立つ。
• Th09-7
行列Aの相異なる固有値に対する固有ベクトルは線形独立である。
• 証明背理法で証明する。
相異なる固有値が1個しかなければ自明なので、相異なる固有値の個数 k は k≥2とする。
相異なる固有値を λ1, λ2, · · · , λk とし、それぞれに対する固有ベクトルをx1,x2, · · · ,xk とする。
x1,x2, · · · ,xk が線形独立でないとすれば線形従属である。したがって、x1,x2, · · · ,xi−1 が線形独立で、x1,x2, · · · ,xiは線形従属であるような i (2≤i≤k) が存在する。xiは、x1,x2, · · ·xi−1の線形結合で書けるから、次のように表すことができる。
xi = c1x1 + c2x2 + · · · + ci−1xi−1 (5)
8
(5)の両辺に左からAを掛けると
Axi = c1Ax1 + c2Ax2 + · · · + ci−1Axi−1
となる。ここに xiはAの固有値 λiに関する固有ベクトルであるから、以下の式を得る。
λixi = c1λ1x1 + c2λ2x2 + · · · + ci−1λi−1xi−1 (6)
一方、式 (5) に λiを掛けると、以下を得る。
λixi = c1λix1 + c2λix2 + · · · + ci−1λixi−1 (7)
式 (6), (7) から、辺々相引いて
0 = c1(λ1 − λi)x1 + c2(λ2 − λi)x2 + · · · + ci−1(λ2 − λi)xi−1 (8)
となる。
x1,x2, · · · ,xi−1 は線形独立であったから、式 (8)で全ての係数は 0でなければならず、従って
cj(λj − λi) = 0 (j = 1, · · · , i − 1)
である。仮定より、固有値は全て異なるので (λj − λi) ̸= 0であるから
cj = 0(j = 1, · · · , i − 1)
式 (5) より、この場合 xi = 0となるが、これは xiが固有ベクトル (固有ベクトルは零ベクトルではない)であるという仮定に反する。
n次正方行列Aに対し、任意の正則行列 Sを取って、S−1ASに変換することを相似変換と呼ぶ。相似変換に関しては以下の性質が成立する。
• Th09-8
相似変換によって固有値は変化しない。
• 証明
Ax = λx (9)
において、A′ = S−1ASとする。式 (9)で左から S−1 を掛けると、
S−1Ax = λS−1x
となる。x = Syとおくと、S−1ASy = λS−1Sy
A′y = λy (10)
となるから、xがAの固有ベクトルであれば、y = S−1xは上の方程式の解、すなわち A′ の固有ベクトルで、固有値が λになることが分かる。
9
Th06-8を用いれば、相似変換によって特性方程式は変化しないことを示すのは容易である。
• Th09-9
n次正方行列 A に対し、適当な正則行列Pを取って、P−1AP が対角行列になるようにできる(Aが実行列でも、一般にはPは複素行列になる) とする。このとき、n 個の線形独立な固有ベクトル (列ベクトル) が存在する。
• 証明P−1AP が対角行列になるので、この行列を
P−1AP = Λ =
λ1 0 · · · 0
0 λ2 · · · 0...
... · · · ...
0 · · · · · · λn
とする。A = PΛP−1であるから、左から P−1を掛けると
P−1A = ΛP−1 (11)
である。
Λの形より、Λの固有値は λiで、対応する固有ベクトルは eiであることが分かる。即ち
Λei = λiei
である。
いま、xi = Peiとおく。このとき、ei = P−1xiであるから、これをΛei = λieiに代入すると、
ΛP−1xi = λiP−1xi
である。(11)より、ΛP−1 = P−1Aだから、
P−1Axi = λiP−1xi = P−1(λixi)
を得る。ここに左から P を掛けると、
Axi = λixi
即ち、xi = Peiは Aの固有ベクトルで、Λの対角要素 λiが Aの固有値であることが分かる。e1, · · · enは線形独立だから、Pe1, · · · , Penも線形独立である。
以上より、相似変換によって対角化できれば n個の線形独立な固有ベクトルが存在することが示せた。
(ちょっと蛇足:{a1, · · · , an}が線形独立で Pが正則なら {Pa1, · · · , Pan}も線形独立である。
いま、c1Pa1 + · · · + cnPan = 0 となったとすると、P (c1a1 + · · · + cnan) = 0 であるから、両辺に左から P−1を掛けると c1a1 + · · · + cnan = 0 となることが分かる。{a1, · · · , an}は正則であるから c1 = · · · = cn = 0である。)
10
また、次の性質も成り立つ。
• Th09-10
n次正方行列Aの n 個の線形独立な固有ベクトルをx1,x2, · · · ,xnとする。それらを並べた行列(x1 x2 · · · xn ) を Pとすると、P−1AP は対角行列である。
• 証明固有ベクトル xjに対応する固有値を λjとする。このとき、
P−1AP = P−1A (x1 x2 · · · xn )
= ( P−1Ax1 P−1Ax2 · · · P−1Axn )
= ( λ1P−1x1 λ2P
−1x2 · · · λnP−1xn )
P−1xjはP−1P の第 j列であるから、P−1xj = ej(単位ベクトル)であることが分かる。従って、
P−1AP = ( λ1e1 λ2e2 · · · λnen ) =
λ1. . .
λn
となる、即ち、対角要素が λjとなるような対角行列であることが分かる。
5 行列の対角化
5.1 対角化
固有値、固有ベクトルの重要な応用の一つとして行列の対角化がある。対角化とは、n次正方行列Aが与えられたとき正則な行列 Pを用いた相似変換が対角行列になるようにすること、即ち、
P−1AP =
c1. . .
cn
となるようにすることである。これまでに証明してきた Th09-7, Th09-10を用いれば、行列Aが相異なる固有値を n個持つ場合
は、それらに対応する固有ベクトルは線形独立であるから、これらを列ベクトルに並べた行列をPとすることにより P−1AP は対角行列になることが分かる。特性方程式が重根を持ち、n個の相異なる固有値を持たない場合でも、重根に対応する固有値の線
形独立な固有ベクトルを根の重複度だけの個数取ることができれば、行列の対角化は可能である。但し、これは常に可能な訳ではなく、行列によっては対角化できないものも存在する。これらをまとめると以下のようになる。
• n次正方行列Aが相異なる固有値を持つ場合:対角化可能
• Aの特性方程式が重根を持つ:
11
– 重根に対する線形独立な固有ベクトルを重複度だけの個数取ることができる場合:対角化可能
– そうでない場合:対角化不可能
(要するに線形独立な固有ベクトルを n個取れれば対角化可能)
重根を持つ場合について対角化可能な例と対角化不可能な例を見てみよう。
• 対角化可能な行列の例
A =
0 2 1
−2 4 1
2 −2 1
とすると、特性方程式は
|λE3 − A| =
∣∣∣∣∣∣∣∣λ −2 −1
2 λ − 4 −1
−2 2 λ − 1
∣∣∣∣∣∣∣∣ = (λ − 1)(λ − 2)2 = 0
となるから、Aの固有値は 1,2であり、2は重根である。
λ = 2に関する固有ベクトルを x = (x1, x2, x3)T とするとこれは 2 −2 −1
2 −2 −1
−2 2 1
x1
x2
x3
=
0
0
0
を満たす。左辺の行列の基本変形により 2 −2 −1
2 −2 −1
−2 2 1
→
2 −2 −1
0 0 0
0 0 0
とできるから、
2x1 − 2x2 − x3 = 0
よりx3 = 2x1 − 2x2
であるから、 x1
x2
x3
= x1
1
0
2
+ x2
0
1
−2
となる。これにより 2に対する固有ベクトルとして線形独立なベクトル
x1 =
1
0
2
, x2 =
0
1
−2
12
を取ることができる。
λ = 1に対する固有ベクトルを求めてみると、固有ベクトルをx = (x1, x2, x3)T とするとこれは 1 −2 −1
2 −3 −1
−2 2 0
x1
x2
x3
=
0
0
0
を満たす。左辺の行列の基本変形により 1 −2 −1
2 −3 −1
−2 2 0
→
1 −2 −1
0 1 1
0 0 0
→
1 0 1
0 1 1
0 0 0
とできるから、 1 0 1
0 1 1
0 0 0
x1
x2
x3
=
0
0
0
となり、 x1
x2
x3
= x3
−1
−1
1
は固有ベクトルになることが分かる。
以上より、行列Aは
P =
−1 1 0
−1 0 1
1 2 −2
によって対角化可能であり
P−1AP =
−2 2 1
−1 2 1
−2 3 1
0 2 1
−2 4 1
2 −2 1
−1 1 0
−1 0 1
1 2 −2
=
1 0 0
0 2 0
0 0 2
となる。
なお、このとき、重根に対応する2つの固有ベクトルを x1,x2 とすると、これらの任意の線形結合 a1x1 + a2x2も
A(a1x1 + a2x2) = λ(a1x1 + a2x2)
より、同じ固有値に対応する固有ベクトルになるから、例えばGram-Shmidtの直交化などにより、互いに直交する(この場合は2本の)固有ベクトルを構築することができる。
• 対角化不可能な行列の例
A =
4 −1 0
1 2 0
2 −1 2
13
とすると、特性方程式は
|λE3 − A| =
∣∣∣∣∣∣∣∣λ − 4 1 0
−1 λ − 2 0
−2 1 λ − 2
∣∣∣∣∣∣∣∣ = (λ − 2)(λ − 3)2 = 0
となるから、Aの固有値は 2,3であり、3は重根である。
λ = 3に関する固有ベクトルを x = (x1, x2, x3)T とするとこれは−1 1 0
−1 1 0
−2 1 1
x1
x2
x3
=
0
0
0
を満たす。左辺の行列の基本変形により−1 1 0
−1 1 0
−2 1 1
→
−1 1 0
0 −1 1
0 0 0
→
1 0 −1
0 1 −1
0 0 0
とできるから、 1 0 −1
0 1 −1
0 0 0
x1
x2
x3
=
0
0
0
となり、 x1
x2
x3
= x3
1
1
1
長さの正規化を行うと x1
x2
x3
=
1/√
3
1/√
3
1/√
3
となり、(線形独立な)固有ベクトルはこれ 1つしか取れず、対角化できないことが分かる。
5.2 行列の上三角化:Schur形
n次正方行列は線形独立な固有ベクトルを n本取ることができれば対角化可能であるが、特性方程式が重根を持つ場合は対角化不可能な場合もあることを見てきた。このように、対角化は不可能な場合はあるが、下に示すように、相似変換により上三角行列に変換することは常に可能である。以下ではこれを証明する。
• Th09-11
n次正方行列Aはユニタリ行列Qを用いた相似変換
Q−1AQ = Q∗T AQ
14
によって固有値を対角要素とする上三角行列にすることができる。即ち、ユニタリ行列 Qによって
Q−1AQ = Q∗T AQ =
λ1 ∗ · · · ∗
0. . .
...
λn
= R
とできる。このRをAの Schur形と言う。
• 証明これは以下のようにして構成的に確認することができる。
1. Aの固有値の1つλ1を取ると、それに対応する固有ベクトルu1が少なくとも1つ存在する。この固有ベクトルの長さは1に規格化されているものとする、即ちAu1 = λ1u1, ∥u1∥ = 1
であるとする。
いま、u1を第1要素とする正規直交系を
{q1, · · · ,qn}
とする。ここに q1 = u1である。これらは例えば u1 と単位ベクトルからGram-Schmidt
の直交化によって構築すればよい。
これら q1, · · · ,qnを列ベクトルとする n次正方行列を
Q(1) = (q1 q2 · · · qn )
とする。Q(1)の列ベクトルは(一般には複素数を成分に持つ)互いに直交する長さ1のベクトルであるからQ(1)はユニタリ行列である。したがって、Q(1)∗T = Q(1)−1
となる。
q1 = u1であるからAq1 = λ1q1
となる。したがって、
AQ(1) = ( Aq1 Aq2 · · · Aqn ) = ( λ1q1 q′2 · · · q′
n ) = Q(1)
(λ1 ∗0 A(1)
)
と表すことができる。ここに左からQ(1)∗T を掛けるとQ(1)∗T = Q(1)−1だから
Q(1)∗T AQ(1) =
(λ1 ∗0 A(1)
)(12)
となる。
2. 同様のことをA(1)に対して行う。A(1)の固有値の一つを λ2とし、この固有値に対応する固有ベクトルをu2とする(長さは規格化され1となっているものとする)。u2は n-1項列ベクトルである。
15
u2を第1要素とする正規直交系を
{q′1, · · · ,q′
n−1}
とする。ここに q′1 = u2である。
これら q′1, · · · ,q′
n−1を列ベクトルとする n-1次正方行列を
Q′ = (q′1 · · · q′
n−1 )
とすると、Q′はユニタリ行列であり、1と同様にして
Q′∗T A(1)Q′ =
(λ2 ∗0 A(1)
)
とできる。
いま、n次正方行列Q(2)を
Q(2) =
1 0 · · · 00...
0
Q′
とおくと、(各列が直交する長さ1のベクトルであることから)Q(2)は n次ユニタリ行列である。
式 (12)の右からQ(2)を掛けると
Q(1)∗T AQ(1)Q(2) =
λ1 ∗ · · · ∗0...
0
A(1)
1 0 · · · 00...
0
Q′
=
λ1 ∗ · · · ∗0...
0
A(1)Q′
さらに左からQ(2)∗T を掛けると
Q(2)∗T Q(1)∗T AQ(1)Q(2) =
1 0 · · · 00...
0
Q′∗T
λ1 ∗ · · · ∗0...
0
A(1)Q′
=
λ1 ∗ · · · ∗0...
0
Q′∗T A(1)Q′
16
=
λ1 ∗ ∗ · · · ∗0 λ2 ∗ · · · ∗0...
0
0...
0
A(2)
(13)
とできることが分かる。
– 注意 1
このとき、ユニタリ行列の積もユニタリ行列だから、Q(1)Q(2)もユニタリ行列である。Q = Q(1)Q(2)とおくとQ−1 = Q∗T であるから (13)はQ∗T AQ = Q−1AQとなりユニタリ行列Qを用いた相似変換である。
– 注意 2
λ2は A(1)の固有値であるが、Aの固有値でもある。相似変換によって固有値は変わらないから、Aの固有値と (13)の右辺
λ1 ∗ ∗ · · · ∗0 λ2 ∗ · · · ∗0...
0
0...
0
A(2)
の固有値は同じである。この行列をBとおくと、特性方程式は
|λEn − B| =
∣∣∣∣∣∣∣∣∣∣∣∣∣∣
λ − λ1 ∗ ∗ · · · ∗0 λ − λ2 ∗ · · · ∗0...
0
0...
0
λEn−2 − A(2)
∣∣∣∣∣∣∣∣∣∣∣∣∣∣(14)
= (λ − λ1)(λ − λ2)|λEn−2 − A(2)| = 0
となり、λ2はBの固有値、即ちAの固有値であることが分かる。但し、A(1)の固有値 λ2はAの固有値であもあるが、A(1)の固有ベクトルu2がAの λ2
に対応する固有ベクトルと直接関係する訳ではない。
3. 1,2と同様の操作を続けていけば、ユニタリ行列
Q = Q(1)Q(2) · · ·Q(n−1)
を用いて、
Q−1AQ = Q∗T AQ =
λ1 ∗ · · · ∗
0. . .
...
λn
17
と相似変換によって上三角化して、対角要素には Aの固有値が並ぶようにすることができる。
上で見たように n次正方行列は相似変換によって以下のように上三角化できる
Q−1AQ =
λ1 ∗ · · · ∗
0. . .
...
λn
これの行列式を求めると
det Q−1AQ = det A =
∣∣∣∣∣∣∣∣∣λ1 ∗ · · · ∗
0. . .
...
λn
∣∣∣∣∣∣∣∣∣ = Πni=1λi
となる。また、行列の対角成分の和を traceと書くが、(例えば n次正方行列Aの第 (i,j)成分を aijとすると
traceA =∑n
i=1 aiiである)traceに関しては
traceAB = traceBA
が成り立つことを容易に確かめることができる。これを用いると
traceQ−1AQ = traceA = trace
λ1 ∗ · · · ∗
0. . .
...
λn
=n∑
i=1
λi
となることが分かる。
5.3 実対称行列の対角化
実対称行列の固有値は実数であることを既に見た(Th09-3)。従って、実対称行列の固有ベクトルも実ベクトルである。これにより、Aが実対称行列である場合はTh09-11の証明の中で出てきたQ(1)
は直交行列であり、A(1) は実対称行列であることが分かる。これ以降の操作についても同様なことが成立するから、Th09-11より、実対称行列Aは直交行列Qを用いて
Q−1AQ = QT AQ =
λ1 ∗ · · · ∗
0. . .
...
λn
と上三角化できる。この転置をとると、Aは実対称でありAT = Aが成り立つから、
(QT AQ)T = QT AT Q = QT AQ
18
となり、QT AQは転置をしても形を変えない、すなわち(実)対称行列であることが分かる。このときQT AQは上三角なのであるから、その転置は下三角になる。転置をしても形を変えないのであるから、これは非対角要素は全て 0であること、即ちQT AQは対角行列であることを示している。これをまとめると以下が成立することが分かる。
• Th09-12
実対称行列Aは直交行列Qを用いた相似変換
Q−1AQ = QT AQ
によって固有値を対角要素とする対角行列に変換することができる。(即ち、n次実対称行列の場合、線形独立な固有ベクトルを n個取ることができ、対角化可能である。)
• 実対称行列の対角化例実対称行列は直交行列により、対角化可能である。対角化を行う相似変換のための直交行列を求めるには、まず固有値を求め各固有値に対応する固有ベクトル(相異なる固有値に対応する固有ベクトルは直交することは既に Th09-6で示した)を長さ1に規格化してこれらを列ベクトルとする直交行列を作ればよい。
このときもし特性方程式が重根を持つ場合は、重根に対応する固有値の線形独立な固有ベクトルを重複度だけ取ることができるので、これらを直交化すればよい。
A =
2 1 1
1 2 1
1 1 2
特性多項式は
|λE3 − A| =
∣∣∣∣∣∣∣∣λ − 2 −1 −1
−1 λ − 2 −1
−1 −1 λ − 2
∣∣∣∣∣∣∣∣ = (λ − 1)2(λ − 4)
となるから、固有値は1(重根)、4となる。
固有値 λ = 4に対応する固有ベクトル x = (x1, x2, x3)T は 2 −1 −1
−1 2 −1
−1 −1 2
x =
0
0
0
を満たす。左基本変形を両辺に施すと 1 0 −1
0 1 −1
0 0 0
x =
0
0
0
19
とできるから、x1 = x3, x2 = x3であり、長さ1に規格化すると求める固有ベクトルは 1/√
3
1/√
3
1/√
3
となる。
固有値 λ = 1に対応する固有ベクトル x = (x1, x2, x3)T は−1 −1 −1
−1 −1 −1
−1 −1 −1
x =
0
0
0
を満たす。左基本変形を両辺に施すと 1 1 1
0 0 0
0 0 0
x =
0
0
0
とできるから、x3 = −x1 − x2である。したがって、λ = 1に対応する固有ベクトルはx1
x2
x3
= x1
1
0
−1
+ x2
0
1
−1
と書ける。これは λ = 1に対応する線形独立な固有ベクトルは2つ取ることができ、それらは 1
0
−1
,
0
1
−1
の線形結合で表すことができることを示している。従って、例えばこれらのベクトルからGram-
Schmidtの直交化を行うことにより、互いに直交する λ = 1に対応する固有ベクトルを取ることができる。
今の場合これを実行すると、例えば、以下のような2つの互いに直交する長さ1の固有ベクトルを作ることができる。 1/
√2
0
−1/√
2
,
−1/√
6
2/√
6
−1/√
6
対角化を行うための直交行列はこれまで求めた互いに直交する長さ1の3つの固有ベクトルを列ベクトルとすればよいから、例えば以下のような行列を用いればよい。
Q =
1/√
3 1/√
2 −1/√
6
1/√
3 0 2/√
6
1/√
3 −1/√
2 −1/√
6
20
• Anの計算例対角化可能な行列の場合、対角化の結果を用いて行列Aの k乗Akを求めることができる。
いま、n次正方行列Aは相似変換により対角化可能だとする。このとき、これまでの結果を用いると正則行列 Pを用いて
P−1AP = diag[λ1, · · · , λn]
と表すことができる。ここに λi (i = 1, · · · , n)はAの固有ベクトルである。
P−1APP−1AP = P−1A2P = diag[λ21, · · · , λ2
n]
であるから、これを繰り返すと
P−1AkP = diag[λk1, · · · , λk
n]
であるから、AkをAk = Pdiag[λk
1, · · · , λkn]P−1
と計算することができる。
• Fibonacci数列の計算ダヴィンチコードのファンの方の中には、物語中に出てきた Fibonacci数列や黄金比という言葉を覚えている方もいるはず。Fibonacci数列とは、以下のように定義される数列である。
F0 = 0, F1 = 1, · · · , Fn+1 = Fn + Fn−1
固有値、固有ベクトルの知識を用いると、Fnの一般項を求めたり、Fn+1/Fnが黄金比((1 +
√5)/2)に収束することなどを示すことができる。
いま、2次元ベクトル
ui =
(Fi+1
Fi
), u0 =
(F1
F0
)=
(1
0
)と定義すると、
ui =
(Fi+1
Fi
)=
(Fi + Fi−1
Fi
)=
(1 1
1 0
)(Fi
Fi−1
)= Aui−1
と表すことができる。従って、un = Anu0と表すことができる。
行列A =
(1 1
1 0
)の特性多項式は
det(λE2 − A) =
∣∣∣∣∣ λ − 1 −1
−1 λ
∣∣∣∣∣ = λ2 − λ − 1
であるから、Aは次の2つの固有値を持つ。
λ1 =1 +
√5
2, λ2 =
1 −√
5
2
21
これらの固有値 λ1, λ2に対応する固有ベクトルを v1,v2とおくと
v1 =
(λ1
1
), v2 =
(λ2
1
)
となる(長さは1に規格化していない)。このときこの2つの固有ベクトルは直交する(p8,
Th09-6参照。実際に計算してみても容易に確認できる)。
これらのベクトルと u0の内積を求めると以下のようになる。
uT0 v1 = λ1, uT
0 v2 = λ2
一方、u0はこれらのベクトル v1,v2の線形結合で表すことができる。これを
u0 = αv1 + βv2
と表すと、uT
0 v1 = α(1 + λ21),u
T0 v2 = β(1 + λ2
2)
となるから、
α =λ1
1 + λ21
, β =λ2
1 + λ22
となることが分かる。このとき 1 = −λ1λ2に注意すると、
α =λ1
1 + λ21
=λ1
λ21 − λ1λ2
=1
λ1 − λ2
=1√5
であることが分かる。同様にして
β = − 1
λ1 − λ2
= − 1√5
となるから、結局
u0 =1√5(v1 − v2)
となる。これを用いると viはAの固有値であるから
un =
(Fn+1
Fn
)= Anu0 =
1√5(λn
1
(λ1
1
)− λn
2
(λ2
1
))
以上の結果より、
Fn =1√5{(1 +
√5
2)n − (
1 −√
5
2)n}
Fn+1
Fn
=λn+1
1 − λn+12
λ21 − λn
2
=λ1 − (λ2
λ1)nλ2
1 − (λ2
λ1)n
−→ 1 +√
5
2(黄金比)
であることが示された。
もちろん、前の例題の場合のようにAnを求めてから Fnを求めてもよい。
22
6 Cayley-Hamiltonの定理多項式 f(x) = amxm + · · ·+a1x+a0に対して、n次正方行列Aの行列多項式 f(A) = amAm + · · ·+
a1A + a0Enを定義することができる。Aの固有値 λに対応する固有ベクトルを xとすると、
Ax = λx, A2x = A(Ax) = A(λx) = λ2x, Amx = λmx
であるから、f(A) = (amλm + · · · + a1λ + a0)x = f(λ)x
すなわち、xは n次正方行列 f(A)の固有値 f(λ)に対応する固有ベクトルであることが分かる。特に、f(x)をAの特性多項式 φA(x) = det(xEn − A)と選ぶと、以下が成立する
• Th09-13(Cayley-Hamiltonの定理)
φA(A) = On (零行列)
• 注意(証明前にちょっと寄り道)Aの固有値 λi は φA(λi) = 0を満たす (i = 1, · · · , n)。もし Aが対角化可能であれば、前の結果を用いるとユニタリ行列 Q により Q−1AQ = diag(λ1, · · · , λn) とできることが分かる。Q−1AQQ−1AQ = Q−1A2Q = diag(λ2
1, · · · , λ2n)であり、同様にしてQ−1AmQ = diag(λm
1 , · · · , λmn )
だから、Q−1φA(A)Q = diag(φA(λ1), · · · , φA(λn)) = On
となる。従って、φA(A) = Q0nQ−1 = Onとなることが容易に分かる。(もちろん、この方法では対角化不可能な場合にどうなるかが分からない問題点がある。以下では一般的な場合についてCayley-Hamiltonが成り立つことを示す)
• 証明xEn − Aの余因子行列をG(x) = adj(xEn − A)とおく。G(x)は第 (j,i)成分が xEn − Aの第 i
行、第 j列を除いてできる n-1次小行列式で与えられる行列であり、
(xEn − A)G(x) = det(xEn − A)En = φA(x)En (15)
が成り立つ(行列式の資料 p15,16参照)。行列G(x)の各成分は xEn −Aの n-1次小行列式であるから、xの高々(at most)n-1次多項式である。G(x)の各成分を xの次数毎に分解して表すと、
G(x) = Cn−1xn−1 + Cn−2x
n−2 + · · · + C1x + C0 (16)
となる(ここに各Ci (i = 0, · · · , n − 1)は n次正方行列である)。
一方φA(x) = det(xEn −A)は最大次数 nの多項式で、n次の係数が1であるから、次のように表すことができる
φA(x) = xn + bn−1xn−1 + · · · + b1x + b0 (17)
23
式 (16)より、式 (15)の左辺は
(xEn − A)G(x) = (xEn − A)(Cn−1xn−1 + Cn−2x
n−2 + · · · + C1x + C0)
= Cn−1xn + Cn−2x
n−1 + · · · + C1x2 + C0x
−ACn−1xn−1 − · · · − AC2x
2 − AC1x − AC0
= Cn−1xn + (Cn−2 − ACn−1)x
n−1 + · · · + (C0 − AC1)x − AC0 (18)
一方、式 (15)の右辺は式 (17)より
(xn + bn−1xn−1 + · · · + b1x + b0)En = Enx
n + bn−1Enxn−1 + · · · + b1Enx + b0En (19)
となる。これらの xkの各係数を比較すると、以下が成り立つ。
b0En = −AC0
b1En = C0 − AC1
b2En = C1 − AC2
...
bn−1En = Cn−2 − ACn−1
En = Cn−1
各式の両辺にEn, A, A2, · · · , Anを左から掛けると、
b0En = −AC0
b1A = AC0 − A2C1
b2A2 = A2C1 − A3C2
...
bn−1An−1 = An−1Cn−2 − AnCn−1
An = AnCn−1
となる。これらの和を取ると、
左辺 = An + bn−1An−1 + · · · + b1A + b0En = φA(A)
であり、右辺の和はOnであるから、φA(A) = Onであることが分かる。
24
7 問題1. 次の行列の固有値と固有ベクトルを求めよ。
(1)
(2 1
1 2
)(2)
(cos θ − sin θ
sin θ cos θ
)(3)
1 −2 −1
−3 2 −1
2 0 1
(4)
0 1 1
1 0 1
0 1 0
(5)
0 1 0
1 0 0
0 0 −5
(6)
1 2 2
1 −1 1
4 −12 1
(7) ( en e1 e2 · · · en−1 )
2. 相似変換によって特性方程式が変化しないことを証明せよ。
3. 行列Aが正則であるためには、固有値 0を持たないことが必要十分であることを証明せよ。
4. Aは n次対称行列であり、その固有ベクトルは、n項列ベクトルの作るベクトル空間の正規直交基底となるものとする。このとき以下の問に答えよ。
(a) Aの固有ベクトルを u1, · · · ,unとおく。Aの固有ベクトルは n項列ベクトルの作るベクトル空間の正規直交基底となるから、任意の n項列ベクトル xは、Aの固有ベクトルの線形結合で表すことができる。
いま、∥x∥2 = (x,x) = 1 を満たすベクトル xが、
x = a1u1 + · · · + anun
と表されたとする。このとき、以下の 2つが成立することを示せ。
i. ai = (ui,x)
ii.∑n
i=1 a2i = 1
(b) Aの n個の固有ベクトルを µi (i = 1, · · · , n)とおき、これらの中で最大の値を持つものをµmaxと書く。
このとき、任意の長さ 1の n項列ベクトル(すなわち、∥x∥2 = (x,x) = 1 を満たす n項列ベクトル)xについて以下が成立することを示せ。
xT Ax ≤ µmax
5. Aは3次正方行列((3,3)型行列)であるとする。Aの固有値が 0,1,2であるとき、以下の問に答えよ。
(a) det(AT A)の値を求めよ。
(b) E3 + Aの固有値を求めよ。但し、E3は3次の単位行列である。また、この結果に基づいて、E3 + Aは正則であることを示せ。
25
(c) 行列BをB = c1A + c2E3とおく。但し、c1は正の実数、c2は 0でない実数(負であってもよい)であり、c2
1 + c22 = 1を満たすものとする。このとき、Bが正則にならないような
(c1, c2)の組を全て挙げよ。
6. Aを n次対称行列とし、Aの固有値を λi (i = 1, · · · , n)、これらの固有値に対応する固有ベクトルを ui (i = 1, · · · , n)とおく。また、固有値は絶対値の順番に番号付けられているものと仮定する。(すなわち、
|λn| ≤ |λn−1| ≤ · · · |λ2| ≤ |λ1|
いま、ベクトル x0を (u1,x0) ̸= 0であるような任意のベクトルであるとし、xk,ykを以下のように構成していく。
x1 = Ax0 ,y1 = x1/∥x1∥x2 = Ax1 ,y2 = x2/∥x2∥
......
xk = Axk−1 ,yk = xk/∥xk∥
このとき、ykは k→ ∞のとき u1(絶対値最大の固有値に対応する固有ベクトル)に近づくことを示せ。
26