簡単な表現行列をもつ線形変換の例
2023-06-03
基底を選んで線形変換の表現行列を簡単なものにすること
線形空間 \(V\) から自分自身 \(V\) への線形写像は特に線形変換と呼ばれていました。異なる線形空間 \(U\) から \(V\) への線形写像であれば、その表現行列は、\(U,V\) の基底をそれぞれ適切に選ぶことにより、左上から右下へ向かう対角線上だけに \(1\) がいくつか並びそれ以外はすべて \(0\) となっているような行列になりました。しかし、線形変換は自分自身への写像、つまり \(V\) から \(V\) への写像ですから、定義域の \(V\) の基底とターゲットの \(V\) の基底を別のものにして表現行列を考えると意味がなくなってしまうでしょう。つまり自分自身への線形写像(線形変換)では、定義域の \(V\) の基底とターゲットの \(V\) の基底は同じものを使って表現行列を考えることが重要になります。このような制限のもとで、基底をうまく選ぶことにより線形変換の行列表現を単純なものにする方法を考えていくことにします。
これまでと同様に、以下、\(\mathbb{K}\) は 実数の集合 \(\mathbb{R}\) または複素数の集合 \(\mathbb{C}\) のいずれか一方をあらわすとします。
いくつかの例
スカラー変換の表現行列
\(V\) を \(\mathbb{K}\) 上の線形空間とし、\(a\) をある数(つまり \(\mathbb{K}\) の要素)とします。そして、 \(V\) のベクトル \(\boldsymbol{x}\) に \(V\) のベクトル \(a\boldsymbol{x}\) を対応させる線形変換 \(f\) を考えてみます。つまり、どんなベクトルも \(a\) 倍するという線形変換を考えてみます。このような線形変換はスカラー変換と呼ばれます。
スカラー変換の表現行列がどのような行列になるのか考えてみましょう。そこでまず、\(V\) の基底 \(\lt \boldsymbol{v}_1,\ldots,\boldsymbol{v}_n \gt\) を勝手に選びます。そして、このスカラー変換でそれぞれの \(\boldsymbol{v}_i\) たちがどのようなベクトルに対応させられるのか考えてみると、もちろん \(a\boldsymbol{v}_i\) に対応させられるわけです。ですから、\[ (f(\boldsymbol{v}_1),\ldots,f(\boldsymbol{v}_n)) = (\boldsymbol{v}_1,\ldots,\boldsymbol{v}_n) \left( \begin{array}{cccc} a & 0 & \ldots & 0 \\ 0 & a & \ldots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \ldots & a \end{array} \right) \]
\[\left( \begin{array}{cccc} a & 0 & \ldots & 0 \\ 0 & a & \ldots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \ldots & a \end{array} \right)=aE_n\]
となります。ところで、\(V\) の基底 \(\lt \boldsymbol{v}_1,\ldots,\boldsymbol{v}_n \gt\) は勝手に選んだものなのですから、\(V\) の基底をどのようなものにしたとしても、\(a\) 倍するというスカラー変換の表現行列はスカラー行列 \(aE_n\) になるわけです。
スカラー変換は、最も簡単な形の表現行列をもつ線形変換の1つと言えるでしょう。
補足
スカラー変換の中には単位行列 \(E_n\) であらわされる恒等変換も含まれています。
線形変換で方向の変わらないベクトルからなる基底と表現行列
スカラー変換では、どんな基底でもそこに属しているベクトルは方向が変わらないばかりでなく同じ倍率で拡大または縮小されます。その結果、どんな基底を用いても表現行列は左上から右下へ向かう対角線上に同じ数が並び、それ以外はすべて \(0\) になるのでした。
それではここで、「ベクトルごとに拡大または縮小される倍率は違うことがあったとしても、とにかくどのベクトルも方向は変えないようなものからなる基底がある線形変換」や「そのような基底がない線形変換」の例をいくつか見てみることにします。
例
\(V\) を3次の数ベクトルの空間とします。そして、\[ A=\left(\begin{array}{r} -3 & 4 & 6\\ 3 & -1 & -3\\ -5 & 4 & 8\end{array}\right) \]
という行列を用意し、\(A\) で定まる \(V\) の線形変換
\[ f_A:V \to V,\,\left(\begin{array}{r}x_1\\x_2\\x_3\end{array}\right) \mapsto A\left(\begin{array}{r}x_1\\x_2\\x_3\end{array}\right) \]
について考えます。
まずはじめに、上のようなベクトルの成分や行列の成分は、\(V\) の自然基底 \(\Biggl\lt \boldsymbol{e}_1=\left(\begin{array}{r}1\\0\\0\end{array}\right),\boldsymbol{e}_2=\left(\begin{array}{r}0\\1\\0\end{array}\right),\boldsymbol{e}_3=\left(\begin{array}{r}0\\0\\1\end{array}\right)\Biggr\gt\) を用いたときの座標や表現行列になっていることに注意しておきましょう。
ではここで、あまりにも天下り式ですが、\[ \boldsymbol{v}_1 = \left(\begin{array}{r}2\\1\\1\end{array}\right) , \boldsymbol{v}_2 = \left(\begin{array}{r}1\\-1\\1\end{array}\right) , \boldsymbol{v}_3 = \left(\begin{array}{r}1\\0\\1\end{array}\right) \]
\[ \begin{align} f_A(\boldsymbol{v}_1) &=\left(\begin{array}{r} -3 & 4 & 6\\ 3 & -1 & -3\\ -5 & 4 & 8\end{array}\right)\left(\begin{array}{r}2\\1\\1\end{array}\right)\\[15pt] &=\left(\begin{array}{r}-6+4+6\\6-1-3\\-10+4+8\end{array}\right)=\left(\begin{array}{r}4\\2\\2\end{array}\right)\\[15pt] f_A(\boldsymbol{v}_2) &=\left(\begin{array}{r} -3 & 4 & 6\\ 3 & -1 & -3\\ -5 & 4 & 8\end{array}\right)\left(\begin{array}{r}1\\-1\\1\end{array}\right)\\[15pt] &=\left(\begin{array}{r}-3-4+6\\3+1-3\\-5-4+8\end{array}\right)=\left(\begin{array}{r}-1\\1\\-1\end{array}\right)\\[15pt] f_A(\boldsymbol{v}_3) &=\left(\begin{array}{r} -3 & 4 & 6\\ 3 & -1 & -3\\ -5 & 4 & 8\end{array}\right)\left(\begin{array}{r}1\\0\\1\end{array}\right)\\[15pt] &=\left(\begin{array}{r}-3+6\\3-3\\-5+8\end{array}\right)=\left(\begin{array}{r}3\\0\\3\end{array}\right)\\[15pt] \end{align} \]
となります。
この計算結果をじっくり見てみると、\[ \begin{align} f_A(\boldsymbol{v}_1)&=2\boldsymbol{v}_1, \,\quad\text{つまり}\,\boldsymbol{v}_1\,\text{は方向を変えずに}\,2\,\text{倍される}\\[6pt] f_A(\boldsymbol{v}_2)&=-\boldsymbol{v}_2,\quad \text{つまり}\,\boldsymbol{v}_2\,\text{は方向を変えずに}\,-1\,\text{倍される}\\[6pt] f_A(\boldsymbol{v}_3)&=3\boldsymbol{v}_3,\,\,\quad\text{つまり}\,\boldsymbol{v}_3\,\text{は方向を変えずに}\,3\,\text{倍される}\\ \end{align} \tag{1} \]
となっていることがわかります。
ところで、実は、\(\boldsymbol{v}_1,\boldsymbol{v}_2,\boldsymbol{v}_3\) は線形独立になっています。
このことを確認してみることにしましょう。そのためには、たとえば\[ c_1\boldsymbol{v}_1+c_2\boldsymbol{v}_2+c_3\boldsymbol{v}_3=\boldsymbol{0} \tag{2} \]
を満たす $c_1,c_2,c_3 $ はすべて \(0\) であることを確認する必要があります。
ほかの方法としては…
\(\boldsymbol{v}_1,\boldsymbol{v}_2,\boldsymbol{v}_3\)を並べてできる行列 \(\left(\boldsymbol{v}_1\,\boldsymbol{v}_2\,\boldsymbol{v}_3\right)\) を基本変形して階数が \(3\) となることを確かめたり、この行列の行列式が \(0\) にならないことを確かめる方法があります。 また、空間に正規直交座標系を設定してベクトルを矢印で扱うことにしたとき、3つのベクトルはある1つの平面には収まらない事を確認するという方法もあります。それでは、\((2)\) 式を満たす $c_1,c_2,c_3 $ はすべて \(0\) であることを確認することにしましょう。\((2)\) 式は 未知数が \(c_1,c_2,c_3\) の連立一次方程式ですから中高で学んだように消去法や代入法などを組み合わせて解くことができますが、ここでは少し手抜きをしてみることにします。
\(\boldsymbol{v}_1,\boldsymbol{v}_2,\boldsymbol{v}_3\) の成分を使うと\[ c_1\left(\begin{array}{r}2\\1\\1\end{array}\right) +c_2 \left(\begin{array}{r}1\\-1\\1\end{array}\right) +c_3\left(\begin{array}{r}1\\0\\1\end{array}\right) =\boldsymbol{0} \]
\[ \left( \begin{array}{r} 2 & 1 &1\\ 1 & -1 & 0\\ 1 & 1 & 1 \end{array} \right) \left(\begin{array}{c}c_1\\c_2\\c_3\end{array}\right) =\left(\begin{array}{c}0\\0\\0\end{array}\right) \tag{3} \]
\[ \begin{align} \left| \begin{array}{r} 2 & 1 &1\\ 1 & -1 & 0\\ 1 & 1 & 1 \end{array} \right| &=2\times (-1)\times 1 +1\times 0\times 1+1\times 1\times 1\\ &\qquad -2 \times 0 \times 0 - 1 \times 1 \times 1 -1 \times (-1) \times1\\ &= -2 +0 +1 -0 -1 +1\\ & = -1\\ & \neq 0 \end{align} \]
となり、行列式の値は \(0\) ではないことがわかります。ですから逆行列があることになります。
ということは、その逆行列がどんなものなのかは今の所わかりませんが、とにかくその逆行列を \((3)\) 式の両辺の左から掛ければ、\[ c_1=c_2=c_3=0 \]
となるはずであることがわかります。
これで \(\boldsymbol{v}_1,\boldsymbol{v}_2,\boldsymbol{v}_3\) は線形独立であることがわかりました。そして \(V\) は \(3\) 次元なので、これらから \(V\) の基底 \(\lt \boldsymbol{v}_1,\boldsymbol{v}_2,\boldsymbol{v}_3\gt\) が作られることになります。というわけで、ここで、基底 \(\lt \boldsymbol{v}_1,\boldsymbol{v}_2,\boldsymbol{v}_3\gt\) に関する \(f_A\) の表現行列を考えてみることにしましょう。
\(\boldsymbol{v}_1\) は \(f_A\) で \(2\) 倍、\(\boldsymbol{v}_2\) は \(f_A\) で \(-1\) 倍、\(\boldsymbol{v}_3\) は \(f_A\) で \(3\) 倍されるだけで方向は変わらないのでした。このことや、 \((1)\) 式を思い出すと、\[ \left( f_A(\boldsymbol{v}_1),f_A(\boldsymbol{v}_2),f_A(\boldsymbol{v}_3)\right) =\left( \boldsymbol{v}_1,\boldsymbol{v}_2,\boldsymbol{v}_3\right) \left(\begin{array}{r} 2 & 0 & 0\\ 0 & -1 & 0\\ 0 & 0 & 3 \end{array}\right) \]
\[ \Biggl\lt\boldsymbol{v}_1 = \left(\begin{array}{r}2\\1\\1\end{array}\right) , \boldsymbol{v}_2 = \left(\begin{array}{r}1\\-1\\1\end{array}\right) , \boldsymbol{v}_3 = \left(\begin{array}{r}1\\0\\1\end{array}\right) \Biggl\gt \]
\[\left(\begin{array}{r}x_1\\x_2\\x_3\end{array}\right) \stackrel{f_A}{\mapsto} \left(\begin{array}{r} -3 & 4 & 6\\ 3 & -1 & -3\\ -5 & 4 & 8\end{array}\right)\left(\begin{array}{r}x_1\\x_2\\x_3\end{array}\right) \]
\[ \left(\begin{array}{r} 2 & 0 & 0\\ 0 & -1 & 0\\ 0 & 0 & 3 \end{array}\right)\tag{4} \]
という対角行列であることがわかりました。
ところで、ある基底から別の基底への基底変換の行列を使うと表現行列がどのように変わるのか計算できるということを以前学びました。たしか、ある基底に関する表現行列が \(A\)、ある基底から別の基底への基底変換行列が \(P\) のとき、別の基底に関する表現行列は \(P^{-1}AP\) になるのでした。そこで、ここでは、自然な基底 \(\lt \boldsymbol{e}_1,\boldsymbol{e}_2,\boldsymbol{e}_3 \gt\) から(この例の説明で天下り式に与えられた)基底 \(\lt \boldsymbol{v}_1,\boldsymbol{v}_2,\boldsymbol{v}_3\gt\) への基底変換の行列を考え、それを使って \(f_A\) の表現行列がどのように変わるのか計算し、先に求めたものと一致することを検算してみることにします。
自然基底から基底 \(\lt \boldsymbol{v}_1,\boldsymbol{v}_2,\boldsymbol{v}_3\gt\) への基底変換行列はもちろん \(\boldsymbol{v}_1,\boldsymbol{v}_2,\boldsymbol{v}_3\) を並べてできる行列\[ \left(\boldsymbol{v}_1\,\boldsymbol{v}_2\,\boldsymbol{v}_3\right) =\left( \begin{array}{r} 2 & 1 &1\\ 1 & -1 & 0\\ 1 & 1 & 1 \end{array} \right) \]
\[ \left( \begin{array}{r} 2 & 1 &1\\ 1 & -1 & 0\\ 1 & 1 & 1 \end{array} \right) ^{-1} = \left( \begin{array}{r} 1 & 0 &-1\\ 1 & -1 & -1\\ -2 & 1 & 3 \end{array} \right)\]
この逆行列を求めるには…
基本変形をつかう方法と余因子を用いる方法があります。 大抵の場合、基本変形を使う方法のほうが計算がマシになるでしょう。\[ \begin{align} & \left( \begin{array}{r} 2 & 1 &1\\ 1 & -1 & 0\\ 1 & 1 & 1 \end{array}\right) ^{-1} \left(\begin{array}{r} -3 & 4 & 6\\ 3 & -1 & -3\\ -5 & 4 & 8\end{array}\right) \left(\begin{array}{r} 2 & 1 &1\\ 1 & -1 & 0\\ 1 & 1 & 1 \end{array}\right)\\[15pt] &=\left( \begin{array}{r} 1 & 0 &-1\\ 1 & -1 & -1\\ -2 & 1 & 3 \end{array} \right) \left(\begin{array}{r} -3 & 4 & 6\\ 3 & -1 & -3\\ -5 & 4 & 8\end{array}\right) \left(\begin{array}{r} 2 & 1 &1\\ 1 & -1 & 0\\ 1 & 1 & 1 \end{array}\right)\\[15pt] &=\left(\begin{array}{r} -2 & 0 & -2\\ -1 & 1 & 1\\ -6 & 3 & 9\end{array}\right) \left(\begin{array}{r} 2 & 1 &1\\ 1 & -1 & 0\\ 1 & 1 & 1 \end{array}\right)\\[15pt] &=\left(\begin{array}{r} 2 & 0 &0\\ 0 & -1 & 0\\ 0 & 0 & 3 \end{array}\right)\\[15pt] \end{align} \]
と計算できます。これは、\((4)\) 式に求めてある表現行列と一致しています。
この例から、線形変換によって方向の変わらないベクトル(つまりナントカ倍されるだけのベクトル)がいくつか存在し、それらが基底を構成していれば、その基底に関する表現行列が対角行列になるということが想像できます。
正確な議論はそのうちいつかすることにして、もう少し例を使い次のような問題を考えてみることにします。
問題
どんな線形変換に対しても「方向の変わらないベクトル(つまりナントカ倍されるだけのベクトル)たちからなる基底」は存在するのでしょうか?このことを以下のいくつかの例で考えてみます。
例
\(V\) を 実数の集合 \(\mathbb{R}\) 上の2次の数ベクトルの空間とします。また、\(A=\left(\begin{array}{r} 0 & 1 \\ -1 & 0\end{array}\right)\) とし、\(A\) で定まる \(V\) の線形変換\[ f_A:V \to V,\,\left(\begin{array}{r}x_1\\x_2\end{array}\right) \mapsto A\left(\begin{array}{r}x_1\\x_2\end{array}\right) \]
について考えます。
ではここで、\(f_A\) により方向を変えず \(\lambda\) 倍されるだけのベクトルがあるとして、それを \(\left(\begin{array}{r}x_1\\x_2\end{array}\right)\) とします。そして、このような数 \(\lambda\) と ベクトル \(\left(\begin{array}{c}x_1\\x_2\end{array}\right)\) を見つけてみることにします。
というわけで、\[ \left(\begin{array}{r} 0 & 1 \\ -1 & 0\end{array}\right)\left(\begin{array}{r}x_1\\x_2\end{array}\right) =\lambda\left(\begin{array}{r}x_1\\x_2\end{array}\right) \]
\[ \begin{align} x_2=\lambda x_1 \tag{5}\\ -x_1=\lambda x_2 \tag{6}\\ \end{align} \]
と書き換えることができます。
\((5)\) 式を \((6)\) 式に代入し整理すると\[ (\lambda ^2+1)x_1=0 \]
\[ \lambda^2=-1 \,\text{または} \; x_1=0 \]
のときであることがわかります。
\(x_1=0\) の場合 \((5)\) 式より \(x_2=0\) となるので\[ \left(\begin{array}{r}x_1\\x_2\end{array}\right)=\left(\begin{array}{r}0\\0\end{array}\right) \]
\[ \lambda^2=-1 \]
ということになります。しかし、この式を満たす \(\lambda\) は実数の範囲には存在しません。
以上で、この線形変換 \(f_A\) には方向を変えず \(\lambda\) 倍されるだけのベクトルで零ベクトルとは異なるものは存在しないことがわかりました。
ところで、この \(V\) が複素数の集合 \(\mathbb{C}\) 上の線形空間だとしたら話は別です。さっきの \(\lambda^2=-1\) より\[ \lambda = i\, \text{または}\, -i \]
が得られます。ですから、\(f\) により \(i\) 倍されるだけのベクトルと \(-i\) 倍されるだけのベクトルが存在する可能性があるので、\((5),(6)\) 式に立ち戻って考えることにしましょう。
\(f\) により \(i\) 倍されるだけのベクトルを求めるには \((5),(6)\) 式で \(\lambda=i\) として\[ \begin{align} x_2=i x_1 \tag{7}\\ -x_1=i x_2 \tag{8}\\ \end{align} \]
としてから \(x_1,x_2\) を求めればよいわけですが、実は \((7)\) 式と \((8)\) 式は実質同じ式です。実際 \((7)\) 式の両辺を \(i\) 倍すると \((8)\) 式になります。というわけで、\(x_1\) または \(x_2\) の値はどちらか一方を好き勝手に決めることができ、残りの一方は \((7)\) 式または \((8)\) 式から自動的に決まることになります。
そこで、たとえば \(x_2=1\) とすると\[ \left(\begin{array}{r}x_1\\x_2\end{array}\right)=\left(\begin{array}{r}i\\1\end{array}\right)\tag{9} \]
というベクトルが得られます。これが \(f_A\) により \(i\) 倍されるだけのベクトルのうちの1つです。
\(f_A\) により \(-i\) 倍されるだけのベクトルも同じようにして求めることができます。たとえば、\[ \left(\begin{array}{r}x_1\\x_2\end{array}\right)=\left(\begin{array}{r}-i\\1\end{array}\right)\tag{10} \]
というベクトルが得られます。
\((9),(10)\) 式のベクトルが一次独立であることは簡単に確認できます。
このようにして、 \(\mathbb{C}\) 上で考えた場合には \(V\) の基底 \(\lt \left(\begin{array}{r}i\\1\end{array}\right),\left(\begin{array}{r}-i\\1\end{array}\right)\gt\) が得られ、これらはそれぞれ \(f_A\) により \(i\) 倍、 \(-i\) 倍されるだけとなっています。
例
\(V\) を 実数の集合 \(\mathbb{R}\) 上の2次の数ベクトルの空間とします。また、\(A=\left(\begin{array}{r} 2 & 1 \\ 0 & 2\end{array}\right)\) とし、\(A\) で定まる \(V\) の線形変換\[ f_A:V \to V,\,\left(\begin{array}{r}x_1\\x_2\end{array}\right) \mapsto A\left(\begin{array}{r}x_1\\x_2\end{array}\right) \]
について考えます。
\(f_A\) により方向を変えず \(\lambda\) 倍されるだけのベクトルを \(\left(\begin{array}{r}x_1\\x_2\end{array}\right)\) とすると\[ \left(\begin{array}{r} 2 & 1 \\ 0 & 2\end{array}\right)\left(\begin{array}{r}x_1\\x_2\end{array}\right) =\lambda\left(\begin{array}{r}x_1\\x_2\end{array}\right) \]
\[ \begin{align} 2x_1+x_2&=\lambda x_1 \tag{11}\\ 2x_2&=\lambda x_2 \tag{12}\\ \end{align} \]
となっています。
\((12)\) 式より\[ (\lambda-2)x_2=0 \]
\[ \lambda=2 \,\text{または} \;x_2 =0 \]
を意味します。
\(x_2=0\) の場合、\((11)\) 式より\[ (\lambda-2)x_1=0 \]
\[ \lambda=2 \,\text{または} \;x_1 =0 \]
\[ \left(\begin{array}{r}x_1\\x_2\end{array}\right)=\left(\begin{array}{r}0\\0\end{array}\right) \]
\[ \lambda=2 \]
\[ \begin{align} x_2&=0 \\ 0&=0 \\ \end{align} \]
\[ \left(\begin{array}{r}x_1\\x_2\end{array}\right)=\left(\begin{array}{r}1\\0\end{array}\right) \]
の定数倍だけであるということになります。そして、これ以外に \(f_A\) によってナントカ倍されるだけのベクトルは存在しません。
\(V\) は \(2\) 次元ですから、\(f_A\) には「ナントカ倍されるだけのベクトルで基底になるもの」は存在しないということになります。 以上の考察により、\(f_A\) は、表現行列を対角行列にすることができないと思われます。
まとめ
線形空間 \(V\) の線形変換では、定義域の \(V\) の基底とターゲットの \(V\) の基底は同じものを使って表現行列を考えることが重要になります。そして、良い基底を見つけて表現行列を簡単な形にすることが線形代数学の重要な目標の1つとなります。
どんなベクトルも \(a\) 倍するという線形変換はスカラー変換と呼ばれます。スカラー変換では基底をどのようなものにしたとしても表現行列は左上から右下へ向かう対角線上に \(a\) が並び、それ以外はすべて \(0\) になります。つまり、スカラー行列 \(aE_n\) になります。
いくつかの例で見たように、「方向の変わらないベクトル(つまりナントカ倍されるだけのベクトル)たちからなる基底が存在する線形変換」と「そのような基底が存在しない線形変換」があります。
「方向の変わらないベクトル(つまりナントカ倍されるだけのベクトル)たちからなる基底が存在する線形変換」ではその基底に関する表現行列は対角行列になります。このことについてはページを改めて詳しく学ぶことにします。