どうも、木村(@kimu3_slime)です。
線形代数学において、三角行列は対角行列に似た性質を持っており、比較的シンプルで扱いやすい行列です。
今回は、上三角、下三角行列の性質:積、逆行列、固有値について紹介します。
上三角行列、下三角行列とは
上三角行列(upper triangular matrix)とは、正方行列の左下側の成分がすべて\(0\)で、上側の三角形の部分にだけ成分があるような行列です。例えば、行列
\[ \begin{aligned} \begin{pmatrix} 1 &0&2\\0 & -1 & -2 \\ 0& 0 & 3 \end{pmatrix}\end{aligned} \]
は上三角行列です。
同様に、下三角行列(lower triangular matrix)とは、正方行列の右上側の成分がすべて\(0\)で、下側の三角形の部分にだけ成分があるような行列です。
例えば、行列
\[ \begin{aligned} \begin{pmatrix} 2 &0&0\\-2 & 1 & 0 \\ -1& 2 & 3 \end{pmatrix}\end{aligned} \]
は下三角行列です。
\(N\)次の正方行列を\(A=(a_{ij})\)と行列の成分を表すことにします。\(A\)が上三角行列であるとは、\(1\leq i, j \leq N\)として、\(i > j\)(行番号が列番号より大きい)ならば\(a_{ij} =0\)ということです。\(A\)が下三角行列であるとは、\(1\leq i, j \leq N\)として、\(i < j\)(列番号が行番号より大きい)ならば\(a_{ij} =0\)ということです。
上三角行列、下三角行列は、合わせて三角行列(triangular matrix)と呼ばれます。
上三角行列、下三角行列という漢字の読み方は諸説あるようですが、うえさんかくぎょうれつ、したさんかくぎょうれつが普通ではないでしょうか。
三角行列というクラスは、対角行列を含みます。すべての対角行列は三角行列です。例えば、ゼロ行列、単位行列、スカラー行列は三角行列となります。
三角行列の言葉を使えば、正方行列\(A\)が対角行列であるとは、上三角行列かつ下三角行列であると言いかえられます。「\(i \neq j\)ならば\( a_{ij}=0\)」は、「\(i<j\)または\(i>j\)ならば\( a_{ij}=0\)」と同値ですね。
また、上三角行列と下三角行列は、対角成分について折り返せば:転置を取ればお互いに移り合います。上三角行列の転置は下三角行列、下三角行列の転置は上三角行列ですね。
任意の正方行列\(A\)は、下三角行列\(L\)と上三角行列\(U\)の積\(A=LU\)として表せることが知られています。これはLU分解と呼ばれるものです。ガウスの消去法(行列の基本変形)とは、行列を三角行列に分解して単純化する、というステップと言えます。
参考:線形方程式の解き方:ガウスの消去法と基本変形・ランク、LU分解
また、任意の正方行列は、ユニタリ行列をかけて三角行列にできる(三角化可能である)ことが知られています。(ユニタリ行列によって対角化可能であるのは、\(A\)が正規行列であることと同値、という話につながってくる。)
参考:基礎数学1線型代数入門 pp.140-141
行列を単純な形に変形すること=「行列の対角化」は、線形代数学において重要なテーマです。実際には、対角化まで行うには一般には無理ですが、三角化という枠組みなら可能というわけですね。(特に、ジョルダン標準形という三角化を考えることは多い)
三角行列の性質
では、三角行列の基本的な性質を調べていきましょう。
ここからは、上三角行列についてその性質を示します。しかし、下三角行列についても全く同様の性質が成り立ちます。
和、スカラー倍、積
三角行列は多くの演算について「閉じて」いて性質が良いです。
三角行列の和、スカラー倍もまた、三角行列です。
\(A,B\)を上三角行列(つまり、\(i > j\) ならば\(a_{ij} =0\))とします。
その和\(A+B\)の\(i,j\)成分を計算すると、\(i>j\)ならば、\(a_{ij}+b_{ij}=0\)となるので、上三角行列です。
そのスカラー倍\( \lambda A\)も、成分を計算して、\(i>j\)ならば、\( \lambda a_{ij}=0\)となり、上三角行列になります。
和とスカラー倍について閉じていることは、「上三角行列のなす集合\(\mathrm{Upper}\)が、行列全体のなす線形空間\(M(N,N)\)において部分空間になっている」とも言いかえられます。
参考:行列全体のなす集合が線形空間(ベクトル空間)となることの証明
さらに、三角行列同士の積もまた、三角行列となります。
行列の積の定義を使って計算すれば良いです。\(AB\)の\(i,j\)成分は、\(i>j\)のとき、
\[ \begin{aligned} \sum_{k=1}^{N} a_{ik}b_{kj} &= \sum_{k=1}^{j} a_{ik}b_{kj}+ \sum_{k=j+1}^{N} a_{ik}b_{kj}\\ &= \sum_{k=1}^{j} 0\cdot b_{kj}+ \sum_{k=j+1}^{N} a_{ik}\cdot 0 \\ &= 0 \ \end{aligned} \]
となるので。また、行列の積\(AB\)の対角成分は、対角成分の積になっています。
\[ \begin{aligned} \sum_{k=1}^{N} a_{ik}b_{ki} &= \sum_{k=1}^{i-1} a_{ik}b_{ki}+ a_{ii}b_{ii}+ \sum_{k=i+1}^{N} a_{ik}b_{ki}\\ &= \sum_{k=1}^{i-1} 0\cdot b_{ki}+ a_{ii}b_{ii} +\sum_{k=i+1}^{N} a_{ik}\cdot 0 \\ &= a_{ii}b_{ii} \ \end{aligned} \]
となるので。
上三角行列の積が上三角行列になることは、行列のブロック分けの理論を使っても示せます。まず、
\[ \begin{aligned} A &=\begin{pmatrix} a_{11}& a\\ 0 &A_{n-1}\end{pmatrix} \end{aligned} \]
とブロック分けします。ブロック行列の積の計算法則を使えば、\(2\times 2\)の行列で、上三角行列の積が上三角行列となることを示すだけです。
\[ \begin{aligned} &\begin{pmatrix} a_{11}& a\\ 0 &A_{n-1}\end{pmatrix}\begin{pmatrix} b_{11}& b\\ 0 &B_{n-1}\end{pmatrix} \\ &=\begin{pmatrix} a_{11}b_{11}& a_{11}b+a\cdot B_{n-1}\\ 0 &A_{n-1}B_{n-1}\end{pmatrix}\end{aligned} \]
行列のサイズに関する数学的帰納法によって、一般的なケースが示せます。
一般に、行列の積は計算しにくいものですが、三角行列の場合は比較的簡単です。同じ行列を何度も掛けること、べき乗も計算しやすくなります。
\[ \begin{aligned}U=\begin{pmatrix} u_{11} & *&*\\ 0& u_{22} & & \\ &\ddots & \\ O & & &u_{NN} \end{pmatrix}\end{aligned} \]
\[ \begin{aligned}U^k=\begin{pmatrix} u_{11} ^k& *&*\\ 0& u_{22}^k & & \\ &\ddots & \\ O & & &u_{NN}^k \end{pmatrix}\end{aligned} \]
べき乗した行列の対角成分には、もとの成分のべき乗が並び、かつ形としては上三角行列になりますね。
対角化できない行列を単純化するときは、ジョルダン標準形という三角化を考えます。それは対角ブロックに、次のようなジョルダン細胞と呼ばれる上三角行列が並んだものです。
\[ \begin{aligned}J(\lambda , k)=\begin{pmatrix} \lambda & 1& 0&\cdots&0\\ 0& \lambda & 1&0&\cdots&0 \\ \vdots&\ddots & \\ \vdots& &\ddots \\0& \cdots & &0&\lambda&1 \\ 0 &\cdots & &0&\lambda \end{pmatrix}\end{aligned} \]
そのべき乗の対角成分は、\(\lambda ^k\)であることはすぐにわかりますね。
行列の指数関数\(e^{A}\)というものを考えるとき、行列のべき乗を計算する必要があります。そこでジョルダン標準形を考えると単純になります。厄介なのは、対角成分以外の部分です。三角行列は対角行列\(D\)とべきゼロ行列\(N\)(有限回のべき乗でゼロ行列になる行列)の和に分解できて、うまく処理できます。これについては別記事で紹介するかもしれません。
可逆性、逆行列、行列式
三角行列は、どんなときに逆行列を持つ、すなわち可逆(正則)になるでしょうか?
対角行列の性質を思い出しましょう。
- \(D= \mathrm{diag}(d_1,\dots,d_N)\)は、すべての対角成分が0でない \(d_i \neq 0\) ならば、可逆行列(正則行列)です。
- 逆行列は\(D^{-1}= \mathrm{diag}(\frac{1}{d_1}, \dots, \frac{1}{d_N}) \)と、各対角成分をその逆数に置き換えたものになります。
- 行列式は、\(\det D = d_1 d_2 \cdots d_N\)と対角成分の積です。
三角行列も、対角行列と同様の結果が得られます。
- 上三角行列は、そのすべての対角成分が0でないならば、可逆行列です。
- 逆行列は、上三角行列で、その対角成分は\(a_{ii}\)を逆数\(\frac{1}{a_ii}\)に置き換えたものになっています。
- 行列式は、\(\det A = a_{11} a_{22} \cdots a_{NN}\)と対角成分の積です。
可逆行列について詳しくは:可逆な行列(正則行列)とは?例と同値な条件
行列式からチェックしましょう。符号を用いた行列式の定義がわかっていれば、対角成分以外を含む置換では0がかかって消えてしまうことがわかります。一般には、
\[ \begin{aligned}\det A =\sum _{\sigma \in S_N} \prod _{1\leq i \leq N} \text{sgn}(\sigma) a_{i \sigma(i)}\end{aligned} \]
という形です。ある\(k\)によって\( k \neq \sigma(k)\)となるような置換\(\sigma\)を考えます。そのとき、\(k > \sigma(k)\)または\(k < \sigma(k)\)が成り立ちます。いずれのケースにせよ、\(A\)が上三角行列なので、積は
\[ \begin{aligned} \prod _{1\leq i \leq N} \text{sgn}(\sigma) a_{i \sigma(i)}= 0\end{aligned} \]
となります。\(a_{k \sigma(k)}\)と\(a_{\sigma (k) k}\)の両方が含まれていて(\(\sigma\)は全単射、かつ\( k \neq \sigma(k)\))、どちらかは0になるので。
よって、行列式の定義でカウントする置換は、すべての\(i\)で\(i= \sigma(i)\)となる置換、恒等置換\(e\)のみです。恒等置換の符号は1です。したがって、
\[ \begin{aligned} \det A &=\sum _{\sigma \in S_N} \prod _{1\leq i \leq N} \text{sgn}(\sigma) a_{i \sigma(i)} \\ &=\prod _{1\leq i \leq N} \text{sgn}(e) a_{i e(i)}\\ &= a_{11} a_{22} \cdots a_{NN}\end{aligned} \]
が得られました。
その対角成分がすべて0でないならば、\(\det A \neq 0\)なので、可逆行列です。
可逆行列なので、\(AB=BA= I\)を満たす行列\(B=A^{-1}\)が存在します。\(B\)が上三角行列であること、\(B\)の対角成分が\(\frac{1}{a_{ii}}\)であることを確かめましょう。
\(AB\)の\(i,j\)成分は、\(i>j\)のとき、
\[ \begin{aligned} \sum_{k=1}^{N} a_{ik}b_{kj} &= \sum_{k=1}^{j} a_{ik}b_{kj}+ \sum_{k=j+1}^{N} a_{ik}b_{kj}\\ &= \sum_{k=1}^{j} 0\cdot b_{kj}+ \sum_{k=j+1}^{N} a_{ik} b_{kj} \\ &= \sum_{k=j+1}^{N} a_{ik} b_{kj} \ \end{aligned} \]
となります。\(AB=I\)の右辺と比較すれば、\( \sum_{k=j+1}^{N} a_{ik} b_{kj}=0\)です。
\(i=N,j=N-1\)のときは、\(a_{N,N}b_{N,N-1}=0\)が得られます。\(a_{N,N} \neq 0\)より、\(b_{N,N-1}=0\)です。同様に、\(j=N-\ell\)のときは\(a_{N},b_{N,N-\ell}=0\)で、\(b_{N,N-\ell}=0\)です。帰納的に、\(i=N-m,j=N-\ell\)のときの式から、\(b_{N-m,N- \ell }=0\)が得られます。以上によって、\(i>j\)のときはすべて\(b_{i,j}=0\)がわかりました。
\(AB=I\)において、左辺は上三角行列の積で、\(AB\)の対角成分は\(A,B\)の対角成分同士の積です。左辺と右辺で比較すれば、
\[ \begin{aligned}a_{ii}b_{ii}=1\end{aligned} \]
で、\(a_{ii} \neq 0\)より、\(b_{ii}= \frac{1}{a_{ii}}\)が得られました。
固有値・トレース
三角行列の固有値は、対角行列同様に非常にシンプルです。
固有方程式\(\det (\lambda I -A)=0\)を解きましょう。
\(\lambda I -A\)は上三角行列なので、行列式はその対角成分の積となります。つまり、
\[ \begin{aligned}(\lambda -a_{11})\cdots(\lambda -a_{NN})= 0\end{aligned} \]
となり、対角成分が固有値であること、\(\lambda =a_{ii}\)がわかりました。
行列のトレース\(\mathrm{tr}A\)は、対角成分の和のことで
\[ \begin{aligned}\mathrm{tr}A = a_{11} +\cdots +a_{NN}\end{aligned} \]
です。三角行列の対角成分は固有値\(\lambda _1,\dots,\lambda _N\)に等しいので、
\[ \begin{aligned}\mathrm{tr}A =\lambda _1 + \cdots +\lambda_N\end{aligned} \]
となります。
一般に、トレースは固有値の和に等しいという性質がありますが、三角行列のケースではそれがすぐにわかりますね。
以上、上三角、下三角行列の性質:積、逆行列、固有値について紹介してきました。
少し証明は煩雑だったかもしれませんが、得られる結果は対角行列と非常によく似ています。行列の対角化で対角行列をよく扱うのと同様に、三角行列への変形は積の計算を簡単にしてくれます。対角行列とセットで、三角行列のことも理解してみてはいかがでしょうか。
木村すらいむ(@kimu3_slime)でした。ではでは。
共立出版 (1982-07-09T00:00:01Z)
¥788 (中古品)
世界標準MIT教科書 ストラング:線形代数イントロダクション
近代科学社 (2015-12-22T00:00:01Z)
¥14,721 (コレクター商品)
東京大学出版会 (2019-03-08T00:00:00.000Z)
¥1,870
こちらもおすすめ
線形方程式の解き方:ガウスの消去法と基本変形・ランク、LU分解
なぜ行列式を学ぶのか? 固有値・固有ベクトルの求め方:固有多項式の定義