中学数学623977 views
小学理科720199 views
雑学1473717 views
高校日本史190639 views
高校生物551985 views
教育149564 views
Computer368461 views
世界の国564972 views
小学算数1201030 views
中学社会669002 views
Help
Tools
NewsSpreadsheetCalendarBookkeepingMarkdown TablesLanguage Model NewsLinux CommandsSlidesTier ListPen ToolIllustrationCrayonWatercolorPixel ArtASCII ArtPerspectiveEndless StairsGraphMind MapER DiagramFamily TreeMemeCurved TextImage EditorMosaicRetro FilterPencil SketchSwirl EffectLine ArtOCR/HighlighterMakeup EditorFaviconVideo TrimmerScrolling VideoVideo TitleColor PickerColor ExtractorBonfireFireworksCherry BlossomWater RippleWater SplashBreaking GlassGlass TextureFabric TextureWood GrainMarble TextureBrick Wall TextureMetal TextureWashi Paper TextureCardboard TextureCSS ButtonIcon MakerBar ChartGrouped Bar ChartStacked Bar ChartPie ChartLine ChartArea ChartStacked Area ChartScatter Plot3D Bar Chart3D Pie ChartBar Chart RaceBubble ChartPopulation PyramidPictogramEarningsCandlestick ChartInvestment RiskMortgage SimulatorCalculatorMatrix CalculatorFunction GraphPolynomial ExpansionVenn DiagramField VisualizerRubik's Cube Group TheoryTraveling SalesmanVoronoi and DelaunayFractalUniversity Entrance Exam MathColumn ArithmeticDraw Math FiguresArithmetic AnimationArithmetic Word ProblemsCounting with Tree DiagramsCube NetsRolling DiceCross SectionsMotion PathMechanicsWavesUniversity Entrance Exam Physics解析力学Quantum MechanicsStatistical MechanicsRelativityCelestial MechanicsAstrophysicsCosmologyElectromagnetic WavesCapacitorsLight and LensesThermodynamicsHow Semiconductors WorkMolecular StructuresAtomic OrbitalsElectrochemical CellsChemical EquilibriumCrystal LatticesBuffer pHOrganic Reaction MapPeriodic TableComplex IonsDNA Double HelixCell DivisionMembrane ChannelsNerve ImpulseMuscle ContractionHormones and HomeostasisRock ClassificationWeatherConstellationsSolar and Lunar Eclipses3D ModelingFloor PlanSeismic StructuresIntersection TurnMaglevCooking AnimationOrigamiLive Viewer CountGeoJSON MapRailway MapPopulation MapCrime MapLand Price MapSchool MapShrine and Castle MapHouse of Representatives MapWord MapSolitaireReversiHakoiri MusumeChessHamburgerRippleSlide Puzzle MakerNeon PinballNovel MakerJapanese Typing PracticePiano Score EditorMusic TheoryShogi StrategyPiano Rhythm Game

English

固有値と固有ベクトルの計算方法と意味|証明つき解説

行列 に対して をみたす でないベクトル を固有ベクトル、そのときのスカラー を固有値といいます。

行列はベクトルを別のベクトルへ移す作用ですが、そのなかで向きを変えられないベクトルがあります。それが固有ベクトルで、伸び縮みの倍率が固有値です。

以下では定義と直観から始め、計算の手順と具体例を数多く並べ、固有値の性質、対角化とその応用までを扱います。要になる主張には証明を付けます。

直観:向きが変わらないベクトル

具体例で見ます。次の行列を考えましょう。

HTML
CSS
JavaScript
<svg viewBox="0 0 700 300" xmlns="http://www.w3.org/2000/svg" style="max-width:100%;height:auto;display:block;margin:0 auto"><defs><marker id="ev-b" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="#1b81e0"/></marker><marker id="ev-o" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="#e0761b"/></marker></defs><line x1="75" y1="192" x2="290" y2="192" stroke="#dcdcdc" stroke-width="1"/><line x1="99" y1="209" x2="99" y2="53" stroke="#dcdcdc" stroke-width="1"/><line x1="80" y1="205" x2="232" y2="96" stroke="#c9c9c9" stroke-width="1" stroke-dasharray="5 3"/><line x1="99" y1="192" x2="266" y2="70" stroke="#e0761b" stroke-width="2.4" marker-end="url(#ev-o)"/><line x1="99" y1="192" x2="132" y2="167" stroke="#1b81e0" stroke-width="2.4" marker-end="url(#ev-b)"/><text x="144" y="181" font-size="13" fill="#1b81e0">v</text><text x="258" y="60" font-size="13" fill="#e0761b" text-anchor="end">Av</text><text x="183" y="32" font-size="13" fill="#1f1f1f" text-anchor="middle">v = (1, 1) のとき</text><text x="183" y="242" font-size="12" fill="#8a8a8a" text-anchor="middle">同じ直線の上に乗ったまま 5 倍</text><line x1="405" y1="192" x2="620" y2="192" stroke="#dcdcdc" stroke-width="1"/><line x1="429" y1="209" x2="429" y2="53" stroke="#dcdcdc" stroke-width="1"/><line x1="402" y1="192" x2="617" y2="192" stroke="#c9c9c9" stroke-width="1" stroke-dasharray="5 3"/><line x1="429" y1="192" x2="563" y2="143" stroke="#e0761b" stroke-width="2.4" marker-end="url(#ev-o)"/><line x1="429" y1="192" x2="462" y2="192" stroke="#1b81e0" stroke-width="2.4" marker-end="url(#ev-b)"/><text x="474" y="206" font-size="13" fill="#1b81e0">v</text><text x="555" y="133" font-size="13" fill="#e0761b" text-anchor="end">Av</text><text x="513" y="32" font-size="13" fill="#1f1f1f" text-anchor="middle">v = (1, 0) のとき</text><text x="513" y="242" font-size="12" fill="#8a8a8a" text-anchor="middle">直線から外れて向きが変わる</text><text x="350" y="272" font-size="12" fill="#8a8a8a" text-anchor="middle">固有ベクトルは、行列を掛けても自分の張る直線から出ません。それ以外は向きが変わります</text></svg>

を掛けると になります。長さは 倍ですが、向きは変わりません。

に掛けると になり、こちらは向きが変わります。ほとんどのベクトルはこちら側です。

向きが変わらない特別なベクトルを探し、そのときの倍率を調べるのが、これからやることです。

固有値と固有ベクトルの定義

次正方行列 について、 と数

をみたすとき、 の固有値、 に対する固有ベクトルといいます。

という条件が要ります。 を許すと、どんな についても が成り立ってしまい、固有値という概念が意味を失います。

一方 は許されます。 の固有ベクトルとは をみたす でないベクトルのことで、 が正則でないときに現れます。

固有ベクトルは定数倍を除いて決まる

の固有ベクトルなら、 でない定数 について も固有ベクトルです。

したがって「固有ベクトルは です」と書いても「 です」と書いても、同じことを言っています。ふつうは成分が簡単になるものを選びます。

長さを にそろえる流儀もあります。数値計算のライブラリはたいていそうします。

なぜ になるのか

定義の式を移項します。 を単位行列として、次のように書き直せます。

が固有値であるとは、この連立方程式が の解を持つことです。

同次連立方程式が自明でない解を持つのは、係数行列が正則でないときにかぎります。正則なら両辺に逆行列を掛けて しか出てこないからです。

正則でないことは、行列式が であることと同値でした。したがって の固有値であることは、次の方程式をみたすことと同じになります。

固有ベクトルを直接探すのではなく、まず固有値を方程式の解として求める。この順序が計算の骨格になります。

固有多項式

を展開すると、 についての 次多項式になります。これを固有多項式といいます。

次方程式なので、複素数まで許せば重複を込めてちょうど 個の解を持ちます。実行列でも固有値が複素数になることがあります。

実数の範囲では解が存在しない場合もあります。あとで回転行列の例を見ます。

計算の手順

手順は 3 段階です。

まず を解いて固有値を求めます。次に各固有値 について を解き、固有ベクトルを求めます。最後にトレースと行列式で検算します。

以下、はじめに挙げた でこの手順をたどります。

計算例:固有値を求める

の行列式を計算します。

次の行列式は「たすき掛けの差」でした。

これを とおいて解きます。 と因数分解できます。

計算例: の固有ベクトル

を解きます。まず行列を作ります。

とおいて連立方程式を書きます。

2 本の式は同じことを言っています。この重複は偶然ではありません。 になるよう を選んだので、2 本が独立になりようがないのです。

なので、 と取れば固有ベクトルが得られます。

確かめます。 となり、定義をみたしています。

計算例: の固有ベクトル

同じ手順です。

2 行がまったく同じになりました。連立方程式は の 1 本だけです。

なので、 として次を得ます。

検算します。 です。

計算例:トレースと行列式で検算する

固有値が正しいかどうかは、2 つの量ですぐ確かめられます。

のトレース(対角成分の和)は で、固有値の和 と一致します。

の行列式は で、固有値の積 と一致します。

この 2 つは偶然ではなく、いつでも成り立ちます。次の節で証明します。

証明:固有値の和と積

次の場合に固有多項式を一般に展開します。次のようにおきましょう。

の係数に が、定数項に が現れました。

一方、固有値を とすれば固有多項式は と書けます。

係数を比べて結論です。

次でも同じで、固有値の和がトレース、積が行列式になります。固有多項式の の係数と定数項を見れば出ます。

計算例:対称行列

次の対称行列を調べます。トレースが 、行列式が です。

固有値は です。和が 、積が で検算が合います。

のときの行列を書きます。

すなわち となり、固有ベクトルは です。

のときも同じです。

すなわち となり、固有ベクトルは です。

2 本の固有ベクトルの内積は で、直交しています。対称行列に特有の性質で、あとで証明します。

計算例:三角行列

次のように片側が の行列では、計算がほとんど要りません。

三角行列の行列式は対角成分の積なので、そのまま因数分解された形で出てきます。

固有値は 、つまり対角成分そのものです。 次でも同じで、三角行列の固有値は対角成分に並んでいます。

固有ベクトルのほうは対角成分だけでは決まらず、上の の部分が効いてきます。ここは計算が要ります。

計算例:射影行列

次の行列は、平面上の点を直線 へ正射影します。

直線の上の点は動きません。 なので、固有値 の固有ベクトルが です。

直線に垂直な向きは潰れます。 なので、固有値 の固有ベクトルが です。

固有値が だけになるのは射影行列の特徴です。 から が出るので、 にかぎられます。

計算例:回転行列には実の固有値がない

の回転を表す行列を考えます。

固有多項式を計算します。トレースは 、行列式は です。

判別式は です。 でも でもなければ負になります。

実の固有値はありません。当たり前で、平面をぐるっと回せば、どんな向きも別の向きへ移ってしまうからです。

複素数まで広げれば という固有値が出てきます。絶対値が なのは、回転が長さを変えないことに対応します。

計算例:3 次の行列

次の 次の行列を調べます。行列式を展開してもよいのですが、構造を使うほうが速いです。

全成分が の行列を とすると です。 は「 の成分の和」を全成分に並べたベクトルになります。

なら成分の和が なので です。したがって で、固有値 が出ます。

成分の和が のベクトル、たとえば では です。したがって となり、固有値 です。

固有値は (重解)で、和は 、積は です。

固有空間

固有値 に対する固有ベクトル全体に を加えた集合は、部分空間になります。これを固有空間といいます。

HTML
CSS
JavaScript
<svg viewBox="0 0 700 300" xmlns="http://www.w3.org/2000/svg" style="max-width:100%;height:auto;display:block;margin:0 auto"><defs><marker id="eig-b" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="#1b81e0"/></marker><marker id="eig-o" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="#e0761b"/></marker></defs><line x1="242" y1="135" x2="458" y2="135" stroke="#dcdcdc" stroke-width="1"/><line x1="350" y1="238" x2="350" y2="32" stroke="#dcdcdc" stroke-width="1"/><line x1="245" y1="234" x2="455" y2="36" stroke="#1b81e0" stroke-width="1.6" stroke-dasharray="6 4"/><line x1="298" y1="36" x2="402" y2="234" stroke="#e0761b" stroke-width="1.6" stroke-dasharray="6 4"/><line x1="350" y1="135" x2="369" y2="117" stroke="#1b81e0" stroke-width="3"/><line x1="369" y1="117" x2="443" y2="47" stroke="#1b81e0" stroke-width="2" marker-end="url(#eig-b)"/><line x1="350" y1="135" x2="370" y2="173" stroke="#e0761b" stroke-width="3"/><line x1="370" y1="173" x2="391" y2="212" stroke="#e0761b" stroke-width="2" marker-end="url(#eig-o)"/><text x="448" y="34" font-size="13" fill="#1b81e0" text-anchor="middle">λ = 5</text><text x="428" y="231" font-size="13" fill="#e0761b" text-anchor="middle">λ = 2</text><text x="482" y="98" font-size="13" fill="#1f1f1f">固有空間は原点を通る直線</text><text x="482" y="126" font-size="12" fill="#8a8a8a">青の直線の上の点は 5 倍に、</text><text x="482" y="148" font-size="12" fill="#8a8a8a">橙の直線の上の点は 2 倍に</text><text x="482" y="170" font-size="12" fill="#8a8a8a">伸びます。直線から出ません。</text><text x="350" y="278" font-size="12" fill="#8a8a8a" text-anchor="middle">2 本の固有直線が骨組みになり、そのほかのベクトルは 2 方向に分解して考えられます</text></svg>

さきほどの では、 の固有空間が直線 の固有空間が直線 です。

の例では、 の固有空間が平面 で、次元が になっていました。

代数的重複度と幾何的重複度

固有多項式で が何重の解になっているかを代数的重複度といいます。固有空間の次元を幾何的重複度といいます。

いつでも「幾何的重複度 代数的重複度」が成り立ちます。等号になるとはかぎりません。

この 2 つがすべての固有値で一致することが、対角化できるための条件です。 次の 2 つの例が、一致する場合としない場合を示します。

計算例:重解でも対角化できる場合

単位行列の 倍、つまり を考えます。固有多項式は なので、 の代数的重複度は です。

は零行列なので、 はすべての でみたされます。固有空間は平面全体です。

幾何的重複度も で一致しました。実際この行列はもともと対角行列です。

計算例:重解で対角化できない場合

次の行列を考えます。三角行列なので固有値は対角成分の で、代数的重複度は です。

固有空間を求めます。

を意味します。固有空間は直線 だけで、次元は です。

幾何的重複度 が代数的重複度 より小さくなりました。固有ベクトルが 本そろわないので、この行列は対角化できません。

実際 で、 は固有ベクトルではありません。 軸方向だけが保たれ、それ以外は少しずつ横へずらされる、という作用をしています。

証明:相異なる固有値の固有ベクトルは 1 次独立

とし、それぞれの固有ベクトルを とします。

とおきましょう。両辺に を掛けます。

もとの式を 倍したものを引きます。

かつ なので です。これをもとの式に戻すと となり、 から です。

3 個以上でも同じ筋で、帰納法により示せます。したがって 次行列が相異なる 個の固有値を持てば、固有ベクトルが 本そろい、対角化できます。

の固有値

の両辺に を掛けると です。繰り返せば次を得ます。

固有ベクトルは同じまま、固有値だけが 乗になります。

が正則なら です。 の両辺に を掛けて で割ると、逆行列の固有値がわかります。

多項式 についても が成り立ちます。行列の式を、固有ベクトルの上ではただの数の式に落とせる、というのが固有値の効きどころです。

証明:対称行列の固有値は実数

を実対称行列とし、)とします。ここでは が複素数の可能性を許します。

を掛けます。左辺は 、右辺は です。

一方、 が実対称なので の共役転置を取ると、それ自身に戻ります。

の量が自分の共役に等しいので、これは実数です。 も実数なので、商である も実数になります。

証明:対称行列の固有ベクトルは直交する

を実対称行列、 をその固有値、 を対応する固有ベクトルとします。

内積 を 2 通りに評価します。 が対称なので が成り立ちます。

左辺は 、右辺は です。移項します。

なので 、つまり直交します。

さきほどの対称行列 の固有ベクトル が直交していたのは、この定理の帰結です。

対角化

固有ベクトルを列に並べた行列を 、固有値を対角に並べた行列を とします。

の第 列は なので、 が成り立ちます。

が正則、つまり固有ベクトルが 1 次独立にそろえば、両辺に を掛けられます。

これを対角化といいます。 の列の順序と の対角成分の順序は、そろえておく必要があります。

対角化は座標の取り替え

HTML
CSS
JavaScript
<svg viewBox="0 0 700 280" xmlns="http://www.w3.org/2000/svg" style="max-width:100%;height:auto;display:block;margin:0 auto"><defs><marker id="dg" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="#9a9a9a"/></marker></defs><rect x="90" y="56" width="190" height="62" rx="4" fill="#ffffff" stroke="#c9c9c9" stroke-width="1.5"/><text x="185" y="82" font-size="14" fill="#1f1f1f" text-anchor="middle">もとの座標</text><text x="185" y="102" font-size="11" fill="#8a8a8a" text-anchor="middle">x を並べた成分</text><rect x="420" y="56" width="190" height="62" rx="4" fill="#ffffff" stroke="#c9c9c9" stroke-width="1.5"/><text x="515" y="82" font-size="14" fill="#1f1f1f" text-anchor="middle">もとの座標</text><text x="515" y="102" font-size="11" fill="#8a8a8a" text-anchor="middle">Ax を並べた成分</text><rect x="90" y="182" width="190" height="62" rx="4" fill="#ffffff" stroke="#1b81e0" stroke-width="1.5"/><text x="185" y="208" font-size="14" fill="#1f1f1f" text-anchor="middle">固有ベクトルの座標</text><text x="185" y="228" font-size="11" fill="#8a8a8a" text-anchor="middle">P⁻¹x</text><rect x="420" y="182" width="190" height="62" rx="4" fill="#ffffff" stroke="#1b81e0" stroke-width="1.5"/><text x="515" y="208" font-size="14" fill="#1f1f1f" text-anchor="middle">固有ベクトルの座標</text><text x="515" y="228" font-size="11" fill="#8a8a8a" text-anchor="middle">DP⁻¹x</text><line x1="288" y1="87" x2="412" y2="87" stroke="#9a9a9a" stroke-width="1.5" marker-end="url(#dg)"/><text x="350" y="78" font-size="13" fill="#1f1f1f" text-anchor="middle">A を掛ける</text><line x1="288" y1="213" x2="412" y2="213" stroke="#1b81e0" stroke-width="1.5" marker-end="url(#dg)"/><text x="350" y="204" font-size="13" fill="#1b81e0" text-anchor="middle">D を掛ける(成分ごとに λ 倍)</text><line x1="185" y1="176" x2="185" y2="124" stroke="#9a9a9a" stroke-width="1.5" marker-end="url(#dg)"/><text x="176" y="154" font-size="12" fill="#8a8a8a" text-anchor="end">P</text><line x1="515" y1="124" x2="515" y2="176" stroke="#9a9a9a" stroke-width="1.5" marker-end="url(#dg)"/><text x="524" y="154" font-size="12" fill="#8a8a8a">P⁻¹</text><text x="350" y="266" font-size="12" fill="#8a8a8a" text-anchor="middle">固有ベクトルを座標軸に取り直すと、行列を掛ける操作が「成分ごとの定数倍」になります</text></svg>

固有ベクトルを新しい座標軸に取ると、 を掛ける操作は「各成分を 倍する」だけになります。

が新しい座標へ移す操作、 がそこでの伸縮、 がもとの座標へ戻す操作です。 という式は、この 3 段階をそのまま書いたものになります。

対角化できる行列は、適切な座標から見れば「軸方向の伸縮」でしかない、ということです。

計算例:対角化してみる

はじめの を対角化します。固有値は 、固有ベクトルは でした。

なので は正則です。逆行列を求めます。

を確かめます。 の第 1 列は 、第 2 列は です。

計算例: を求める

対角化のいちばん直接的な使い道です。 から、間の が次々に消えます。

は対角成分を 乗するだけです。前の節の を入れて計算します。

を入れるともとに戻ります。

でも確かめます。 を 2 回掛けた結果と一致しました。

計算例:フィボナッチ数列

漸化式 を行列で書きます。

この行列を とおくと、 回掛けたものが数列の一般項を与えます。固有値を求めましょう。トレースが 、行列式が です。

大きいほうが黄金比 、小さいほうが です。対角化して整理すると、有名な式が出ます。

ビネの式といいます。 を入れると になり、実際 を計算した行列の成分と一致します。

整数だけの数列の一般項に、無理数が 2 つ現れる。それでも打ち消し合って整数に戻るのが、この式の見どころです。

長い目で見た振る舞いを決めるのは最大の固有値

なので、 が大きいところでは の項が無視できます。

隣り合う項の比が黄金比に近づくのは、これが理由です。

一般に、絶対値が最大の固有値が長期的な振る舞いを支配します。すべての固有値の絶対値が より小さければ より大きいものがあれば発散します。

マルコフ連鎖の定常分布、人口動態のモデル、力学系の安定性の判定は、どれもこの原理の上に立っています。

固有値と固有ベクトルの意味

ここまでの計算をまとめ直します。

そもそも行列はベクトルを別のベクトルに変換する「作用」でした。その中に、向きを変えられないベクトルがあるということですね。

そのとおりです。行列 を固有ベクトルに作用させると、スカラー 倍になるだけで向きは変わりません。

固有値は、その固有ベクトルが行列でどれだけ伸びるかを表す数です。固有値が なら長さは 倍、 なら長さはそのままで向きが反転します。

対角化できる行列は、固有ベクトルの方向を軸に取れば、ただの伸縮に見えます。複雑に見える行列の作用を、いくつかの方向の伸び縮みに分解する。 これが固有値と固有ベクトルの役目です。

応用:振動のモードと主成分分析

物体の振動を線型近似すると、行列の固有値問題になります。固有ベクトルが振動の型(モード)、固有値が振動数の 2 乗に対応します。

建物の耐震設計で「1 次モード」「2 次モード」と呼ばれるものが、まさに固有ベクトルです。

データ解析では、共分散行列の固有ベクトルがばらつきの大きい方向を与えます。これが主成分分析です。

共分散行列は対称なので、固有値は実数で固有ベクトルは直交します。前に証明した性質が、そのまま「主成分どうしが直交する」という結論になっています。

よくある誤り

を固有ベクトルに含める。定義から除きます。 のほうは許されます
固有ベクトルが 1 つに決まると思う。定数倍の分だけ自由度があります
と書いてしまう。行列式は線型ではありません
実行列なら固有値も実数だと思う。回転行列には実の固有値がありません
重解なら対角化できないと思う。 のように対角化できる場合もあります
固有ベクトルが 本そろわないのに を作ろうとする。 が正則になりません
の列と の対角成分の順序をずらす。同じ固有値どうしを対応させます
対称行列でないのに固有ベクトルの直交を仮定する。直交が保証されるのは対称行列です

参考文献

MIT OpenCourseWare, 18.06 Linear Algebra
Georgia Tech, Interactive Linear Algebra: Eigenvectors
Paul's Online Notes, Eigenvalues and Eigenvectors
LibreTexts, Eigenvalues and Eigenvectors
Wolfram MathWorld: Eigenvalue
行列を掛けても向きが変わらないベクトルが固有ベクトル、そのときの倍率が固有値である。定義と直観から始め、行列式の方程式を解く手順、対称行列や三角行列や回転行列などの計算例、固有値の和と積、対角化とその応用までを証明つきで解説する。