がにおいて対角化可能であるとき、を対角化する行列、すなわち、が対角行列となるような正則行列は、固有ベクトルによって求められる。
の(における)個の1次独立な固有ベクトルをとし、それらを列ベクトルとする行列をとすれば、
となる。ここで、 である。
例¶
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 =
Loading...
# (λ1 x1, λ2 x2)
sp.Matrix([values[0] * vectors[0], values[1] * vectors[1]]).reshape(*A.shape).TLoading...
# P @ (λを対角要素にもつ行列)
P @ sp.diag(*values)Loading...
P.inv() @ A @ PLoading...
なぜ固有ベクトルで対角化できるのかについては、いくつかの定理が関わる。
対角化に関する定理¶
dropbox - Unknown Directive
dropbox - Unknown Directive仮定より、
$$
A \boldsymbol{x}_i
= \lambda_i \boldsymbol{x}_i
\quad (\boldsymbol{x}_i \neq \boldsymbol{0})
$$
である。この両辺の列ベクトルを第$i$列とする行列を考えると、次の等式を得る
$$
\begin{aligned}
A \begin{pmatrix} \boldsymbol{x}_1 & \boldsymbol{x}_2 & \cdots & \boldsymbol{x}_n \end{pmatrix}
&= \begin{pmatrix} A \boldsymbol{x}_1 & A \boldsymbol{x}_2 & \cdots & A \boldsymbol{x}_n \end{pmatrix}\\
&= \begin{pmatrix} \lambda_1 \boldsymbol{x}_1 & \lambda_2 \boldsymbol{x}_2 & \cdots & \lambda_n \boldsymbol{x}_n \end{pmatrix}\\
&= \begin{pmatrix} \boldsymbol{x}_1 & \boldsymbol{x}_2 & \cdots & \boldsymbol{x}_n \end{pmatrix}
\begin{pmatrix}
\lambda_1 & & O \\
& \ddots & \\
O & & \lambda_n
\end{pmatrix}
\end{aligned}
$$
したがって
$$
AQ
= Q
\begin{pmatrix}
\lambda_1 & & O \\
& \ddots & \\
O & & \lambda_n
\end{pmatrix}
$$
となる。
逆に、各列ベクトルが零ベクトルでない$n$次正方行列$Q$と$\nu_i \ (i=1,\cdots,n)$で、各列の等式
$$
A Q=Q\left(\begin{array}{lll}
\nu_1 & & O \\
& \ddots & \\
O & & \nu_n
\end{array}\right)
$$
を満たすとする。行列$Q$の列を
$$
Q=(\boldsymbol{x}_1, \cdots, \boldsymbol{x}_n)
$$
と表すと、等式の第$i$列を取り出すと
$$
A \boldsymbol{x}_i
= \nu_i \boldsymbol{x}_i
$$
となる。
仮定より$\boldsymbol{x}_i \neq \boldsymbol{0}$であるから、$\nu_i$は固有値で、$\boldsymbol{x}_i$は固有値$\nu_i$に属する固有ベクトルである。対角化可能の判定¶
dropbox - Unknown Directive
dropbox - Unknown Directiveいま$r < s$をみたす$r$が存在するとし、$\boldsymbol{x}_1,\cdots,\boldsymbol{x}_r$は1次独立で、$\boldsymbol{x}_1,\cdots,\boldsymbol{x}_r,\boldsymbol{x}_{r+1}$は1次従属になったとして矛盾を導く。
このとき、$c_1, \cdots, c_r \in \mathbb{R}$に対し
$$
\boldsymbol{x}_{r+1} = c_1 \boldsymbol{x}_1 + \cdots + c_r \boldsymbol{x}_r
\tag{1}
$$
と一意的に表すことができる。
$\boldsymbol{x}_{r+1} \neq \boldsymbol{0}$であるから、$c_i$の中に少なくとも1つは$0$でないものがある。
各$\boldsymbol{x}_i$を列ベクトルで表し、両辺に左から$A$をかければ
$$
A \boldsymbol{x}_{r+1}=c_1 A \boldsymbol{x}_1+\cdots+c_r A \boldsymbol{x}_r
$$
となる。各 $x_i$ が固有値 $\lambda_i$ に属する固有ベクトルであるから、
$$
\lambda_{r+1} \boldsymbol{x}_{r+1}=c_1 \lambda_1 \boldsymbol{x}_1+\cdots+c_r \lambda_r \boldsymbol{x}_r
\tag{2}
$$
となる。また、 $\lambda_{r+1}$ を式(1)の両辺にかけて
$$
\lambda_{r+1} x_{r+1}=c_1 \lambda_{r+1} x_1+\cdots+c_r \lambda_{r+1} x_r
\tag{3}
$$
式(2), (3)を引けば
$$
c_1\left(\lambda_1-\lambda_{r+1}\right) x_1+\cdots+c_r\left(\lambda_r-\lambda_{r+1}\right) x_r=\mathbf{0}
$$
(相異なる固有値という)仮定より、$1 \leqq i \leqq r$ をみたす各 $i$ で
$$
\lambda_i-\lambda_{r+1} \neq 0
$$
であり、ある $j$ で $c_j \neq 0$ であるから、上式は自明でない 1 次関係式である。
これは $x_1, \cdots, x_r$ が 1 次独立であるという仮定に反する。
(出所:川久保勝夫. (2010). 線形代数学.)dropbox - Unknown Directive
dropbox - Unknown Directive$s$に関する数学的帰納法で示す。$s=1$のときは明らかであるから、$s\geq 2$とし、$x_1, \cdots, x_{s-1}$は1次独立であると仮定する。
$c_i$をスカラーとして
$$
c_1 x_1 + \cdots + c_{s-1} x_{s-1} + c_s x_s = 0
\tag{1}
$$
とする。両辺の$F$による像を考えれば、$F(x_i) = \lambda_i x_i$であるから
$$
c_1 \lambda_1 x_1 + \cdots + c_{s-1} \lambda_{s-1} x_{s-1} + c_s \lambda_s x_s = 0
\tag{2}
$$
式(1)を$\lambda_s$倍すれば
$$
c_1 \lambda_s x_1 + \cdots + c_{s-1} \lambda_s x_{s-1} + c_s \lambda_s x_s = 0
$$
上の2式を辺々引き算すれば
$$
c_1 (\lambda_1 - \lambda_s) x_1 + \cdots
+ c_{s-1} (\lambda_{s-1} - \lambda_s) x_{s-1} = 0
$$
これから帰納法の仮定によって$c_i (\lambda_i - \lambda_s) x_i = 0 \ (i = 1, \cdots, s-1)$が得られ、$\lambda_i \neq \lambda_s$であるから$c_i = 0 \ ( i=1,\cdots,s-1)$が得られる。
したがって$(1)$から$c_s=0$も得られる。
(出所:松坂和夫. (2018). 線型代数入門.)dropbox - Unknown Directive
dropbox - Unknown Directive定理より、$F$の相異なる固有値に属する固有ベクトルは1次独立である。 また前出の別の定理により、$F$の固有ベクトルが$V$の基底となるとき、$F$は対角化可能である。
dropbox - Unknown Directive
dropbox - Unknown Directive定理より、$A$の相異なる固有値$\lambda_1, \cdots, \lambda_n$に属する固有ベクトルを$\boldsymbol{x}_1,\cdots,\boldsymbol{x}_n$とすると、$\boldsymbol{x}_1,\cdots,\boldsymbol{x}_n$は1次独立であり、したがって$\mathbb{R}$の基底となる。
$\boldsymbol{x}_i$を第$i$列とする正方行列を$P$とする、すなわち$P=(\boldsymbol{x}_1,\cdots,\boldsymbol{x}_n)$とする。
定理により、
$$
AP = P
\left(\begin{array}{lll}
\lambda_1 & & O \\
& \ddots & \\
O & & \lambda_n
\end{array}\right)
$$
であり、$P$は定理(「1次独立なベクトルからなる行列の行列式はゼロでない」という定理)により正則行列であるため、$AP$に左から$P^{-1}$を左からかけて
$$
P^{-1}AP =
\left(\begin{array}{lll}
\lambda_1 & & O \\
& \ddots & \\
O & & \lambda_n
\end{array}\right)
$$
を得る。対角化の条件¶
対角化可能であることと同値の条件がいくつかある(参考:川久保 2010)
(2) (3) の 証明
三角化¶
次正方行列が与えられたとき、が三角行列になるような正方行列を求めることを、行列の 三角化 という。またそのようなが存在するとき、は 三角化可能 という。
また、次正方行列がを満たすとき、を直交行列という。
証明の概略
の次数に関する帰納法で証明する。
のとき、定理は明らかに成り立つ。
のとき、次以下の正方行列について定理が成り立つと仮定する。 をの固有値の1つとし、をに属する固有ベクトルとする。個のベクトルを選んで、がの基底になるようにする。このとき、を列ベクトルにもつ行列は正則行列で、
の形に書くことができる。ここでは次正方行列である。したがって
となる。との固有値の全体は一致するから、の固有値の全体はとなる。
は適当な次正則行列によって三角化される
なお、
とおくと、
となる。固有ベクトルを標準的な内積に関して正規直交基底となるように選ぶことでは直交行列にとれる。も帰納法の仮定により直交行列にとれるから、結局として直交行列がとれる。