行列の三角化

行列を三角化する方法について整理します。

行列を三角化するためには、まず、固有方程式を解いて固有値を求め、三角化可能であるか判定します。三角化可能である場合は、各固有値に属する固有ベクトルに線形独立なベクトルを加えて基底を作ることで、行列を三角化する正則行列を得ます。

行列を三角化する方法

まず、具体的に与えられた行列が三角化可能であるかを判定し、三角化可能である場合、行列を三角化する方法を示します。


三角化可能性の判定と三角化の手順

AAnn 次正方行列とすると、AA を三角化するための手順は、次の通り。

11)三角化可能性の判定

  • AA の固有方程式を解き、AA が(重複を含めて)nn 個の固有値を持つことを確認する。

22)三角化

  • AA の固有ベクトルに適当なベクトルを加えて KnK^{n} の基底を作り、それらを列ベクトルに持つ行列により AA を部分的に三角化する。
  • この操作を繰り返すことで、最終的に AA の全体を三角化する正方行列を得る。


(1)三角化可能性の判定

定理 6.14(三角化の条件)に示した通り、nn 次正方行列 AA が三角化可能であることは、AA が(重複を含めて)nn 個の固有値を持つことと同値です。これは、AA の固有方程式が(重解を含めて)nn 個の解を持つということに他なりません。

複素数の範囲では、正方行列は常に三角化可能

複素数の範囲で考えれば、正方行列は常に三角化可能です。

定理 6.3(固有方程式)に示したように、代数学の基本定理により「 nn 次方程式は複素数の範囲で重複を含めて nn 個の解を持つ」といえます。したがって、複素数の範囲で考えれば、nn 次正方行列は必ず(重複を含めて)nn 個の固有値を持ち、常に三角化可能であることとなります。

このことから、特に実数の範囲に限定して考える場合を除き、三角化可能性を判定する必要はないともいえます。

三角化不可能である場合の例

実数の範囲で考えた場合に限り、正方行列が三角化不可能であることがあります。

例えば、AA33 次の正方行列であり、AA の固有多項式が次のようになるとします。

ϕA(t)=(1t)(1+t2) \begin{gather*} \phi_{A} (t) = (1 - t) (1 + t^{2}) \end{gather*}

このとき、実数の範囲で考えると、AA の固有値は t=1t = 1 のみであり、AA は三角化不可能となります。一方で、複素数の範囲で考えれば、AA33 つの相異なる固有値 t=1,±it = 1, \, \plusmn \, i を持つため、三角化可能であるということになります。


(2)三角化

AA を三角化する正則行列を求めることで、AA を三角化します。

正方行列を三角化する正則行列の作り方

AA の固有ベクトルに適当なベクトルを加えて KnK^{n} の基底を作り、AA を部分的に三角化するという操作を繰り返すことで、次の式を満たす正則行列 PP を求めます。この PP こそ、AA を三角化する正則行列に他なりません。

P1AP=(  λ1    Oλn  ) \begin{gather*} & P^{-1} A P = \begin{pmatrix} \; \lambda_{1} & & \large{\ast} \; \\ & \ddots & \\ \; \large{O} & & \lambda_{n} \; \\ \end{pmatrix} \\ \end{gather*}

AA を三角化する正則行列 PP の作り方は、定理 6.14(三角化の条件)の証明に示した通りです。基本的には、次の 22 つの考え方によります。

i\text{i})固有ベクトルによる部分的な三角化

AA の固有ベクトルに適当なベクトルを加えて KnK^{n} の基底を作り、それらを列ベクトルに持つ行列により AA を部分的に三角化します。

固有ベクトルを含む KnK^{n} の基底を作る

既に AA が三角化可能であると判定されている場合、AA が重複を含めて nn 個の固有値を持つことが確かめられています。したがって、少なくとも 11 つの線型独立な AA の固有ベクトルが存在するといえます。

AA11 つの固有値を λ1\lambda_{1} として、λ1\lambda_{1} に属する固有ベクトルを x1\bm{x}_{1} とします。このとき、定義より x10\bm{x}_{1} \neq \bm{0} であるので、x1\bm{x}_{1} に適当な (n1)(n-1) 個のベクトルを加えて KnK^{n} の基底 x1,x2,,xn\bm{x}_{1}, \bm{x}_{2}, \cdots, \bm{x}_{n} を作ることができます(定理 4.33(線型独立なベクトルと基底))。

正則行列による部分的な三角化

このとき、Ax1,Ax2,,AxnA \bm{x}_{1}, A \bm{x}_{2}, \cdots, A \bm{x}_{n} を列ベクトルとして、まとめて行列として表すと、次のようになります。

A(x1,x2,,xn)=(x1,x2,,xn)(λ1OA1) \begin{gather*} A \, (\, \bm{x}_{1}, \bm{x}_{2}, \cdots, \bm{x}_{n} \,) = (\, \bm{x}_{1}, \bm{x}_{2}, \cdots, \bm{x}_{n} \,) \left( \, \begin{array} {c|c} \lambda_{1} & \large{\ast} \\ \hline O & \begin{matrix} & & \\ & A_{1} & \\ & & \end{matrix} \\ \end{array} \, \right) \end{gather*}

Q=(x1,x2,,xn)Q = (\, \bm{x}_{1}, \bm{x}_{2}, \cdots, \bm{x}_{n} \,) とすると、x1,x2,,xn\bm{x}_{1}, \bm{x}_{2}, \cdots, \bm{x}_{n} が線型独立であることから、QQ は正則であり(定理 4.27(行列式と線型独立性))、次が成り立ちます。これにより、AA1111 列分だけ、部分的に三角化されたことになります。

AQ=Q(λ1OA1)Q1AQ=(λ1OA1) \begin{gather*} & A Q = Q \left( \, \begin{array} {c|c} \lambda_{1} & \large{\ast} \\ \hline O & \begin{matrix} & & \\ & A_{1} & \\ & & \end{matrix} \\ \end{array} \, \right) \\ \Leftrightarrow & Q^{-1} A Q = \left( \, \begin{array} {c|c} \lambda_{1} & \large{\ast} \\ \hline O & \begin{matrix} & & \\ & A_{1} & \\ & & \end{matrix} \\ \end{array} \, \right) \tag{\star} \end{gather*}

ii\text{ii})部分的な三角化の繰り返し

上記の\star)式の右辺において、新たに得られた (n1)(n-1) 次正方行列 A1A_{1} に対して同様の操作を繰り返すことで、最終的に AA が対角化されます。

A1A_{1} が三角化される場合

仮に、A1A_{1} が正則行列 R1R_{1} により三角化されるとすると、次が成り立ちます。

R11A1R1=(λ2Oλn) \begin{gather*} R_{1}^{-1} A_{1} R_{1} = \left( \begin{array} {ccc} \lambda_{2} & & \large{\ast} \\ & \ddots & \\ \large{O} & & \lambda_{n} \\ \end{array} \right) \end{gather*}

このとき、R1R_{1} をブロックとして持つ、次のような nn 次正方行列 RR を作ると、RR も正則行列であることは簡単に確かめられます(定理 6.14(三角化の条件)の証明を参照)。

R=(1OOR1) \begin{gather*} R = \left( \, \begin{array} {c|c} 1 & O \\ \hline O & \begin{matrix} & & \\ & R_{1} & \\ & & \end{matrix} \\ \end{array} \, \right) \end{gather*}

ここで、P=QRP = QR とすれば、次が成り立ちます。

P1AP=(R1Q1)A(QR)=R1(Q1AQ)R=(1OOR11)(λ1OA1)(1OOR1)=(λ1OR11A1R1)=(  λ1    λ2    Oλn  ) \begin{align*} P^{-1} A P &= (\, R^{-1} Q^{-1} \,) \, A \, (\, Q R \,) \\ &= R^{-1} \, (\, Q^{-1} A Q \,) \, R \\ &= \left( \, \begin{array} {c|c} 1 & O \\ \hline O & \begin{matrix} & & \\ & R_{1}^{-1} & \\ & & \end{matrix} \\ \end{array} \, \right) \left( \, \begin{array} {c|c} \lambda_{1} & \large{\ast} \\ \hline O & \begin{matrix} & & \\ & A_{1} & \\ & & \end{matrix} \\ \end{array} \, \right) \left( \, \begin{array} {c|c} 1 & O \\ \hline O & \begin{matrix} & & \\ & R_{1} & \\ & & \end{matrix} \\ \end{array} \, \right) \\ &= \left( \, \begin{array} {c|c} \lambda_{1} & \large{\ast} \\ \hline O & \begin{matrix} & & \\ & R_{1}^{-1} A_{1} R_{1} & \\ & & \end{matrix} \\ \end{array} \, \right) \\ &= \begin{pmatrix} \; \lambda_{1} & & & \large{\ast} \; \\ \; & \lambda_{2} & & \; \\ & & \ddots & \\ \; \large{O} & & & \lambda_{n} \; \\ \end{pmatrix} \end{align*}

以上から、AA 全体を三角化する正則行列 PP が得られたことになります。

一般の場合(部分的な三角化の繰り返し)

上記の例では、AA の次数を 11 つ下げた段階で A1A_{1} が三角化されるとされましたが、A1A_{1} が三角化されない場合、更に次数を 11 つ下げた (n2)(n-2) 次正方行列 A2A_{2} に対して同様の操作を行います。

AA定理 6.14(三角化の条件)を満たしていますので、この操作を繰り返しにより、AA は必ず三角化されます。

この場合、次のような RR から、AA 全体を三角化する正方行列 P=QRP=QR が得られます。

R=(1OOR1)(11OO R2 )   \begin{gather*} R = \left( \, \begin{array} {c|c} 1 & O \\ \hline O & \begin{matrix} & & \\ & R_{1} & \\ & & \end{matrix} \\ \end{array} \, \right) \left( \, \begin{array} {c|c} \begin{matrix} 1 & \\ & 1 \end{matrix} & O \\ \hline O & \hbox{\phantom{\begin{matrix} \\ \\ \end{matrix}} R2R_{2} \phantom{\begin{matrix} \\ \\ \end{matrix}}} \end{array} \, \right) \; \cdots \end{gather*}

正方行列を三角化する正則行列の選び方

三角化された行列は一意に定まらない

正方行列 AA を三角化する正則行列 PP は一意的に定まりません。したがって、三角化された行列(下記の右辺)も、与えられた正方行列 AA に対して一意的ではありません。

P1AP=(  λ1    Oλn  ) \begin{equation*} P^{-1} A P = \begin{pmatrix} \; \lambda_{1} & & \large{\ast} \; \\ & \ddots & \\ \; \large{O} & & \lambda_{n} \; \\ \end{pmatrix} \end{equation*}

これは、上記の手順i\text{i})部分的な三角化において、正則行列 Q=(x1,,xn)Q = (\, \bm{x}_{1}, \cdots, \bm{x}_{n} \,) が一意的に定まらないためです。QQ の列ベクトル x1,,xn\bm{x}_{1}, \cdots, \bm{x}_{n} は固有ベクトルを含む KnK^{n} の基底であればよく、ベクトル空間の基底の選び方は一意的ではありません。

ii\text{ii})部分的な三角化の繰り返しにおいて、次数を下げた場合の正則行列 RRR1,R2,R_{1}, R_{2}, \cdots)についても同様のことがいえます。

ユニタリ行列による三角化

正則行列 PP として、直交行列ユニタリ行列を選ぶことができ、これにより計量を保ったまま AA を三角化できることが後にわかります。このことは、計量ベクトル空間の章において、内積を定義してから改めて整理します。


行列の三角化(例)

次に、具体的に与えられた行列を三角化する例を示します。


例題(行列の三角化)

次の行列を三角化せよ。

(  432    141    472  ) \begin{align*} \begin{pmatrix} \; 4 & 3 & 2 \; \\ \; 1 & 4 & 1 \; \\ \; -4 & -7 & -2 \; \\ \end{pmatrix} \end{align*}


解答

与えられた行列を AA とすると、AA の固有多項式は、

ϕA(t)=  4t32    14t1    472t  =(t2)3 \begin{align*} \phi_{A} (t) &= \begin{vmatrix} \; 4 - t & 3 & 2 \; \\ \; 1 & 4 - t & 1 \; \\ \; -4 & -7 & -2 - t \; \\ \end{vmatrix} \\ &= - (t - 2)^{3} \end{align*}

であるから、AA の固有値は λ=2\lambda = 2 であり、重複度は 33 である。いま、λ=2\lambda = 2 として、斉次連立一次方程式 (A2E)x=0(A - 2 E) \, \bm{x} = \bm{0} を解くと、

x=c(  1    0    1  )(cK) \begin{gather*} \bm{x} = c \begin{pmatrix} \; 1 \; \\ \; 0 \; \\ \; - 1 \; \end{pmatrix} & (\, c \in K \,) \end{gather*}

となるから、固有値 λ=2\lambda = 2 に属する固有ベクトル x1\bm{x}_{1} を次のように置くと、これに線形独立なベクトル x2,x3\bm{x}_{2}, \, \bm{x}_{3} を加えて K3K^{3} の基底を作れる。

x1=(101),x2=(  0    1    0  ),x3=(  1    1    0  ) \begin{gather*} \bm{x}_{1} = \begin{pmatrix} 1 \\ 0 \\ -1 \end{pmatrix}, & \bm{x}_{2} = \begin{pmatrix} \; 0 \; \\ \; 1 \; \\ \; 0 \; \end{pmatrix}, & \bm{x}_{3} = \begin{pmatrix} \; 1 \; \\ \; 1 \; \\ \; 0 \; \end{pmatrix} \end{gather*}

ここで、Q=(x1,x2,x3)Q = (\, \bm{x}_{1}, \, \bm{x}_{2}, \, \bm{x}_{3} \,) は正則行列であるから、次が成り立つ。

Q1AQ=(  2711    089    044  ) \begin{gather*} Q^{-1} A Q = \left( \begin{array} {c|cc} \; 2 & 7 & 11 \; \\ \hline \; 0 & 8 & 9 \; \\ \; 0 & -4 & -4 \; \\ \end{array} \right) \end{gather*}

上式において、右下のブロックを A1A_{1} とすると、A1A_{1} の固有多項式は、

ϕA1(t)=  8t9    44t  =(t2)2 \begin{align*} \phi_{A_{1}} (t) &= \begin{vmatrix} \; 8 - t & 9 \; \\ \; -4 & -4 - t \; \\ \end{vmatrix} \\ &= (t - 2)^{2} \end{align*}

であり、固有値 λ=2\lambda = 2(重複度:22)に属する固有ベクトル x1\bm{x}_{1}^{\prime} を次のように置くと、これに線形独立なベクトル x2\bm{x}_{2}^{\prime} を加えて K2K^{2} の基底を作れる。

x1=(32),x2=(  0    1  ) \begin{gather*} \bm{x}_{1}^{\prime} = \begin{pmatrix} 3 \\ -2 \end{pmatrix}, & \bm{x}_{2}^{\prime} = \begin{pmatrix} \; 0 \; \\ \; 1 \; \end{pmatrix} \end{gather*}

ここで、R1=(x1,x2)R_{1} = (\, \bm{x}_{1}^{\prime}, \, \bm{x}_{2}^{\prime} \,) は正則行列であるから、次が成り立つ。

R11A1R1=(  23    02  ) \begin{gather*} R_{1}^{-1} A_{1} R_{1} = \begin{pmatrix} \; 2 & 3 \; \\ \; 0 & 2 \; \end{pmatrix} \end{gather*}

いま、R1R_{1} をブロックに持つ、次のような行列を RR とすると、RR も正則行列であり、

R=(1OO    R1  )=(  100    030    021  ) \begin{align*} R &= \left( \begin{array} {c|c} 1 & O \\ \hline O & \vphantom{\begin{vmatrix} \\ \\ \end{vmatrix}} \; \; R_{1} \; \vphantom{\begin{vmatrix} \\ \\ \end{vmatrix}} \\ \end{array} \right) \\ &= \begin{pmatrix} \; 1 & 0 & 0 \; \\ \; 0 & 3 & 0 \; \\ \; 0 & -2 & 1 \; \end{pmatrix} \\ \end{align*}

P=QRP = QR とすると、

P=QR=(  101    011    100  )(  100    030    021  )=(  121    011    100  ) \begin{align*} P &= QR \\ &= \begin{pmatrix} \; 1 & 0 & 1 \; \\ \; 0 & 1 & 1 \; \\ \; -1 & 0 & 0 \; \end{pmatrix} \begin{pmatrix} \; 1 & 0 & 0 \; \\ \; 0 & 3 & 0 \; \\ \; 0 & -2 & 1 \; \end{pmatrix} \\ &= \begin{pmatrix} \; 1 & -2 & 1 \; \\ \; 0 & 1 & 1 \; \\ \; -1 & 0 & 0 \; \end{pmatrix} \end{align*}

AA は次のように三角化される。

P1AP=13(  001    111    121  )(  432    141    472  )(  121    011    100  )=(  2111    023    002  ) \begin{align*} P^{-1} A P &= \frac{\, 1 \,}{\, 3 \,} \begin{pmatrix} \; 0 & 0 & -1 \; \\ \; -1 & 1 & -1 \; \\ \; 1 & 2 & 1 \; \end{pmatrix} \begin{pmatrix} \; 4 & 3 & 2 \; \\ \; 1 & 4 & 1 \; \\ \; -4 & -7 & -2 \; \\ \end{pmatrix} \begin{pmatrix} \; 1 & -2 & 1 \; \\ \; 0 & 1 & 1 \; \\ \; -1 & 0 & 0 \; \end{pmatrix} \\ &= \begin{pmatrix} \; 2 & -1 & 11 \; \\ \; 0 & 2 & 3 \; \\ \; 0 & 0 & 2 \; \end{pmatrix} \end{align*}



解答の考え方

三角化可能性の判定と三角化の手順に従います。

(1)三角化可能性の判定
  • はじめに、固有方程式を解いて AA の固有値を求めます。
  • 33 次の正方行列 AA が重複を含めて 33 個の固有値を持つため、AA は三角化可能といえます。
    • この場合、AA の固有方程式は実数の範囲で 33 つの解を持つため、AA は実数の範囲で考えても三角化可能です。
(2)三角化
  • 固有ベクトルを求めて行列を部分的に三角化するという操作を繰り返すことで、AA を三角化する正則行列 PP を求めます。
AA の部分的な三角化
  • まず、AA の固有値 λ=2\lambda = 2 に属する固有ベクトル x1\bm{x}_{1} を求めます。
  • x1\bm{x}_{1} を含む K3K^{3} の基底から正則行列 QQ を作ることで、AA1111 列分三角化されます。
    Q1AQ=(  2711    089    044  ) \begin{gather*} Q^{-1} A Q = \left( \begin{array} {c|cc} \; 2 & 7 & 11 \; \\ \hline \; 0 & 8 & 9 \; \\ \; 0 & -4 & -4 \; \\ \end{array} \right) \end{gather*}
A1A_{1} の部分的な三角化
  • 次に、上式の右下の (2,2)(2, 2) 型のブロックを A1A_{1} として、同様に三角化を試みます。

    A1=(  89    44  ) \begin{gather*} A_{1} = \begin{pmatrix} \; 8 & 9 \; \\ \; -4 & -4 \; \end{pmatrix} \end{gather*}

  • A1A_{1} の固有値の固有値を求め、固有値 λ=2\lambda = 2 に属する固有ベクトル x1\bm{x}_{1}^{\prime} を求めます。

  • x1\bm{x}_{1}^{\prime} を含む K2K^{2} の基底から正則行列 R1R_{1} を作ることで、A1A_{1} は完全に三角化されます。

    R11A1R1=(  23    02  ) \begin{gather*} R_{1}^{-1} A_{1} R_{1} = \begin{pmatrix} \; 2 & 3 \; \\ \; 0 & 2 \; \end{pmatrix} \end{gather*}

解答のまとめ
  • 上記の、QQ および R1R_{1} から、AA 全体を三角化する正則行列 PP を求めます。
    • AAA1A_{1} の固有ベクトルは、斉次連立一次方程式の解法にしたがって、行列の基本変形を用いて (AλE)x=0(A - \lambda E) \, \bm{x} = \bm{0} を解くことで得られます。
    • PP の逆行列も、同様に、逆行列の計算法にしたがって、行列の基本変形を用いて求めることができます。この場合、P1P^{-1} は次のようになります。
      P1=13(  001    111    121  ) \begin{gather*} P^{-1} = \frac{\, 1 \,}{\, 3 \,} \begin{pmatrix} \; 0 & 0 & -1 \; \\ \; -1 & 1 & -1 \; \\ \; 1 & 2 & 1 \; \end{pmatrix} \end{gather*}

別解について

  • 上記の考察に示した通り、KnK^{n} の基底が一意的ではないことより、正方行列を三角化する正則行列は一意的に定まりません(正方行列を三角化する正則行列の選び方を参照)。

  • 例えば、次のような PP^{\prime}AA を三角化する正則行列であり、この例題の別解となり得ます。

    P=(  100    010    121  ) \begin{align*} P^{\prime} = \begin{pmatrix} \; 1 & 0 & 0 \; \\ \; 0 & 1 & 0 \; \\ \; -1 & -2 & 1 \; \end{pmatrix} \end{align*}

  • これは、上記の解答において、AA の固有ベクトル x1\bm{x}_{1} に対して、次のようなベクトル x2,x3\bm{x}_{2}, \bm{x}_{3} を加えて K3K^{3} の基底を作った場合に相当します。

    x1=(101),x2=(  0    1    0  ),x3=(  0    0    1  ) \begin{gather*} \bm{x}_{1} = \begin{pmatrix} 1 \\ 0 \\ -1 \end{pmatrix}, & \bm{x}_{2} = \begin{pmatrix} \; 0 \; \\ \; 1 \; \\ \; 0 \; \end{pmatrix}, & \bm{x}_{3} = \begin{pmatrix} \; 0 \; \\ \; 0 \; \\ \; 1 \; \end{pmatrix} \end{gather*}

  • この場合、PP^{\prime} により、AA は次のように三角化されます。

    P1AP=(  212    021    002  ) \begin{align*} P^{-1} A P &= \begin{pmatrix} \; 2 & -1 & 2 \; \\ \; 0 & 2 & 1 \; \\ \; 0 & 0 & 2 \; \end{pmatrix} \end{align*}

  • このように、AA を三角化する正方行列や、AA がどのような三角行列に変形されるかは一意に定まるものではありません。

  • ただし、三角化された行列の対角成分は、必ず AA の固有値に一致します(定理 6.14(三角化の条件)を参照)。


まとめ

  • AAnn 次正方行列とすると、AA を三角化するための手順は、次の通り。

11)三角化可能性の判定

  • AA の固有方程式を解き、AA が(重複を含めて)nn 個の固有値を持つことを確認する。

22)三角化

  • AA の固有ベクトルに適当なベクトルを加えて KnK^{n} の基底を作り、それらを列ベクトルに持つ行列により AA を部分的に三角化する。
  • この操作を繰り返すことで、最終的に AA の全体を三角化する正方行列を得る。

  • 複素数の範囲で考えれば、nn 次の正方行列は必ず nn 個の固有値を持つため、常に三角化可能である。

参考文献

[1] 齋藤正彦. 線型代数入門. 東京大学出版会. 1966.
[2] 永田雅宣 他. 理系のための線型代数の基礎. 紀伊國屋書店. 1986.
[3] 川久保勝夫. 線形代数学 [新装版]. 日本評論社. 2010.
[4] 松坂和夫. 線型代数入門 [新装版]. 岩波書店. 2018.
[5] 三宅敏恒. 線形代数学 初歩からジョルダン標準形へ. 培風館. 2008.
[6] S. Lang. Linear Algebra Third Edition. Springer. 1987.
[7] T. Miyake. Linear Algebra From the Beginnings to the Jordan Normal. Springer. 2022.
[8] 雪江明彦. 代数学 11 群論入門. 日本評論社. 2010.
[9] 雪江明彦. 代数学 22 環と体とガロア理論. 日本評論社. 2010.
[10] 桂利行. 代数学 I\text{I} 群と環. 東京大学出版会. 2004.
[11] 松坂和夫. 代数系入門. 岩波書店. 1976.
[12] 高木貞治. 代数学講義 [改訂新版]. 共立出版. 1965.
[13] S. Lang. Algebra Revised Third Edition. Springer. 2002.
[14] M. Artin. Algebra Second Edition. Pearson Education Limited. 2014.
[15] 青本和彦 他. 数学入門辞典. 岩波書店. 2005.


初版:2023-10-20   |   改訂:2025-05-12