行列の上三角化~グラム・シュミットの直交化法を用いて

行列の上三角化

与えられた正方行列 AA に対して,ユニタリ行列(直交行列) PP をうまく取ってきて P1APP^{-1}AP を上三角行列にできる。

AA の固有値が全て実数の場合,直交行列で三角化できる。

この記事では,線型代数において重要な「行列の上三角化」について解説します。今回は固有ベクトルを用いる方法を紹介します。

上三角化の方法(2×22 \times 2 のとき)

  1. (ノルムが 11 の)固有ベクトルを1つ持ってくる。
  2. 固有ベクトルと直交する(ノルムが 11 の)ベクトルを用意する。
  3. 2つのベクトルを並べてできた行列(とその逆行列)で挟む。

※ 直交する2つのベクトルは線型独立であるため,用意した行列が正則行列であることは明らかです。

ノルムを1にすることについて

ノルムを 11 としなくても三角化はできますが,11 にしておくとユニタリ行列になります。(参考:ユニタリ行列の定義と性質の証明

上三角化の例

例題

A=(2314)A = \begin{pmatrix} 2&3\\1&4 \end{pmatrix} を上三角化せよ。

解答

固有方程式は 2t314t=t26t+5 \begin{vmatrix} 2-t & 3\\1 & 4-t \end{vmatrix} = t^2 - 6 t + 5 であるため,固有値は 1,51,5 である。

11 の固有ベクトルとして (31)\begin{pmatrix} 3\\-1 \end{pmatrix} が取れる。直交するベクトルとして (13)\begin{pmatrix} 1\\3 \end{pmatrix} を取る。

P=(3113)P = \begin{pmatrix} 3&1\\-1&3 \end{pmatrix} とおくと,P1=110(3113)P^{-1} = \dfrac{1}{10} \begin{pmatrix} 3&-1\\1&3 \end{pmatrix} であり,

P1AP=110(3113)(2314)(3113)=110(3113)(311113)=(1205)\begin{aligned} &P^{-1} A P\\ &= \dfrac{1}{10} \begin{pmatrix} 3&-1\\1&3 \end{pmatrix} \begin{pmatrix} 2&3\\1&4 \end{pmatrix} \begin{pmatrix} 3&1\\-1&3 \end{pmatrix}\\ &= \dfrac{1}{10} \begin{pmatrix} 3&-1\\1&3 \end{pmatrix} \begin{pmatrix} 3&11\\ -1&13 \end{pmatrix}\\ &= \begin{pmatrix} 1 & 2\\ 0 & 5 \end{pmatrix} \end{aligned} と上三角化できた。

原理(興味がある人向け)

vvAA の固有値 λ\lambda の固有ベクトルとします。wwvv と直交するベクトルとします。

こうして得られた基底 v,wv,w について,AA 倍する線型写像の変換行列を計算しましょう。

定義から明らかに Av=λvAv = \lambda v です。AwAw が具体的にどうなるかは分かりませんが,少なくとも Aw=pv+qwAw = p v + q w と書けることは明らかです。

これを踏まえると A(vw)=(vw)(λp0q) A \begin{pmatrix} v & w \end{pmatrix} = \begin{pmatrix} v & w \end{pmatrix} \begin{pmatrix} \lambda & p\\0 &q \end{pmatrix} と書けます。

P=(vw)P = \begin{pmatrix} v & w \end{pmatrix} と書き直すと

P1AP=(λp0q) P^{-1} A P = \begin{pmatrix} \lambda & p\\0 &q \end{pmatrix} となりました。

上三角化の方法(n×nn \times n のとき)

  1. (ノルムが 11 の)固有ベクトルを1つ持ってくる。
  2. 固有ベクトルと直交する(ノルムが 11 の)ベクトルを n1n-1 個用意する。特に互いに直交するように取る。
  3. n個のベクトルを並べてできた行列で挟む。
  4. 挟んだら (1OA)\begin{pmatrix} 1 & \ast \\ O &A' \end{pmatrix}AA'(n1)×(n1)(n-1) \times (n-1) 行列)となるため,AA' に対して 1~3 をする。
  5. 以下繰り返し。

ステップが増えました。実際に計算してみてステップが増えることを実感しましょう。

上三角化の例(3×33 \times 3

A=(101120110)A = \begin{pmatrix} 1&0&1\\ 1&2&0\\ 1&1&0 \end{pmatrix} を上三角化してみましょう。

ステップ1

AλI=λ3+3λ2λ1|A - \lambda I| = -\lambda^3 + 3 \lambda^2 - \lambda - 1 と計算されます。これは λ=1\lambda = 1 を根に持ちます。よって固有値 11 に対する固有ベクトルを用意するとよいです。

計算すると (110)\begin{pmatrix} 1\\-1\\0 \end{pmatrix} が固有値 11 に対する固有ベクトルになります。

ステップ2

(110)\begin{pmatrix} 1\\1\\0 \end{pmatrix}(001)\begin{pmatrix} 0\\0\\1 \end{pmatrix} はステップ1で求めたベクトルと直交します。

※ もしここで互いに直交しないベクトルを取ってしまった場合も大丈夫です。グラム・シュミットの直交化法 により直交するようにできます。

ステップ3

P1=(110110001)P_1 = \begin{pmatrix} 1&1&0\\ -1&1&0\\ 0&0&1 \end{pmatrix} とおきます。逆行列を計算すると P11=(1212012120001){P_1}^{-1} = \begin{pmatrix} \frac{1}{2} &-\frac{1}{2} &0\\ \frac{1}{2} &\frac{1}{2} &0\\ 0&0&1 \end{pmatrix} となります。

実際に挟んでみましょう。

P11AP1=(1212012120001)(101120110)(110110001)=(1212012120001)(111130020)=(11120212020)\begin{aligned} &{P_1}^{-1} AP_1\\ &= \begin{pmatrix} \frac{1}{2} &-\frac{1}{2} &0\\ \frac{1}{2} &\frac{1}{2} &0\\ 0&0&1 \end{pmatrix} \begin{pmatrix} 1&0&1\\ 1&2&0\\ 1&1&0 \end{pmatrix} \begin{pmatrix} 1&1&0\\ -1&1&0\\ 0&0&1 \end{pmatrix}\\ &= \begin{pmatrix} \frac{1}{2} &-\frac{1}{2} &0\\ \frac{1}{2} &\frac{1}{2} &0\\ 0&0&1 \end{pmatrix} \begin{pmatrix} 1&1&1\\ -1&3&0\\ 0&2&0 \end{pmatrix}\\ &= \begin{pmatrix} 1&-1&\frac{1}{2}\\ 0&2&\frac{1}{2}\\ 0&2&0 \end{pmatrix} \end{aligned} となりました。

右下の 2×22 \times 2 行列を上三角化したくなりますね。

ステップ4

(21220)\begin{pmatrix} 2&\frac{1}{2}\\2&0 \end{pmatrix} を上三角化すると,

Q=(1221) Q = \begin{pmatrix} 1&2\\-2&1 \end{pmatrix} により Q1AQ=(15201) Q^{-1} AQ = \begin{pmatrix} 1&\frac{5}{2}\\0&-1 \end{pmatrix} と上三角化できます。

よって P2=(100012021) P_2 = \begin{pmatrix} 1&0&0\\ 0&1&2\\ 0&-2&1 \end{pmatrix} とすると

P21P11AP1P2=(100012021)1(11120212020)(100012021)=(12320152001)\begin{aligned} &{P_2}^{-1} {P_1}^{-1} A P_1 P_2\\ &= \begin{pmatrix} 1&0&0\\ 0&1&2\\ 0&-2&1 \end{pmatrix}^{-1} \begin{pmatrix} 1&-1&\frac{1}{2}\\ 0&2&\frac{1}{2}\\ 0&2&0 \end{pmatrix} \begin{pmatrix} 1&0&0\\ 0&1&2\\ 0&-2&1 \end{pmatrix}\\ &= \begin{pmatrix} 1 & -2 &- \frac{3}{2}\\ 0 & 1 & \frac{5}{2}\\ 0&0& -1 \end{pmatrix} \end{aligned} とできます。

こうして P=P1P2P = P_1 P_2 によって AA は上三角化されます。

色々な上三角化

実は上三角化は一意ではありません。勘のいい人は「対角化だって上三角化じゃないか」と気付いているかもしれませんね。

一番のポイントは「上三角化は絶対にできる」というところです(対角化はいつもできるとは限りません)。行列式の計算をするとき,上三角行列だと簡単でしたね。その例のように上三角行列にしておくことはメリットが多いです。

対角化の方が有名ですが,上三角化もときどき活躍します。