固有ベクトルによる対角化#

AMn(R)Rにおいて対角化可能であるとき、Aを対角化する行列P、すなわち、P1APが対角行列となるような正則行列Pは、固有ベクトルによって求められる。

Aの(Rにおける)n個の1次独立な固有ベクトルをx1,xnとし、それらを列ベクトルとする行列をP=(x1,xn)とすれば、

P1AP=(λ1λ2λn)

となる。ここで、Ax1=λ1x1, Ax2=λ2x2, , Axn=λnxn である。

Tip

AP=A(x1xn)=(Ax1Axn)=(λ1x1λnxn)=P(λ1λn)

となるため、

P1AP=P1P(λ1λn)=(λ1λn)

#

import sympy as sp
A = sp.Matrix([
    [1, 3],
    [2, 2]
])
values = []
vectors = []
for e in A.eigenvects():
    values.append(e[0])
    vectors.append(e[2][0])
print(f"λ =", values)

# 固有ベクトルを列ベクトルとして作った行列
P = sp.Matrix(vectors).reshape(*A.shape)
print("P =")
P
λ = [-1, 4]
P =
[32111]
# (λ1 x1, λ2 x2)
sp.Matrix([values[0] * vectors[0], values[1] * vectors[1]]).reshape(*A.shape).T
[32414]
# P @ (λを対角要素にもつ行列)
P @ sp.diag(*values)
[32414]
P.inv() @ A @ P
[1004]

なぜ固有ベクトルで対角化できるのかについては、いくつかの定理が関わる。

対角化に関する定理#

定理

An 次正方行列、 λ1,,λnA の固有値, x1,,xn をそれぞれに属する固有べクトルとする。(ここで λi は異なるとは仮定しない。)

Q=(x1,,xn)

とすると、

AQ=Q(λ1OOλn)

が成り立つ。

逆に、n 次正方行列 Qνi(i=1,,n) が存在して

AQ=Q(ν1OOνn)

をみたし、 Q の各列ベクトルがゼロベクトルでないとすると、 νiA の固有値で、 Q の第 i 列は固有値 νi に属する固有ベクトルである。

対角化可能の判定#

定理(相異なる固有値に属する固有ベクトルは1次独立)

V をベクトル空間、 FV の線型変換とする。(ここでは V は 有限次元とは仮定しない。) λ1,λ2,,λsF の相異なる固有値とすれば、それらに属する固有ベクトル x1,x2,,xs は 1 次独立である。

定理(相異なる固有値に属する固有ベクトル ⇒ 対角化可能)

Vn 次元ベクトル空間で、その線型変換 Fn 個の 相異なる固有値 λ1,λ2,,λn をもつとする。

そのとき、それらに属する固有ベクトル v1,v2,,vnV の基底をなし、したがって F は対角化可能である。

定理(相異なる固有値に属する固有ベクトル ⇒ 対角化可能)

n次正方行列Aが相異なるn個の固有値λ1,λ2,,λn をもつならば、Aはこれらを対角成分にもつ対角行列に対角化可能である。

すなわち、ある正則行列Pがあって、

P1AP=(λ1OOλn)

となる。

固有値の重複度(重解)と固有空間の次元数#

定理

AMn(R)λAの1つの固有値とするとき、

λに属する固有空間の次元 λの重複度

が成り立つ

A=(1101)

は、三角行列なので

det(AλI)=det(1λ101λ)=(1λ)2

と、λ=1だけが固有値で、その重複度は2である。固有空間V(1)

V(1)={c(10)|cR}

この空間の次元は1である。

定理

AMn(R)の相異なる固有値をλ1,,λsとし、λiに属する固有空間をV(λi)とすると、

i=1sdimV(λi)n

が成り立つ

対角化の条件#

対角化可能であることと同値の条件がいくつかある(参考:川久保 2010)

定理

n次正方行列Aについて、次の4条件は同値である

(1) Aは対角化可能である

(2) A の固有方程式は重複もこめて n 個の解をもち、かつ各固有値の重複度はその固有値に属する固有空間の次元に一致する。

すなわち、A の異なる固有値を λ1,,λs とし、λi の重複度を kiλi に属する固有空間を V(λi) とするとき、

i=1ski=n かつ ki=dimV(λi)(i=1,,s)

が成り立つ。

(3) A の各固有値に属する固有空間の次元の和は n になる。 すなわち A の異なる固有値を λ1,,λs とし、 λi に属する固有空間を V(λi) とするとき、

i=1sdimV(λi)=n

が成り立つ。

(4) n 個の 1 次独立な A の固有ベクトルが存在する。

(1) (2) の 証明

仮定よりAは対角化可能のため、

P1AP=(α1OOαn)

とできる。αiP1APの固有値であり、Aの固有値でもある。

したがって、仮にλ1の重複度k1が2であれば、

P1AP=(λ1Oλ1Oλn)

のようになっており、重複度の総和はnに等しい、すなわちi=1ski=nである。

また上の行列の等式の両辺に左からPを掛けると

AP=P(λ1Oλ1Oλn)

仮定よりPは正則であるから、Pの列ベクトルは1次独立である。したがってそれらは固有値λiに属する固有ベクトルである。

よって、

kidimV(λi)(i=1,,s)

が成り立つ。一方、定理より一般に

kidimV(λi)(i=1,,s)

が成り立つから、結局等号

ki=dimV(λi)(i=1,,s)

が成り立つ。

(2) (3) の 証明

条件2の2番目の等式を1番目の等式に代入すれば

i=1sdimV(λi)=n

が得られる

(3) (4) の 証明

ri=dimV(λi) とおき、 固有空間V(λi) の 1つの基底 w1(i),,wri(i) をとる。

仮定より、

i=1sri=n

である。このとき、n 個のベクトル

w1(1),wr1(1),,w1(s),,wrs(s)

が1次独立であることを示す。

いま 1 次関係式 i=1sj=1ricijwj(i)=0 があるとする。 ここで

v(i)=j=1ricijwj(i)

とおくと、

v(i)V(λi)v(1)++v(s)=0

である。

ベクトル v(1),,v(s) のうち、ゼロベクトルでないのがあるとすると、それらを集めたものは定理(相異なる固有値の固有ベクトルは1次独立)より1次独立である。これは

v(1)++v(s)=0

に矛盾する. よって

v(i)=j=1ricijwj(i)=0

が,任意の i=1,,s に対して成り立つ. ところが w1(i),,wri(i) は 1 次独立であるから, cij=0(i=1,,s,j=1,,ri) が成り立つ. すなわち,

wj(i),i=1,,s,j=1,,ri

は1次独立である。

よってn個の1次独立なAの固有ベクトルの存在が示された。

(4) (1) の 証明

Axi=λx (i=1,,n) かつ、x1,,xnが1次独立とする。

x1,,xnを列ベクトルにもつn次正方行列をP=(x1,,xn)とすると、定理より

AP=P(λ1OOλn)

となる。Pは(x1,,xnが1次独立のため、行列式についての定理より)正則のため

P1AP=(λ1OOλn)

となり、 A は対角化可能である。

三角化#

n次正方行列Aが与えられたとき、P1APが三角行列になるような正方行列Pを求めることを、行列A三角化 という。またそのようなPが存在するとき、A三角化可能 という。

また、n次正方行列PPPT=Eを満たすとき、P直交行列という。

定理

n 次正方行列 A が, 重複もふくめて n 個の固有値 λ1,,λn をもつとき(すなわち, φA(t)=(λ1t)(λnt) となるとき), A は適当な正則行列 P によって次の形に三角化される。

P1AP=(λ1λ2Oλn)

P として直交行列をとることもできる。

証明の概略

Aの次数nに関する帰納法で証明する。

n=1のとき、定理は明らかに成り立つ。

n2のとき、n1次以下の正方行列について定理が成り立つと仮定する。 λ1Aの固有値の1つとし、x1λ1に属する固有ベクトルとする。n1個のベクトルx2,,xnを選んで、x1,x2,,xnRnの基底になるようにする。このとき、x1,,xnを列ベクトルにもつ行列P1=(x1,,xn)は正則行列で、

AP1=A(x1xn)=(Ax1Axn)=(λ1x1λnxn)=P1(λ1λn)=P1(λ10A10)

の形に書くことができる。ここでA1n1次正方行列である。したがって

P11AP1=(λ10A10)

となる。AP11AP1の固有値の全体は一致するから、A1の固有値の全体はλ2,,λnとなる。

A1は適当なn1次正則行列P2によって三角化される

P21A1P2=(λ2Oλn)

なお、

P=P1(1000P20)

とおくと、

P1AP=(1000P20)1P11AP1(1000P20)=(1000P20)1(λ10A10)(1000P20)=(λ10P21A1P20)=(λ1λ2Oλn)

となる。固有ベクトルx1,,xnを標準的な内積に関して正規直交基底となるように選ぶことでP1は直交行列にとれる。P2も帰納法の仮定により直交行列にとれるから、結局Pとして直交行列がとれる。