「行列の固有値って何だろうか」
山本明

2005 年 8 月 27 日
ここに書くのは浪人してたころに考えてた内容です。あまり厳密な内容は期待しないでください。
記述の誤りやよりスマートな考え方がありましたら、ご指導ください。
それと図々しいとは思いますけど、この冊子に対しても「投げ銭、受け付け中」です。
気に入った方、価値を感じた方はその満足度に応じて代金をお支払いください。価値を感じなかった方にはもちろん、その必要はありません。

1

なにを書きたいのか

行列の勉強をすると必ず出くわすのは「固有値を求める」「固有ベクトルを求める」という作業です。だけど苦労して求めた固有値とか固有ベクトルがどういうものなのか、よくイメージもできないままってことも多いと思います。そこで、ここでは特に 3 × 3 正方行列までを例として取り挙げて、固有値と固有ベクトルが幾何学的にどういう意味を持つものなのかを考えてみたいと思います。
最初に主張を述べておきましょう。この冊子で言いたいのは、ある行列をベクトルに作用させたとき、その結果のベクトルは、各固有ベクトルの方向にそれぞれ対応する固有値倍されている。ということです。このことって当たり前だ! —と思いますか? もし当たり前だと思うのでしたら、その方にこの冊子は必要ありません。読むのをここで止めることをお勧めいたします。

蛇足?: そもそも固有値/固有ベクトルって？
A というように大文字で書いたら、行列を表わしているとします。さらにベクトルは矢印を上に付けて、~x といったように表わします。小文字で a と書いたら、それは行列ではなくて、ただの数 (スカラー) を表わすという約束にしておきます。
そうすると固有値と固有ベクトルというのは、ある行列 A が与えられているとき、その A に対してA~x = a~x1を成立させるような a の値 (=固有値) と ~x(=固有ベクトル) のことです。
この A~x = a~x という関係式を成り立たせるように、都合の良い a と ~x を求めるのが「固有値を求める/固有ベクトルを求める」ということです。

2

行列が 1 × 1 の正方行列のとき

A が 1 × 1 正方行列ということは、~x も 1 行のみのベクトル。つまり A も ~x もどちらもただの数の場合です。仮に、A=3としましょう。このとき、 A~x = a~x という関係式は、どんな ~x に対しても成り立ちますね。a = 3 であれば。

1 × 1 行列って、単なるスカラーだから当然なんだけど、あまり面白くない結果。だけ
どまあ、固有ベクトルとして ~x = 1 を選んだことにすると、任意のベクトルに行列 A を作用させると、固有ベクトル (~x = 1) の方向に固有値倍 (3 倍) されている。
ことがまず見てとれるんじゃないでしょうか。
ここは軽くそうなってるのかも…というくらいで、さっさと次に行きましょう。

3行列が 2 × 2 の正方行列のとき次は 2 × 2 正方行列。ここから少し意味のある話になると思います。
一般論よりも具体例を考えたほうがイメージを持ちやすいと思うので、行列 A の形を先に与えてしまいましょう。
()5 −2A=−47とします。
まずはこの行列 A の固有値と固有ベクトルを求めます。固有値 a と固有ベクトル ~x というのは、A~x = a~xを成り立たせるようなもの。右辺を左辺に持っていって、(A − aI)~x = 0
いきなり出てきた I というのは A と同じ 2 × 2 の行列で、対角成分が全て1、それ以外)(1 0ということです。A の値は 0 という単位行列を表す記号とします。つまり I =0 1はすでに決めているので、先の条件式を具体的に書くと)(
5 − a −2~x = 0−4 7 − a2という式になります。これが固有値と固有ベクトルを決める条件式です。

まずは固有値を求める
固有値と固有ベクトルを規定する条件式として、()
5 − a −2~x = 0−4 7 − aを得ました。ここでもしも左辺の行列()
5 − a −2−4 7 − aに逆行列が存在したとすると、両辺の左からその逆行列を掛け算して、~x = 0という結論が出てしまいます。だけど、~x = 0というのは、答えとして面白くない。そもそも固有ベクトルと呼べるものじゃない。そこで、()
5 − a −2という行列には、逆行列は存在しない!
−4 7 − aという要請をしましょう。
逆行列は存在しないm()
5 − a −2
det=0−4 7 − aということが言えますので、ここで行なった要請とは)(
5 − a −2=0det−4 7 − aということです。
この要請を具体的に書き下すと、(5 − a) × (7 − a) − (−2) × (−4) = 0となります。まずは左辺を展開して、

a2 − 12a + 27 = 03

この 2 次方程式を解くために因数分解すると、(a − 3)(a − 9) = 0となります。これで固有値 a の値がわかりました。(a − 3)(a − 9) = 0 という要請を満たすのは、a = 3, 9 です。
固有値は、3 と 9と分かりましたので、続いて固有ベクトルを求めましょう。それぞれの固有値に対応する固有ベクトルが存在します。

ひとつ目の固有ベクトルまず a = 3 に対応する固有ベクトルを求めます。先ほどの A~x = a~x の具体形に a = 3を代入してみましょう。すると、()
5 − a −2~x = 0−4 7 − a(↓)
2 −2~x = 0−44( )xと書くことにします。すると、となります。~x も具体的にしばらく ~x =y()( )2 −2x=0−44y{↓2x − 2y = 0−4x + 4y = 0となります。最後の 2 つの式は、同じものを指していますね。

x−y =0というのが、固有ベクトルを指定する式です。
固有ベクトルというのはベクトルなんだから、当然なにかしら直線の式が出てくるはず。そして期待通りに直線を表す式 x − y = 0 というものが得られました。
この条件式を満たせばいいのだから、固有値 a = 3 に対応する固有ベクトルは例えば( )1~x =1というものを考えることができます。(他の形でも x − y = 0 を満たせばいいんです)4ふたつ目の固有ベクトル
続いて固有値 a = 9 に対応する固有ベクトルを求めます。やることは、ひとつ目のときと同じです。A~x = a~x の具体形に a = 9 を代入してみましょう。すると、()
5 − a −2~x = 0−4 7 − a↓()( )−4 −2x=0−4 −2y↓−4x − 2y = 0となります。少し書き換えて、最後のこの2x + y = 0という式が、固有ベクトルを指定する式です。
この直線の式を満たす方向が固有ベクトルの方向。だから固有値 a = 9 に対応する固有ベクトルは例えば( )1~x =−2というものを選べます。

行列をベクトルに作用させる効果はいま考えている A の具体形はそのまま使います。そして固有ベクトルとは異なるベク
トル ~v にこの行列 A を作用させるということを考えてみましょう。行列を作用させる前のベクトルが、どんな位置に移動するのかを図にしてみましょう。
具体的には
()
( )
5 −23A=~v =−470を用いることにします。
このベクトル ~v に行列 A を作用させるとどうなるか。まずはそのまま計算してみましょう。
)( ) ()(3155 −2=−470−12となりますね。図に描くと、

5y(3,0)x(15,-12)です。
この (x, y) = (3, 0) という位置が (x, y) = (15, −12) という位置へ動いている様子が、固有値と固有ベクトルとどう関係があるか見るために、固有ベクトルの直線を引いてみましょう。点線で表します。
x-y=0y(3,0)
x(15,-12)2x+y=0もとの (x, y) = (3, 0) という位置が、この固有ベクトルの直線の方向にどれだけの成分を持っていたか考えてみると、

6

x-y=0y(3,0)
x(15,-12)2x+y=0

こんな感じの図になるでしょう。(x, y) = (3, 0) という位置から、それぞれの固有ベクトルに平行な直線を引いています。その直線と x − y = 0、2x + y = 0 との交点が、それぞれの軸方向の成分となります。
行列が作用した後の (x, y) = (15, −12) という位置についても考えると、x-y=0y(3,0)
x(15,-12)2x+y=0といったところでしょうか。

7こうやって、固有ベクトルの方向に成分を考えていくと、行列を作用させるということと固有値/固有ベクトルの関係が見えてきます。実際に交点の座標を (x, y) で求めてみると、次の図のようなことが分かります。
x-y=0
y1:3(3,0)x1:9(15,-12)

2x+y=0

いかがでしょうか。固有ベクトル方向の成分を、それぞれ対応する固有値倍したものが、行列を作用させた後の位置になっているのです。(一度ご自分の手で交点の座標を求めて、行列を作用させた後の成分がちゃんと 3 倍、9 倍になっていることをご確認ください)
具体例を示しただけで一般的な証明はしていませんが、行列を作用させる ⇔ 行列の固有ベクトルの方向に固有値倍する効果ということが見てとれます。(この冊子では一般的な証明はやりません)行列を固有ベクトルで表現しなおす
ここまでで見たように、行列をベクトルに作用させるというのは、その行列の固有ベクトルの方向へそれぞれ固有値倍するという効果があります。ということは、もともと単純なデカルト座標 (直交座標)(x, y) を使っていたところを、一旦、2 本の固有ベクトルの方向を座標軸とする空間へ移ってしまったらどうでしょうか。
新しい座標軸を大文字を使って (X, Y ) と書くことにして、8

X (x-y=0)yx

Y (2x+y=0)

といったことを考えるわけです。
この新たな座標軸の空間に移れば、行列を掛けるという操作がそれぞれの座標軸の成分を固有値倍するという操作になります。作業を少し単純化できますね。
それでは、新しい座標軸に移るという操作を、どのように書き表わせばいいでしょう( )??という形をしているはずです。また新しか1 。新しい座標 X の成分というのは、0( )0
い座標 Y の成分は、という形をしているはずですね。さらにそれぞれの固有ベク??
トルの式は{x−y =0
2x + y = 0であったことを思い出しておきましょう。とすると、新しい座標系への変換は、)( )( ) (2 1xX=
1 −1yY( )??の形になとすれば、うまく行きそうです。これならば、X 軸 (x − y = 0) 上の点は0( )0の形になります。
るし、Y 軸 (2x + y = 0) 上の点では??
それでは、この (X, Y ) の座標系で計算をした後、元の (x, y) 座標に戻るにはどうしたら

1

この辺、もっとスマートな説明があるような気がしてなりません。この冊子を書き終えてから思い出したことを付録に書き加えましたが、もっと良い説明がありましたらご教授ください。

9()
2 1いいでしょうか？そのためには、行列の逆行列を左から掛ければいいですね。
1 −1()−1 ( ) ()−1 ()( )
2 1X
2 1
2 1x=
1 −1Y
1 −1
1 −1y
⇓
()−1 ( ) ( )x2 1X=y
1 −1Y
逆行列が存在しているかどうかはよく考えないといけない問題ですが、この場合ちゃんと存在しているので大丈夫。
()−1()
1 1 1
2 1=
3 1 −2
1 −1です。(逆行列の求め方は他を参照してください)
念のため確認しますか?
()()
()
1 2 1
1 2+1
1 12−2=3 1 −13 1 − 1 1 + (−1)(−2)
1 −2()
1 0=
0 113()()
()
1 2+1
1 1
2 1
1−1=
3 2 − 2 1 + (−2)(−1)
1 −2
1 −1()
1 0=0 1…大丈夫ですね。
これで、いつでも元の座標空間 (x, y) に戻ることができます。
( ))( )(
1 1 1xX=
3 1 −2yYという変換をすればいいわけです。
さて準備が整ったところで、行列 Aってなんだったか思い出してみると、「行列 A は、それぞれの固有ベクトルの方向を固有値倍する」という効果があるのでした。つまり「行列 A を ~x に掛け算するとき、(X, Y ) の座標系に移って、X 成分を対応する固有値として3 倍、Y 成分を 9 倍して、(X, Y ) から (x, y) の座標に戻る」という操作をすればいいわけです。そのことをちゃんと式で表すならば、( ))()()( )(1 1x
3 021x1A=
3 1 −2y0 91 −1y10となります。
この操作を細かく見てくならば、() () ()( )1 1
13 021x3 1 −20 91 −1y↑
(X, Y ) 座標系に移る。
↑
X 座標を 3 倍、Y 座標を 9 倍して、↑元の (x, y) 座標に戻る。ということをしています。
つまり1A=3()()()
113 0211 −20 9
1 −1ということを主張しているわけですが、この右辺を計算すると、正しく)(5 −2A=−47となっていることが確かめられますね。
これが行列を固有値と固有ベクトルを使って表現しなおしたもの。行列 A は、()()()()
1 1
5 −213 021=
3 1 −2−470 91 −1です。もしくは具体的な逆行列の形を書かずに、) ()−1 ()()(213 0215 −2=−471 −10 91 −1としていてもいいでしょう。この表現を使うと、A の累乗計算などが簡単にできるようになります。

行列の累乗計算固有値と固有ベクトルを利用して、どんな行列だって書き表わすことが可能です。それは固有ベクトル方向の座標系へ移る操作をして、それぞれの方向を固有値倍してから、元の座標系へ戻るという操作を行列で書き表わすということ。

11

行列 A の固有値が a, b だったとしましょう。対応する固有ベクトル方向の座標系への変換を表す行列を V と書くことにします。固有値と固有ベクトルを使った行列の書きな
おしは、()
a 0−1A=VV0 bという形になります。

V V −1 = Iという性質 (I は単位行列) を思い出しておくと、()()
a0a0A2 = V −1V V −1V0 b0 b()()()
a010a0= V −1V0 b0 10 b()2a0= V −1
V0 b2()()()
a0a0a0A3 = V −1
V V −1
V V −1V0 b0 b0 b()()()()()
a010a010a0= V −1
V0 b0 10 b0 10 b()
3a0= V −1V0 b3

といったことが確認できます。
もっと一般にも、

()
an 0
V0 bn

()
an 0V0 bn

An = V −1となります。
このAn = V −1という式、先ほどの「行列を掛けるというのは、固有ベクトルの方向に固有値倍するという効果」ってことを思い出すとよく理解できるのではないでしょうか。
「行列を ~x に n 回掛け算するというのは、~x を固有ベクトル方向 (X, Y ) に移して、Xを対応する固有値倍 (の n 回繰りかえし) して、Y を対応する固有値倍 (の n 回繰りかえし) してから、元の座標系に戻る」ということを意味していますね。

12) ( )( )(nxa0xVAn= V −1y0 bny↑
(X, Y ) 座標系に移って、↑
X 座標を an 倍、Y 座標を bn 倍して、↑元の (x, y) 座標に戻る。ということです。
話が冗長になってしまいましたが、言いたいことは• 固有値と固有ベクトルは、行列の計算がしやすい空間への写像とその空間での計算ルールを定めている。
• 固有値と固有ベクトルを求めるという作業は、その行列の特徴的な性質を抜き出すことを行っている。ということです。

4

行列が 3 × 3 正方行列のとき最後に A が 3 × 3 正方行列のときでも、同じことが言えることを見ていきましょう。そろそろ私も書き飽きたし、みなさんも読み飽きたころでしょうから細かい計算ははしょっていきます。
ここでもまた具体的な行列で考えていくことにして、

20 6 −41A =  4 18 4 8−6 −3 10としていきましょう。
固有値と固有ベクトルを規定する式は A~x = a~x でした。この式を変形すると、

20 − 8a6−41
18 − 8a4  ~x = 0
 48−6−310 − 8aこの式から、面白くもない ~x = 0 以外の解を見出すためには、
20 − 8a6−4
det  418 − 8a4 =0−6−310 − 8a13でないといけない。この条件式を解くと、固有値として、

a = 1, 3, 2という値が得られます。
それぞれの固有値に対応する固有ベクトルの式を求めましょう。今度は 3 次元空間中で直線の式を求めるのだから、それぞれの固有値につき平面を表す式が 2 つずつ得られることでしょう。

a = 1 に対応する固有ベクトル: x ~x = y zとすると、得られる式は、の 2 つ。もっと単純な形として、{

6x + 3y − 2z = 0
2x + 5y + 2z = 0{x+y =0
3y + 2z = 0を採用しておきましょう。

a = 3 に対応する固有ベクトル:
同じように計算を進めます。得られる式は、{−2x + 3y − 2z = 0−6x − 3y − 14z = 0の 2 つ。もっと単純な形として、{x + 2z = 0
3y + 2z = 0を採用します。

a = 2 に対応する固有ベクトル:
これも同じく計算を進めます。得られる式は、{2x + 3y − 2z = 02x + y + 2z = 0の 2 つ。もっと単純な形として、{x+y =0x + 2z = 014を採用します。
固有ベクトル方向への写像として、
   X
1 0 2x    Y  =  1 1 0  y 
Z0 3 2zとしましょう。もちろん、これ以外の変換行列を使っても問題ありません。ここでは固有ベクトルの方向へ移すことが大事なのであって、それぞれの座標軸の目盛りについてはなにも言っていません。その点が、この変換行列を自由に選べる理由の根底にありそうです。とにかくここでは、上のように選びました2 。
この (X, Y, Z) から元の (x, y, z) に戻るために逆行列を求めると、
  xX
26 −2  1 2  Y y  = −2 28z
Z3 −3 1が得られます。
よって、いま考えている行列 A は




26 −21 0 0
1 0 21
A = −2 22  0 3 0 1 1 0
83 −3 10 0 20 3 2と書き表わすことができます。このように書くと、累乗計算は楽になり、
26 −21n 0 0
1 0 21An = −2 22   0 3n 0  1 1 0
83 −3 10 0 2n0 3 2のように行うことができます。
これらは「もともと考えている座標系から固有ベクトルの方向を軸とする座標に移り、行列の効果を考えた後で、元の座標系に戻る」という操作をしているのでした。
以上で 3 × 3 の正方行列に対する具体例もお終い。
やっていませんがもっと一般に n × n の行列、行列に限らず一般の演算子についても、同様に考えることができると思います3 。

23変換行列の求め方については、付録の項も参照してください。
証明もせずに断言してはまずいかもしれませんけど。

15

結論

52 × 2 行列の最後でも書いたことを繰りかえしますが、• 固有値と固有ベクトルは、行列の計算がしやすい空間への写像とその空間での計算ルールを定めている。
• 固有値と固有ベクトルを求めるという作業は、その行列の特徴的な性質を抜き出すことを行っている。ということが、この冊子での結論です。

A

付録：固有ベクトルの座標空間への変換行列を求める

この冊子では神がかり的な直観 (?) で、()()()
1 1 1
3 0
2 1A=
3 1 −20 9
1 −1とか
26 2
1 0 0
1 0 21
A = −2 2 2 0 3 0 1 1 0
83 −3 10 0 20 3 2

なんて形を出していました。
特にこの一番右の、固有ベクトルの方向を座標軸とするような空間への変換行列を求める作業、自分の文章ながら説得力不足という気がして仕方ありません。2 × 2 の行列までなら、こういう直観的なやり方で苦労はしないのですが、3 × 3 の行列ではかなり大変でした。実際、私は答えを先に作っておいてから行列 A の形を導入したのだから、ほとんど反則をしています。
この変換行列を求める方法、浪人の頃はもっと機械的な作業でやっていた気がするんだけどなぁ…と、この行列群を眺めていました。
すると一番右の変換行列じゃなくて、その逆行列— 一番左の行列 —から不思議な印象を受けました。一番左の行列って、元の行列の固有ベクトルを左から順に並べたものになっていますねぇ…。
( )12 × 2 の行列の式に注目してみると、固有値 3 に対応する固有ベクトル ~x =が11( )1列目にあって、2 列目は固有値 9 に対応する固有ベクトル ~x =が現れています。
−23 × 3 の行列の場合でも同じことが言えます。変換行列の逆行列(一番左の式) は、固有  62  
値 1 に対応する固有ベクトル ~x = −2、固有値 3 に対応する固有ベクトル ~x =  2 、−3316 −2 
固有値 2 に対応する固有ベクトル ~x =  2  を順に並べたものになっています。
1
そう眺めてから考えてみると、この「固有ベクトルを順に並べた行列が一番左にくる」というルールは、どんなときでも成り立ちそうです。以下ではその理由を考えてみましょう。
(x, y, z) という元のデカルト座標系から、固有ベクトルの方向へ移る変換行列を V と書くことにしましょう。ここではまだ V の具体的な形はわかっておらず、行列 A の固有ベクトルだけは求めたという状態とします。(議論の大筋に関係ないので、 31 とか 18 といった分数の部分は書かずに話を進めます) V を固有ベクトルに作用させてみましょう。
 2 V −23ということを考えたら、この変換後の値は 1 つ目の成分にしか値を持たないはずですね。
だって、その固有ベクトルの方向を 1 つ目の軸にするのですから。式で書いたら、  ??
2   0  = V −203ということ。そして、この新しい座標軸の目盛りについては何でもよいので、この固有ベクトルの長さを 1 と考えることにしましょう。ここで、新しい座標軸の目盛りを指定していることになります。つまり V は、  12  
0 = V −203という性質を持っていることにします。同じことを 2 つ目、3 つ目の固有ベクトルについても考えて、それぞれの座標軸の目盛りを決めます。
  06  
1 = V  2 0−3  −20  0 = V  2 11
このように取り決めて、出してきた式をまとめて行列で表記すると、

26 −21 0 02
0 1 0 = V −2 23 −3 10 0 1となります。この式から、

17




26 2
V は行列 −2 2 2 の逆行列である。
3 −3 1という結論、もしくは同じ意味ですが、
26 2
固有ベクトルを並べた −2 2 2 は、V の逆行列になっている。
3 −3 1ということを主張できます。
そんなわけで、固有ベクトルの方向を軸とするような空間への変換行列を求めたいというとき、固有ベクトルを左から順に並べた行列の、逆行列を求めればよい。ということが言えます。
これで、もっと行や列の数が増えたときでも、機械的に変換行列を求めることができるようになり…ましたよね??

18

*奥付

[物理屋さん] 山本屋本舗 の提供でお送りいたしました。
http://yamamoto-akira.org/butsuriya/index.html

図々しいですけど…投げ銭受け付け中です。

あなたの満足度に応じて、この冊子に値段を付けてください。
これなら支払って惜しくないと思った金額がこの冊子の適正価格です。投げ銭の宛て
先は…

口座名義
銀行名
本支店名
口座種別
口座番号

銀行振込
山本明 (ヤマモトアキラ)
新生銀行 (シンセイギンコウ)
本店 (ホンテン)
普通0444677