ゲルシュゴリンの定理シミュレーター 戻る
数値解析

ゲルシュゴリンの定理シミュレーター

固有値を実際に計算しなくても、行列の成分だけからその存在範囲を絞り込めるのがゲルシュゴリンの定理です。3×3対称行列の対角成分と非対角成分を動かすと、複素平面に描かれた円板の中に固有値が必ず収まる様子をリアルタイムで観察できます。

パラメータ設定
対角成分 a11
第1行の対角成分。円板1の中心になります
対角成分 a22
第2行の対角成分。円板2の中心になります
対角成分 a33
第3行の対角成分。円板3の中心になります
非対角成分の大きさ offMag
すべての非対角成分に共通の値。各円板の半径は 2·offMag になります
計算結果
円板1(中心, 半径)
円板2(中心, 半径)
円板3(中心, 半径)
最大固有値(実測)
最小固有値(実測)
ゲルシュゴリン上界
複素平面 — ゲルシュゴリン円板と固有値

横軸が実軸、縦軸が虚軸です。3つの半透明な円板は各行の円板を表し、実軸上の点が実際の固有値です。すべての点が少なくとも1つの円板の内側に収まります。

円板と固有値(実軸上の1次元配置)
円板半径 vs 非対角成分
理論・主要公式

$$\text{円板 }i:\quad |\lambda-a_{ii}|\le R_i,\qquad R_i=\sum_{j\ne i}|a_{ij}|$$

第i行のゲルシュゴリン円板。中心は対角成分 a_ii、半径 R_i はその行の非対角成分の絶対値の和。すべての固有値はこれら円板の和集合の中にあり、他から離れて孤立した円板の中にはちょうど1個の固有値が入る。

$$A=\begin{bmatrix}a_{11}&m&m\\ m&a_{22}&m\\ m&m&a_{33}\end{bmatrix},\qquad R_1=R_2=R_3=2m$$

本ツールの行列。非対角成分はすべて m(=offMag)で、どの行も非対角成分が2つあるため半径は一律 2m。

$$\text{上界}=\max_i\,(a_{ii}+R_i),\qquad \text{下界}=\min_i\,(a_{ii}-R_i)$$

スペクトル(固有値の集合)が収まる実軸上の区間。上界は最大固有値、下界は最小固有値を保証する。

ゲルシュゴリンの定理とは

🙋
「ゲルシュゴリンの定理」って、聞き慣れない名前です。これって何をする定理なんですか?
🎓
ざっくり言うと「固有値を計算しないで、固有値がだいたいどのへんにあるかを当てる」定理だよ。固有値をきちんと求めるのは、行列が大きくなると結構な計算量になる。でもゲルシュゴリンの定理を使うと、行列の数字を眺めるだけで「固有値はこの範囲の中にしかない」と言い切れる。数値線形代数では数少ない「タダ飯(フリーランチ)」の一つなんだ。
🙋
計算しないで範囲が分かるって、ちょっと魔法みたいです。どうやって範囲を決めるんですか?
🎓
行列の「行」ごとに、複素平面に円を1個ずつ描くんだ。円の中心はその行の対角成分。円の半径は、その行の対角成分以外の数字の絶対値を全部足したもの。これがゲルシュゴリン円板だよ。定理が保証するのは「すべての固有値は、これらの円板の和集合の中に必ず入る」ということ。左のスライダーで a11 を動かすと、円板1が実軸上を左右に動くのが見えるはずだ。
🙋
なるほど!じゃあ非対角成分(offMag)を上げると、円板はどうなるんですか?
🎓
いいところに気づいたね。offMag を上げると、各行の非対角成分の絶対値の和が増えるから、円板の半径がどんどん大きくなる。このツールの3×3行列はどの行も非対角成分が2つだから、半径は一律で 2·offMag になる。半径が大きくなると円板どうしが重なり、固有値は対角成分から離れてばらけていく。逆に offMag を 0 にすると、円板は半径ゼロの点になって、固有値はちょうど対角成分そのものになるんだ。
🙋
円板が他と離れて1個だけポツンとある状態を見つけたんですが、これって何か意味があるんですか?
🎓
大ありだよ。ゲルシュゴリンには第2定理というのがあって、「ある円板が他のどの円板とも重なっていなければ、その円板の中には固有値がちょうど1個だけ入る」と言える。だから孤立した円板を見つけたら、その対角成分のすぐ近くに固有値が1個あると断言できる。これは固有値の「数」まで分かるという、かなり強い情報なんだ。
🙋
実務だと、この定理はどんなときに使うんですか?
🎓
よく使うのは反復法の収束チェックだね。ヤコビ法やガウス・ザイデル法が収束するかどうかは、ある行列のスペクトル半径(固有値の絶対値の最大)が1未満かどうかで決まる。ゲルシュゴリンで「固有値は全部この円板の中」と分かれば、スペクトル半径の上界がタダで手に入る。ほかにも、行列が正定値かどうかの確認や、制御システムの安定性の判定にも使われる。固有値ソルバーを回す前の「ざっくり当たりをつける」道具として、とても重宝するんだ。

よくある質問

n×n行列のすべての固有値が、行ごとに定まるn個の「ゲルシュゴリン円板」の和集合の中に必ず存在する、という定理です。第i行の円板は、中心が対角成分 a_ii、半径 R_i がその行の非対角成分の絶対値の和になります。固有値を実際に計算しなくても、その存在範囲を行列の成分だけから直接見積もれるのが最大の利点です。
第i行の円板の半径 R_i は、その行の対角成分以外の成分の絶対値をすべて足したもの、R_i = Σ_{j≠i} |a_ij| です。本シミュレーターの3×3行列はすべての非対角成分を同じ大きさ offMag にしているため、どの行も非対角成分が2つあり、半径は一律に R = 2·offMag になります。非対角成分を大きくするほど円板が広がり、固有値が対角成分から離れて分布します。
固有値計算は一般に重い処理ですが、ゲルシュゴリンの定理は行列の成分を見るだけで固有値の範囲を瞬時に絞り込めます。具体的には、反復法の収束を左右するスペクトル半径の概算、行列が正則(非特異)か正定値かの確認、システムの安定性の上下界の評価、対角優位性の判定などに使われます。詳細な固有値ソルバーを回す前のサニティチェックとしても有効です。
ゲルシュゴリンの第2定理により、k個の円板の和集合が残りの円板と互いに素(重なりがない)なら、その和集合の中にはちょうどk個の固有値が存在します。特に、ある1つの円板が他のどの円板とも重なっていなければ、その円板の中には固有値が必ず1個だけ含まれます。非対角成分が小さいほど円板は分離しやすく、固有値は対角成分の近くに1個ずつ局在します。

実世界での応用

反復法の収束判定:連立一次方程式をヤコビ法やガウス・ザイデル法で解くとき、反復が収束するかどうかは反復行列のスペクトル半径が1未満かどうかで決まります。スペクトル半径を厳密に求めるには固有値計算が必要ですが、ゲルシュゴリンの定理を使えば円板の最大半径から上界を即座に得られます。行列が対角優位(対角成分の絶対値がその行の非対角成分の絶対値の和より大きい)なら、すべての円板が原点を含まず、収束が保証されることもこの定理から分かります。

構造解析・振動解析の固有振動数の見積もり:有限要素法で得られる剛性行列・質量行列の一般化固有値問題では、固有値が構造物の固有振動数の2乗に対応します。詳細な固有値抽出を行う前に、ゲルシュゴリンの円板で固有値の存在範囲を把握しておくと、モード抽出の探索区間の設定や、計算結果が物理的に妥当かのチェックに役立ちます。

制御システムの安定性評価:線形システム ẋ = Ax が安定であるためには、行列 A のすべての固有値の実部が負である必要があります。ゲルシュゴリンの円板がすべて複素平面の左半平面(実部が負の領域)に収まっていれば、固有値を計算するまでもなく安定であると結論できます。ロバスト制御では、行列の成分が不確かさをもつ場合の安定余裕の評価にも円板が使われます。

固有値ソルバーのサニティチェック:QR法などの数値固有値ソルバーが返した結果が、ゲルシュゴリンの円板の外に出ていれば、それはバグや数値誤差のサインです。逆に円板の中に正しく収まっていれば、結果の信頼性を裏付ける独立した検証になります。大規模な計算ほど、こうした安価で確実なチェックの価値が高まります。

よくある誤解と注意点

まず多い誤解が、「各円板の中に固有値がちょうど1個ずつ入る」と思い込むことです。これが成り立つのは、円板どうしが互いに素(重なっていない)場合に限られます。円板が重なって連結した一つの領域になると、その連結領域の中に固有値が何個入っているかは「重なっている円板の枚数」しか言えません。例えば3つの円板がすべて重なって1つの大きな領域になっているとき、その中に固有値が3個あることは分かりますが、「どの円板にどの固有値が」までは決まりません。本ツールで offMag を大きくしていくと、円板が次々に重なり、この「ちょうど1個ずつ」の性質が崩れていく様子が見られます。

次に、「ゲルシュゴリンの円板は固有値の最良の評価である」という思い込みです。ゲルシュゴリンの定理は手軽で確実ですが、得られる範囲はしばしば緩い(実際の固有値より広い)ものです。行列を相似変換(対角行列でスケーリングするなど)すると固有値は変わらないまま円板の形が変わるため、より狭い評価が得られることがあります。また、行に対する円板だけでなく列に対する円板(A の転置を考える)も同時に使えば、両者の共通部分という、より厳しい評価が得られます。ゲルシュゴリンは「速い第一近似」であって、最終結論ではありません。

最後に、「対称行列でも円板は虚軸方向に広がる」と誤解しないことです。一般の行列ではゲルシュゴリンの円板は複素平面上の本物の「円」であり、固有値は複素数になり得ます。しかし本ツールが扱う対称行列(実対称行列)では、固有値はすべて実数であることが理論的に保証されています。そのため固有値は必ず実軸上に並び、円板が実軸と交わる区間の中に収まります。キャンバスで固有値の点が常に実軸(横軸)上にあるのは、行列を対称に固定しているからです。非対称な行列を扱うと、固有値は実軸を離れて複素平面に散らばります。

使い方ガイド

  1. 対角成分a11、a22、a33に対応する複素平面上の中心座標を入力する
  2. 非対角成分の大きさoffMagを指定して、各円板の半径(行の絶対値の和)を決定する
  3. シミュレーター実行ボタンをクリックすると、複素平面上に3つのゲルシュゴリン円板が描画され、固有値がすべて円板内に存在することを確認できる

具体的な計算例

3×3行列で対角成分a11=8、a22=5、a33=3、非対角成分の大きさが0.5の場合、第1円板は中心8、半径1.0(|0.5|+|0.5|)、第2円板は中心5、半径1.0、第3円板は中心3、半径1.0となる。実際に固有値計算を行うと最大固有値9.2、最小固有値2.1が得られ、すべての値がゲルシュゴリン円板内に収まることが検証される

実務での注意点