高校生物553211 views
雑学1474218 views
小学算数1203731 views
高校国語790013 views
MathPython501700 views
高校化学2933198 views
LaTeX965557 views
高校物理162509 views
教育150077 views
ヒストリア294981 views
Help
Tools

English

ジョルダン標準形とは|対角化できない行列を細胞に分ける

対角化できない行列でも、対角に近いところまでは必ず簡単にできる。その到達点がジョルダン標準形である。

対角成分に固有値が並び、そのすぐ上に 1 が乗る。この 1 の並び方が、固有ベクトルの足りなさをそのまま形にしている。

ジョルダン細胞

対角成分がすべて同じ固有値 で、対角のすぐ上だけが 1 の正方行列をジョルダン細胞という。大きさ のものを と書く。

細胞は と分けられる。 は対角の上に 1 が並ぶ行列で、掛けるたびに 1 の列が右上へずれ、 回でちょうど零行列になる。

固有ベクトルは細胞 1 つにつき 1 本しかない。 の固有空間は、大きさによらず 1 次元である。

例:2 次と 3 次の細胞

大きさ 1 の細胞は という 1 成分の行列で、対角行列の 1 成分にあたる。2 次と 3 次を書き下すと次のようになる。

上三角なので固有多項式はすぐ読める。 の固有値は だけで、重複度は である。

どんな行列でもこの形に持ち込める

複素数の範囲で考えれば、正方行列 には必ず正則行列 が取れて、 がジョルダン細胞を対角に並べた形になる。

対角の外はすべて 0 である。同じ固有値の細胞がいくつも並ぶことがあり、そこが対角化との分かれ目になる。

実数の範囲では話が変わる。固有多項式が 1 次式の積に分解しなければ、この形には持ち込めない。

HTML
CSS
JavaScript
<svg viewBox="0 0 460 250" width="100%" style="max-width:460px;display:block;margin:0 auto">
	<text x="230" y="24" font-size="11" fill="#9a9a9a" text-anchor="middle">細胞が対角に並び、外側はすべて 0 になる</text>
	<rect x="140" y="46" width="180" height="180" fill="none" stroke="#c8c8c8" stroke-width="1"></rect>
	<rect x="140" y="46" width="60" height="60" fill="#1b81e0" fill-opacity="0.10" stroke="#1b81e0" stroke-width="1"></rect>
	<rect x="200" y="106" width="30" height="30" fill="#1b81e0" fill-opacity="0.10" stroke="#1b81e0" stroke-width="1"></rect>
	<rect x="230" y="136" width="90" height="90" fill="#1b81e0" fill-opacity="0.10" stroke="#1b81e0" stroke-width="1"></rect>
	<text x="170" y="81" font-size="12" fill="#1b81e0" text-anchor="middle">J<tspan font-size="9" dy="3">2</tspan><tspan dy="-3">(2)</tspan></text>
	<text x="215" y="126" font-size="12" fill="#1b81e0" text-anchor="middle">J<tspan font-size="9" dy="3">1</tspan><tspan dy="-3">(2)</tspan></text>
	<text x="275" y="186" font-size="12" fill="#1b81e0" text-anchor="middle">J<tspan font-size="9" dy="3">3</tspan><tspan dy="-3">(5)</tspan></text>
	<text x="270" y="81" font-size="13" fill="#9a9a9a" text-anchor="middle">0</text>
	<text x="180" y="186" font-size="13" fill="#9a9a9a" text-anchor="middle">0</text>
	<text x="230" y="242" font-size="11" fill="#9a9a9a" text-anchor="middle">固有値 2 の細胞が 2 つ、固有値 5 の細胞が 1 つの例</text>
</svg>

例:対角化できない最小の行列

次の行列は 2 次で、固有値は 2 だけである。

固有多項式は なので、固有値 2 の代数的重複度は 2 になる。ところが の階数は 1 で、固有空間は 1 次元しかない。

固有ベクトルが 1 本しか取れないので、基底をどう選んでも対角にはできない。この行列自身が、大きさ 2 の細胞そのものである。

対角化できるのは細胞がすべて 1 次のとき

細胞の大きさが 1 なら、対角の上に乗る 1 が消える。したがって、すべての細胞が 1 次であることと対角化できることは同じ意味になる。

大きさ 2 以上の細胞が 1 つでもあれば、その分だけ固有ベクトルが足りない。対角化の可否は、細胞の大きさを見れば言い切れる。

ジョルダン標準形は、対角化という操作を「どこまでできるか」まで広げた枠組みだと考えてよい。

細胞の個数は幾何的重複度

固有値 に属する細胞の個数は、固有空間の次元 に等しい。つまり幾何的重複度が細胞の個数を決めている。

理由は細胞 1 つにつき固有ベクトルが 1 本出ることにある。細胞が 3 つ並べば固有ベクトルは 3 本取れる。逆に固有空間が 1 次元なら、その固有値の細胞は 1 つにまとまっている。

細胞の大きさの合計は代数的重複度

同じ固有値に属する細胞の大きさをすべて足すと、固有多項式での重複度に一致する。上三角の対角成分を数えれば、そのまま確かめられる。

2 つの重複度が等しいことは、細胞がすべて 1 次であることと同じである。対角化の判定条件がここでも顔を出す。

例:重複度だけでは形が決まらない

固有値 の代数的重複度が 4、幾何的重複度が 2 だとする。細胞は 2 つ、大きさの合計は 4 である。

この条件を満たす組は と の 2 通りある。重複度を 2 つ調べただけでは、どちらか決まらない。

大きさまで決めるには、 を何度も掛けて核がどう広がるかを見る必要がある。

核の広がり方で大きさが決まる

と置く。掛けるたびに核は広がり、途中で止まったらその先はずっと同じままである。

大きさが 以上の細胞の個数は、核の次元の階差 で求まる。1 段深く掛けたときに、どれだけ核が広がったかを数えている。

ちょうど の細胞の個数がほしければ、階差をもう一度取ればよい。

から順に計算すれば、細胞の大きさの組が過不足なく決まる。

HTML
CSS
JavaScript
<svg viewBox="0 0 460 220" width="100%" style="max-width:460px;display:block;margin:0 auto">
	<text x="230" y="24" font-size="11" fill="#9a9a9a" text-anchor="middle">箱を積むと、縦が細胞の大きさ、横が細胞の個数になる</text>
	<rect x="170" y="150" width="34" height="34" fill="#1b81e0" fill-opacity="0.10" stroke="#1b81e0" stroke-width="1"></rect>
	<rect x="204" y="150" width="34" height="34" fill="#1b81e0" fill-opacity="0.10" stroke="#1b81e0" stroke-width="1"></rect>
	<rect x="170" y="116" width="34" height="34" fill="#1b81e0" fill-opacity="0.10" stroke="#1b81e0" stroke-width="1"></rect>
	<rect x="170" y="82" width="34" height="34" fill="#1b81e0" fill-opacity="0.10" stroke="#1b81e0" stroke-width="1"></rect>
	<text x="152" y="172" font-size="11" fill="#9a9a9a" text-anchor="end">s = 1</text>
	<text x="152" y="138" font-size="11" fill="#9a9a9a" text-anchor="end">s = 2</text>
	<text x="152" y="104" font-size="11" fill="#9a9a9a" text-anchor="end">s = 3</text>
	<text x="256" y="172" font-size="11" fill="#1f1f1f">2 個</text>
	<text x="256" y="138" font-size="11" fill="#1f1f1f">1 個</text>
	<text x="256" y="104" font-size="11" fill="#1f1f1f">1 個</text>
	<text x="230" y="208" font-size="11" fill="#9a9a9a" text-anchor="middle">各段の箱の数が、その大きさ以上の細胞の個数にあたる</text>
</svg>

例:階差から細胞を組み立てる

固有値 3 をもつ 4 次の行列で、 の核の次元が 、、 だったとする。

階差を取ると、大きさ 1 以上が 2 個、2 以上が 1 個、3 以上が 1 個になる。4 乗しても核はもう広がらないので、4 以上は 0 個である。

したがって細胞は大きさ 3 が 1 つ、大きさ 1 が 1 つになる。標準形は次のとおりである。

ちょうど 2 の細胞の個数を式で確かめると で、階差から読んだ結果と食い違わない。

広義固有空間に分ける

の核は、 を大きくすると広がり、代数的重複度の次元に達したところで止まる。この行き着いた先を広義固有空間という。

固有値ごとの広義固有空間を集めると、空間全体が直和に分かれる。

それぞれの成分は で保たれるので、固有値ごとに分けて考えられる。ジョルダン標準形がブロックに分かれるのは、この分解を写したものである。

例:固有値が 2 つある行列を分ける

次の行列の固有値は 2 と 5 で、2 の代数的重複度は 2 である。

固有値 2 の固有空間は 1 次元だが、 の核は 2 次元になる。これが広義固有空間で、はじめの 2 つの座標が張る平面にあたる。

固有値 5 のほうは 1 次元で、こちらは普通の固有空間と同じである。全体は 2 次元と 1 次元の直和に分かれ、細胞は と になる。

変換行列はジョルダン鎖から作る

大きさ の細胞に対応する基底は、1 本のベクトルから芋づる式に作る。 かつ となる を取る。

そこから を繰り返し掛けて、、、 と並べる。これをジョルダン鎖という。

鎖の最後にくるのが、ふつうの固有ベクトルである。鎖を逆向きに、固有ベクトルから順に の列へ並べると、その部分が細胞の形になる。

例:鎖をたどって P を組む

固有値が重なる 2 次の行列で試す。

トレースが 8、行列式が 16 なので固有多項式は である。 の階数は 1 で、固有空間は 1 次元しかない。

鎖の出発点として を取る。 を計算すると になり、これが固有ベクトルである。

2 本を列に並べた行列を とすれば、変換した結果は大きさ 2 の細胞になる。

と を確かめれば、列ごとに細胞の各列が再現されていると分かる。

並べ方を除いて一意である

細胞の並べる順序は自由に入れ替えられる。順序を除けば、どの固有値にどの大きさの細胞がいくつ付くかは行列ごとに決まっている。

決まる理由は、細胞の構成が という次元だけから読めることにある。次元は基底の取り方によらない量である。

したがって、2 つの行列が相似であることと、ジョルダン標準形が並べ方を除いて一致することは同じ意味になる。細胞の構成は相似の完全な目印である。

最小多項式は最大の細胞の大きさ

固有値 の細胞のうち最大の大きさを とすると、最小多項式に現れる の指数がちょうど になる。

大きさ の細胞では が零にならず、 乗ではじめて消えるからである。細胞ごとに必要な指数が違い、その最大が全体を決める。

固有多項式のほうは、大きさの合計が指数になる。2 つの多項式の違いは、合計を取るか最大を取るかの違いだと読める。

例:最小多項式から細胞を読む

固有値 2 の代数的重複度が 3 で、最小多項式が だとする。最大の細胞は 2 次で、合計は 3 である。

組み合わせは しかない。この場合は最小多項式だけで細胞の構成が決まる。

ただし、いつでも決まるわけではない。重複度が 4 で最小多項式が同じ なら、 と の 2 通りが残る。

実行列と複素固有値

実行列でも、固有値が実数とは限らない。複素数の範囲へ出れば標準形は取れるが、 も も複素行列になってしまう。

実数の範囲にとどめたいときは、共役な固有値 の組を 1 つの ブロックにまとめる。

このブロックを細胞の代わりに並べた形を実ジョルダン標準形という。回転と拡大を組み合わせた変換が、そのまま 1 つの部品になる。

例:回転を含む実行列

次の行列は実行列だが、実数の固有値を持たない。

トレースが 2、行列式が 7 なので固有多項式は である。判別式が負で、固有値は になる。

実の範囲では対角化も三角化もできない。実ジョルダン標準形は次の形で、実部と虚部がそのまま成分に並ぶ。

数値計算では使われない理由

ジョルダン標準形は、成分をわずかに動かしただけで形が変わってしまう。 の右下を にすれば、固有値が分かれて対角化できる行列になる。

どんなに小さい でも結論は変わる。細胞の大きさは連続的に変わる量ではないので、丸め誤差の入る計算とは相性が悪い。

そのため数値計算では、直交行列で三角化するシューア分解のように、誤差に強い分解を使う。ジョルダン標準形は理論を書くための道具だと割り切ってよい。

他の話題とのつながり

累乗を求めるときは、細胞を に分けて二項定理を当てる。べき零な部分が途中で消えるので、項の数は細胞の大きさで止まる。

行列の指数関数も同じ形で計算できる。線形の連立微分方程式を解くと、細胞の大きさに応じて の多項式が掛かった解が現れる。

固有値がすべて 0 の場合が、べき零行列である。そのときの標準形は対角成分が 0 の細胞だけになり、大きさの組は重複度の分割と一対一に対応する。

よくある誤り

細胞の大きさと個数を取り違える。個数を決めるのは幾何的重複度で、大きさの合計が代数的重複度である
2 つの重複度が分かれば標準形も決まる、と考えてしまう。重複度が 4 と 2 なら と が残る
対角のすぐ上の 1 を、成分の値として意味があるものだと読む。基底の取り方で 1 にそろえた目印にすぎない
実行列なら実の標準形が取れるはずだと思い込む。複素固有値があれば、実の範囲では のブロックが残る
最小多項式が固有多項式と一致するときだけ細胞が 1 つ、と覚え違える。一致するのは固有値ごとに細胞が 1 つのときである
と が相似だからといって、成分の大小や符号まで引き継がれるわけではない。保たれるのは固有値と細胞の構成である
数値計算で細胞の大きさを判定できると期待する。わずかな誤差で結果が変わるので、そこは苦手な部類に入る

参考文献

Jordan normal form - Wikipedia
Generalized eigenvector - Wikipedia
Jordansche Normalform - Wikipedia(ドイツ語)
Réduction de Jordan - Wikipédia(フランス語)
若尔当标准型 - 维基百科(中国語)
対角化できない行列でも、対角のすぐ上に 1 を並べた形までは必ず持ち込めます。ジョルダン細胞の定義から、細胞の個数と大きさの決まり方、鎖をたどって変換行列を組む手順、最小多項式が最大の細胞を表すこと、数値計算で避けられる理由までを、計算例をつけて示します。