2017年4月6日

固有値の検算

概要
  この投稿では固有値を検算する手法と,その証明を示す.固有値計算を実装した場合や,固有値計算で桁落ちが疑われる場合など,計算した固有値が正しい値か確認したいことがある.そこで,下記に示す行列の性質を利用すると,簡易的に固有値が正しい値か検算できる.この性質は一般によく知られている.
固有値の検算手法と証明

    対角化可能な nn 次正方行列の行列式は,固有値の積に等しい.
det(A)=λ1λ2λn=ni=0λidet(A)=λ1λ2λn=ni=0λi
[証明]
[1] 特性方程式 (固有方程式) の導出 (Ax=λx,x0det(AλI)=0) の導出
  固有値・固有ベクトルは,n 次正方行列 A に対して, Ax=λx,  x0 となるような定数 λ とベクトル x が存在するとき, λA の固有値,x を固有値 λ に属する A の固有ベクトル,と定義する. 式 (1) を変形して, (AλI)x=0 とする.ここで,逆行列 (AλI)1 が存在すると仮定し,式 (2) の両辺に左から掛けると, (AλI)1(AλI)x=(AλI)10                                  Ix=0                                    x=0 となる.これは,条件 x0 に反するため,逆行列 (AλI)1 は存在しない (行列 (AλI) は正則でない). したがって, det(AλI)=0 となる.(※正則行列の条件は,det(AλI)0 [5])

[2] det(A)=λ1λ2λn=ni=0λi の導出
行列式の定義より,det(AλI) は,λ に関する n 次多項式となる. 解を λ=λ1,λ2,,λn とすると, det(AλI)=(λ1λ)(λ2λ)(λnλ)=0 となる.式 (4) は任意の λ について成り立つので,λ=0 を代入して, det(A0I)=(λ10)(λ20)(λn0)         det(A)=λ1λ2λn=ni=0λi
[付録] 行列式の定義
行列 An 次正方行列とし,その成分を,aij と表すとき,行列式の定義は, det(A)=σSnsgn(σ)ni=0aiσ(i)
Sn
: n 個の順列すべてで構成された集合
σ(i)
: 1 から ni 番目の順列 (置換)
sgn(σ)={1:1: となる [6][7].


    対角化可能な n 次正方行列の m 乗の対角和は,固有値の m 乗和に等しい.
Tr(Am)=λ1m+λ2m++λnm=ni=0(λim)
[証明]
[1] 行列 A の対角化
固有値の定義, Ax=λx,  x0 より,固有値を λ=λ1,λ2,,λn とし,これに対応する固有ベクトルを x=x1,x2,,xn とすると, Ax1=λ1x1,  Ax2=λ2x2,  ,  Axn=λnxn A(x1,x2,,xn)=(λ1x1,λ2x2,,λnxn) A(x1,x2,,xn)=(x1,x2,,xn)(λ1Oλ2Oλn)                        AX=XΛ                X1AX=    Λ のように対角化できる.

[2] Tr(Am)=λ1m+λ2m++λnm=ni=0(λim) の導出
[1] の式 (5) の両辺を m 乗すると, Λm=(X1AX)m Λm=(X1AX)(X1AX)(X1AX)=X1AmX となる.式 (6) の両辺をトレースすると,トレースの巡回性 (Tr(AB)=Tr(BA)) により, Tr(Λm)=Tr(X1AmX)ni=0(λim)=Tr(X1AmX)=Tr((X1)(AmX))=Tr((AmX)(X1))=Tr(AmXX1)=Tr(Am) となる.

[付録: 1] トレースの定義
行列 An 次正方行列で,その成分が aij で表されるとき,トレースの定義は, Tr(A)=ni=1aii となる.

[付録: 2] トレースの巡回性 (Tr(AB)=Tr(BA)) の証明
行列 AB の対角成分の和 Tr(AB) は,ni=1nj=1aijbji と表さられるから, Tr(AB)=ni=1nj=1aijbji=ni=1nj=1bjiaij=nj=1ni=1bjiaij=Tr(BA) となる.
参考文献

0 件のコメント:

コメントを投稿