行列の対角化の計算方法

こんにちはコーヤです。

このページでは線形代数の定番問題である行列の対角化を4ステップに分けて勉強します。

対角化の計算の流れ

まずは対角化の計算の流れから見ていきます。具体的な計算はページ後半でやります。

2次の行列Aとその固有値λ1,λ2と固有ベクトルv1,v2を例にします。

固有値、固有ベクトルは以下の式を満たすものでした。

Av1=λ1v1Av2=λ2v2

これを行列の形で表現すると

A(v1v2)=(v1v2)(λ100λ2)

ここで

P=(v1v2)

とすると

AP=P(λ100λ2)

となります。Pの逆行列を左側からかけて

P1AP=(λ100λ2)

これで対角化完了です。右辺の成分が対角の部分以外0になっています。

式をスッキリさせるために

D=(λ100λ2)

とおいて

P1AP=D

と表現されることが多いです。

Pを変換行列、Dを対角行列といいます。

対角化の計算4ステップ

それでは対角化計算の具体例を見ていきます。4ステップです。

  1. 固有値と固有ベクトルを求める
  2. 対角化可能か判定する
  3. 変換行列Pを作る
  4. 逆行列P1を計算する

以下の行列Aを対角化します。

A=(1214)

Step1. 固有値と固有ベクトルを求める

行列Aの固有方程式は

det(AλE)=|1λ214λ|=(λ2)(λ3)

これより固有値、固有ベクトルは

λ1=2λ2=3

v1=k1(21)v2=k2(11)

です。

Step2. 対角化可能か判定する

n次の行列を対角化したいときはn個の線形独立な固有ベクトルが必要です。

もしn個の線形独立な固有ベクトルがない場合は対角化できません。対角化の代わりにジョルダン標準形という形にします。

今回対角化したい行列Aは2次です。固有ベクトルがv1,v2の2個あり、これらは線形独立なので今回は対角化可能です。

対角行列D

D=(λ100λ2)=(2003)

となります。

Step3. 変換行列Pを作る

変換行列Pは線形独立な固有ベクトルを並べたものです。

線形独立な固有ベクトルは求まっているのですぐにPを作ってもいいですが、このままだとPは任意定数k1,k2が含まれた行列になってしまいこの後の計算が面倒になります。

詳細は省きますが、固有ベクトルが0にならなければ任意定数はどんな値で対角化しても同じ結果になるので、計算が楽になるようにテキトーにk1,k2の値を決めるのがおすすめです。

任意定数の値の決め方の方針は主に2種類あります。

  • 変換行列が計算しやすいようテキトーに決める
  • 固有ベクトルを正規化する任意定数の値を求める

対角化が目的ならテキトーに決めても正規化してもOKです。(計算を楽にするためにテキトーに決めるのがほとんどです。)

主軸変換のための対角化が目的の場合は正規化する必要があります。詳しくは対称行列の対角化のページで勉強します。

今回はk1=k2=1として、固有ベクトルを

v1=(21)v2=(11)

とします。冒頭で紹介したとおり変換行列P

P=(v1v2)

ですので

P=(2111)

となります。固有ベクトルの並べ方は画像で見ると分かりやすいと思います。

固有ベクトルと変換行列

Step4. 逆行列P1を計算する

Pの逆行列を計算すると

P1=(1112)

となります。

最終的に対角化の式P1AP=Dに代入して

(1112)(1214)(2111)=(2003)

となり対角化完了です。

まとめ

行列の対角化は4ステップです。

  1. 固有値と固有ベクトルを求める
  2. 対角化可能か判定する
  3. 変換行列Pを作る
  4. 逆行列P1を計算する

対角化の式は以下の式です。

P1AP=D

コメント欄