練習問題メモ 21(対角化)#
問1#
2 次の正方行列 \(A=\left(\begin{array}{ll}1 & 3 \\ 2 & 2\end{array}\right)\) を考える。
\(A\) は対角化可能であることを示せ。
\(P^{-1} A P\) が対角行列となるような正則行列 \(P\) を 1 つ求めよ。
\(A\) は対角化可能であることを示せ。
行列\(A\in M_n(\mathbb{R})\)が対角化可能であるとは、\(A\)の固有ベクトルが\(\mathbb{R}^n\)の基底であることと等しい。
(1) \(A\)の固有ベクトルを求める
\(A\)の固有値\(\lambda\)は、
相異なる固有値とそれに属する固有ベクトルが存在するため、これらは\(\mathbb{R}^n\)の基底となる。(固有ベクトルが基底となっていれば対角化可能であるという)定理により、\(A\)は対角化可能である。
\(P^{-1} A P\) が対角行列となるような正則行列 \(P\) を 1 つ求めよ。
\(\lambda = -1\)のとき、
より、\(x_1 = -\frac{3}{2} x_2\)。よって固有空間は
\(\lambda = 4\)のとき、
よって\(x_1 = x_2\)。固有空間は
各固有値に属する固有ベクトルを列ベクトルとして行列を作り
とする。
であるため、\(P\)は\(P^{-1}AP\)が対角行列となる正則行列である。
Show 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
Show code cell output
Show code cell source
import sympy as sp
A = sp.Matrix([
[1, 3],
[2, 2]
])
print("λ=", A.eigenvals().keys())
print("x=", A.eigenvects())
Show code cell output
λ= dict_keys([4, -1])
x= [(-1, 1, [Matrix([
[-3/2],
[ 1]])]), (4, 1, [Matrix([
[1],
[1]])])]
問2#
次の文章は、「対角化可能なべき零行列は零行列である」ことの証明である。証明文中の \(\square\) を埋めよ。
証明
\(A\) を対角化可能なべき零行列とする。 \(A\) の \([1]\) を \(\lambda_1, \lambda_2, \cdots, \lambda_n\) とすると、 \(A\) は対角化可能なので、 \([2]\) 行列 \(P\) が存在し、
と表される。さらに、 \(A\) はべき零行列なので、ある自然数 \(m\) に対して、 \(A^m=O\) となる。よって、 \((*)\) の両辺を \(m\) 乗することにより、
が得られるので、
となる。したがって、 \(A\) は \([5]\) 行列である。
\([1] =\)固有値
\([2] =\)正則
\([3] = 0\)
\([4] = 0\)
\([5] =\)零行列
問3#
3 次の正方行列 \(A=\left(\begin{array}{lll}1 & 1 & 1 \\ 0 & 2 & 1 \\ 0 & 0 & 1\end{array}\right)\) は上三角行列なので、 \(A\) の固有値 \(\lambda\) は \(\lambda=1\) (重解),2の2個であることがわかる。
\(A\) は対角化可能であることを示せ。
\(P^{-1} A P\) が対角行列となるような正則行列 \(P\) を 1 つ求めよ。
\(A\) は対角化可能であることを示せ。
\(\lambda=1\)のとき
より、固有空間\(V(1)\)は
\(\lambda=2\)のとき
より、
よって固有空間\(V(2)\)は
したがって、対角化可能であることの必要十分条件のひとつである
「固有空間の次元数の総和と行列\(A\)の次元数が一致する」
あるいは
「\(A\)に\(n\)個の1次独立な固有ベクトルが存在する」
を満たすため、\(A\)は対角化可能である。
定理(参考:川久保 2010)
\(n\)次正方行列\(A\)について、次の4条件は同値である
(1) \(A\)は対角化可能である
(2) \(A\) の固有方程式は重複もこめて \(n\) 個の解をもち、かつ各固有値の重複度はその固有値に属する固有空間の次元に一致する。
すなわち、\(A\) の異なる固有値を \(\lambda_1, \cdots, \lambda_s\) とし、\(\lambda_i\) の重複度を \(k_i\)、\(\lambda_i\) に属する固有空間を \(V(\lambda_i)\) とするとき、
が成り立つ。
(3) \(A\) の各固有値に属する固有空間の次元の和は \(n\) になる。 すなわち \(A\) の異なる固有値を \(\lambda_1, \cdots, \lambda_s\) とし、 \(\lambda_i\) に属する固有空間を \(V\left(\lambda_i\right)\) とするとき、
が成り立つ。
(4) \(n\) 個の 1 次独立な \(A\) の固有ベクトルが存在する。
\(P^{-1} A P\) が対角行列となるような正則行列 \(P\) を 1 つ求めよ。
Show 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
Show code cell output
Show 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
Show code cell output
[(1, 2, [Matrix([
[1],
[0],
[0]]), Matrix([
[ 0],
[-1],
[ 1]])]), (2, 1, [Matrix([
[1],
[1],
[0]])])]
問4#
2 次の正方行列 \(\left(\begin{array}{ll}a & b \\ 0 & a\end{array}\right)\) が対角化可能であるための必要十分条件は \(b=0\) であることを示せ。
とおく。
\(b=0 \implies\) \(A\)は対角化可能 を示す。 もし\(b=0\)であれば
であり、\(A\)はすでに対角行列であるため、2次の単位行列を\(P\)とおけば\(P^{-1} AP\)は対角行列になり、\(A\)は対角化可能である。
\(b \neq 0 \implies\) \(A\)は対角化不可能 を示す。
\(A\)の固有値を求めると、
より、\(\lambda = a\)である。
\(A\)が対角化可能であることと同値の条件のひとつは「\(A\)の各固有値に対応する固有空間の次元の総和が\(A\)の次数2と等しい」である。 \(A\)の固有値\(\lambda\)は1つ(\(\lambda=a\))のみであるため、\(A\)が対角化可能であれば、対応する固有空間\(V(a)\)の次元は2である。
\(\lambda = a\)のとき、
より、
となる。 もし\(b\neq 0\)であれば\(x_2 = 0\)となり、固有空間\(V(\lambda)\)の次元は
となり、\(A\)の次元数とは異なるため対角化可能にならない。
間違いではないが冗長なのでボツ
\(A\)が対角化可能 \(\implies b = 0\)を示す。
\(A\)が対角化可能であることと同値の条件のひとつは「\(A\)の各固有値に対応する固有空間の次元の総和が\(A\)の次数2と等しい」である。
\(A\)の固有値\(\lambda\)は1つ(\(\lambda=a\))のみであるため、\(A\)が対角化可能であれば、対応する固有空間\(V(a)\)の次元は2である。
\(\lambda = a\)のとき、
より、
となる。
もし\(b\neq 0\)であれば\(x_2 = 0\)となり、固有空間\(V(\lambda)\)の次元は
もし\(b = 0\)であれば\(x_2\)が0かどうかは未知であり、固有空間\(V(\lambda)\)の次元は
となる。よって
\(A\)が対角化可能 \(\implies b = 0\)
である。
以上により、
\(b=0 \implies\) \(A\)は対角化可能
かつ
\(A\)が対角化可能 \(\implies b = 0\)
であるため、\(b=0\) は \(A\)が対角化可能であるための必要十分条件(同値の条件)である
Show code cell source
import sympy as sp
A = sp.Matrix([
[1, 0],
[0, 1],
])
P = A
P.inv() @ A @ P