練習問題メモ 21(対角化)

Contents

練習問題メモ 21(対角化)#

問1#

2 次の正方行列 A=(1322) を考える。

  1. A は対角化可能であることを示せ。

  2. P1AP が対角行列となるような正則行列 P を 1 つ求めよ。

  1. A は対角化可能であることを示せ。

行列AMn(R)が対角化可能であるとは、Aの固有ベクトルがRnの基底であることと等しい。

(1) Aの固有ベクトルを求める

Aの固有値λは、

det(1λ322λ)=(1λ)(2λ)6=0λ23λ+26=0λ23λ4=0(λ+1)(λ4)=0λ=1,4

相異なる固有値とそれに属する固有ベクトルが存在するため、これらはRnの基底となる。(固有ベクトルが基底となっていれば対角化可能であるという)定理により、Aは対角化可能である。

  1. P1AP が対角行列となるような正則行列 P を 1 つ求めよ。

λ=1のとき、

2x1+3x2=0

より、x1=32x2。よって固有空間は

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

λ=4のとき、

3x1=3x2=0

よってx1=x2。固有空間は

V(4)={c(11)|cR}

各固有値に属する固有ベクトルを列ベクトルとして行列を作り

P=(32111)

とする。

P1AP=(1004)

であるため、PP1APが対角行列となる正則行列である。

Hide code cell source
import sympy as sp
A = sp.Matrix([
    [1, 3],
    [2, 2]
])
P = sp.Matrix([
    [-3/2, 1],
    [1, 1]
])

P.inv() @ A @ P
Hide code cell output
[1.01.66533453693773101604.0]
Hide code cell source
import sympy as sp
A = sp.Matrix([
    [1, 3],
    [2, 2]
])
print("λ=", A.eigenvals().keys())
print("x=", A.eigenvects())
Hide code cell output
λ= dict_keys([4, -1])
x= [(-1, 1, [Matrix([
[-3/2],
[   1]])]), (4, 1, [Matrix([
[1],
[1]])])]

問2#

次の文章は、「対角化可能なべき零行列は零行列である」ことの証明である。証明文中の を埋めよ。

証明

A を対角化可能なべき零行列とする。 A[1]λ1,λ2,,λn とすると、 A は対角化可能なので、 [2] 行列 P が存在し、

P1AP=(λ10λ20λn)()

と表される。さらに、 A はべき零行列なので、ある自然数 m に対して、 Am=O となる。よって、 () の両辺を m 乗することにより、

λ1m=λ2m==λnm=[3]

が得られるので、

λ1=λ2==λn=[4]

となる。したがって、 A[5] 行列である。

[1]=固有値

[2]=正則

[3]=0

[4]=0

[5]=零行列

問3#

3 次の正方行列 A=(111021001) は上三角行列なので、 A の固有値 λλ=1 (重解),2の2個であることがわかる。

  1. A は対角化可能であることを示せ。

  2. P1AP が対角行列となるような正則行列 P を 1 つ求めよ。

  1. A は対角化可能であることを示せ。

λ=1のとき

(AλE)x=0(011011000)(x1x2x3)=(000)x2+x3=0x2=x3

より、固有空間V(1)

V(1)={c1(100)+c2(011)|c1,c2R}

λ=2のとき

(AλE)x=0(111001001)(x1x2x3)=(000){x1+x2+x3=0x3=0x3=0

より、

x1=x2+x30=x2

よって固有空間V(2)

V(2)={c(110)|cR}

したがって、対角化可能であることの必要十分条件のひとつである

「固有空間の次元数の総和と行列Aの次元数が一致する」

あるいは

An個の1次独立な固有ベクトルが存在する」

を満たすため、Aは対角化可能である。

定理(参考:川久保 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. P1AP が対角行列となるような正則行列 P を 1 つ求めよ。

P=(101011010)
Hide code cell source
import sympy as sp
A = sp.Matrix([
    [1, 1, 1],
    [0, 2, 1],
    [0, 0, 1]
])

P = sp.Matrix([
    [1, 0, 1],
    [0, -1, 1],
    [0, 1, 0]
])

P.inv() @ A @ P
Hide code cell output
[100010002]
Hide code cell source
e = A.eigenvects()
print(e)
P = sp.Matrix(e[0][2] + e[1][2]).reshape(3,3).T
P.inv() @ A @ P
Hide code cell output
[(1, 2, [Matrix([
[1],
[0],
[0]]), Matrix([
[ 0],
[-1],
[ 1]])]), (2, 1, [Matrix([
[1],
[1],
[0]])])]
[100010002]

問4#

2 次の正方行列 (ab0a) が対角化可能であるための必要十分条件は b=0 であることを示せ。

A=(ab0a)

とおく。

b=0 Aは対角化可能 を示す。 もしb=0であれば

A=(a00a)

であり、Aはすでに対角行列であるため、2次の単位行列をPとおけばP1APは対角行列になり、Aは対角化可能である。

b0 Aは対角化不可能 を示す。

Aの固有値を求めると、

det(AλE)=det(aλb0aλ)=0(aλ)2=0

より、λ=aである。

Aが対角化可能であることと同値の条件のひとつは「Aの各固有値に対応する固有空間の次元の総和がAの次数2と等しい」である。 Aの固有値λは1つ(λ=a)のみであるため、Aが対角化可能であれば、対応する固有空間V(a)の次元は2である。

λ=aのとき、

(AλE)=(0b00)(x1x2)=(00)

より、

bx2=0

となる。 もしb0であればx2=0となり、固有空間V(λ)の次元は

dimV(a)=dim{c(10)|cR}=1

となり、Aの次元数とは異なるため対角化可能にならない。

間違いではないが冗長なのでボツ

Aが対角化可能 b=0を示す。

Aが対角化可能であることと同値の条件のひとつは「Aの各固有値に対応する固有空間の次元の総和がAの次数2と等しい」である。

Aの固有値λは1つ(λ=a)のみであるため、Aが対角化可能であれば、対応する固有空間V(a)の次元は2である。

λ=aのとき、

(AλE)=(0b00)(x1x2)=(00)

より、

bx2=0

となる。

もしb0であればx2=0となり、固有空間V(λ)の次元は

dimV(a)=dim{c(10)|cR}=1

もしb=0であればx2が0かどうかは未知であり、固有空間V(λ)の次元は

dimV(a)=dim{c1(10)+c2(01)|c1,c2R}=2

となる。よって

Aが対角化可能 b=0

である。

以上により、

b=0 Aは対角化可能

かつ

Aが対角化可能 b=0

であるため、b=0Aが対角化可能であるための必要十分条件(同値の条件)である

Hide code cell source
import sympy as sp
A = sp.Matrix([
    [1, 0],
    [0, 1],
])

P = A

P.inv() @ A @ P
Hide code cell output
[1001]