//  2009/01/25 数学から切り取り。過去のログはそちらに。
[[数学]] > 行列

*行列 [#m3eac589]
行列はもともと数学的探究によりうまれた。ベクトル成分を縦横に拡張すればどうなるのだろうか、といって始まったのである。

#contents
#br

**概念 [#ee1b6841]
横の並びを''行''、縱の並びを''列''と呼ぶ。すなはち''行列''である。重要なのは縱か横かでいえば横かと思われる。おのおのの成分には座標のようなものがあって、第i行の第j列にある成分を(i,j)成分と呼ぶ。

行ごとに左から右までの全ての成分をとりだして(第i行の)行ベクトル、列ごとに上から下までの全ての成分をとりだして(第j列の)列ベクトル、なんて呼ぶ事がある。

行列AとBがあり、このAとBの縱と横の成分の数が一致する場合を「AとBは''同じ型''である」と言い、その成分がおのおの全て一致する場合はその行列を「A=B;AとBは''等しい''」と判断できる。

**足し算 [#maf0766b]
各要素をそのまま足せばいいが、''同じ型''である必要がある。差分も同じ。型が違うと誰と足せばいいかわからなくなるでしょ?

&mimetex(\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} + \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} = \begin{pmatrix} 2 & 4 \\ 6 & 8 \end{pmatrix});

難しく書くとこんな感じ

&mimetex(\begin{pmatrix} a_1 & b_1 \\ c_1 & d_1 \end{pmatrix} + \begin{pmatrix} a_2 & b_2 \\ c_2 & d_2 \end{pmatrix} = \begin{pmatrix} a_1+a_2 & b_1+b_2 \\ c_1+c_2 & d_1+d_2 \end{pmatrix});

**掛け算 [#f35f52e9]
***定義 [#e4e0a964]
&mimetex(C_{ij} = \sum_{k=1}^m a_{ik} b_{kj});

行列AとBがあり、''AにBを掛ける''時、「Aの行ベクトルとBの列ベクトルの積(内積の計算方法に同じ)」を新たな成分として行列に変換する作業です。内積の定義から、''Aの行ベクトルとBの列ベクトルの成分の数は同じ''である必要があります。新たな成分とする場合は、「Aの''第i行の行ベクトル''」と「Bの''第j列の列ベクトル''」の積の場合に、''(i,j)成分''とするのが決まりです。

以上から、足し算同様に掛け算を行うには制限があることがわかります。すなはち行列AとBの場合は、Aの''列の数''(行ベクトルの数)とBの''行の数''(列ベクトル)が一致する必要があります。行だとか列だとかややこしいので、図面を書いて確かめるように。

式ではこれを「AB」と表しますが、別に''BにAを掛ける''として「AB=BA」となるとは限りません。それは上述の掛け算の定義から、よくわかることだとおもいます。「AB=BA」の場合は、これを"行列AとBは交換可能である"と言います。

***例 [#u48762d4]
かけていく順番がややこしいのでよく追って確認してください。

&mimetex(\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix} \begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} = \begin{pmatrix} 1 \times 5 + 2 \times 7 & 1 \times 6 + 2 \times 8 \\ 3 \times 5 + 4 \times 7 & 3 \times 6 + 4 \times 8 \end{pmatrix} = \begin{pmatrix} 19 & 22 \\ 43 & 50 \end{pmatrix});

右側の行列を上にずらしてみるとわかりやすい

           &mimetex(\begin{pmatrix} 5 & 6 \\ 7 & 8 \end{pmatrix} );

&mimetex(\begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}     \begin{pmatrix} 1 \times 5 + 2 \times 7 & 1 \times 6 + 2 \times 8 \\ 3 \times 5 + 4 \times 7 & 3 \times 6 + 4 \times 8 \end{pmatrix} );

**正方行列 [#edd372de]
正方とは、正(まさ)しく「方形」であること、つまり「正方形」を指す。この「方」の字は「四角形」を表し、「前方後円墳」の「方」などがそうである。正方行列とは正方形な行列と云う意味で、行と列の数が一致するものをいう。n行n列の正方行列は、n次の正方行列と呼ぶ。

**単位行列と零行列 [#q1e69a3c]
単位行列とは、(n,n)成分が全て1となり、其れ以外が0であるものをいう。二次の正方な単位行列Eは次の通り。

&mimetex(E = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix});

二次の正方行列Aを考えてみると、乗法は「交換可能」であることがわかる。AE=EA=Aの性質をもつ。これは通常の数の演算に於ける1の性質と同じ(a*1=1*a=a)であるから、これを単位行列とする。

零行列とは全ての行列成分が0であるものをいう。二次の正方な零行列Oとすると、AO=OA=Oであることがわかる。

**逆行列 [#oa090bab]
逆行列とは次の條件を満たす行列Bのことを謂う。

&mimetex(AB = BA = E);

Aの逆行列は&mimetex(B = A^{-1});と表す。これはAの逆変換になっている(一次変換など参照)。逆行列は余因子及び行列式の性質から次のように定まる。

&mimetex(\det(A) \ne 0); ならば &mimetex(A^{-1}=\frac{\tilde{A}}{\det(A)});

行列式が 0 であるときは逆行列は存在しない。逆行列の存在は、行列と余因子行列が、余因子展開における行列式の定義から、次の性質が自明であることで示されるからである(クラメルの公式)。

&mimetex(A\tilde{A}=\tilde{A}A=\det(A) E);

なお E は A と同じ次数を持つ単位行列である。譬えば逆行列が存在するとして両辺にかけてやると、余因子行列は逆行列に行列式を掛けたものに等しくなるので、逆行列が算出できるのであれば、更に行列式で両辺を割ってやるとよい。零除算はできないので、逆行列の算出には、行列式は0以外の数である必要があるわけ。余因子・余因子行列・行列式については後述。

とりわけ二次の正方行列に於いては、次の條件で求めることができ、数Cでは次の事実が示される。

&mimetex(A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}); のとき &mimetex(\det(A) = ad - bc \ne 0); ならば &mimetex(A^{-1} = \frac{1}{\det(A)} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix});

***逆行列の利用 [#hc42bb44]
だいたい逆函数だとか逆向きの計算は、正方向の計算が実に面倒なので、それを回避する手段として利用される。行列A、B、Xを考え、AとBが与えられていたとしよう。AX = B の関係式が成立するとして、Xを求めるにはどうすればよいか。こういうときは逆行列を利用すればよい。面倒なので A の逆行列が算出できるとして話を薦める。

&mimetex(A^{-1}A = E); であるから、&mimetex(A^{-1}AX = EX = X = A^{-1}B); であり、このように計算する事は、X の成分をそれぞれ仮定してB の成分との連立方程式を解くより遙かに簡単である。

**対角行列 [#odb4847f]
単位行列は対角行列の特殊な例である。対角行列とは対角成分のみを有する行列を謂い、丁度左上から右下へと成分がならぶ。それ以外は全て0である。行列の対角化については後述。

二次の対角行列Cを考えてみると、

&mimetex(C = \begin{pmatrix} \alpha & 0 \\ 0 & \beta \end{pmatrix}); のとき &mimetex(C^n = \begin{pmatrix} \alpha^n & 0 \\ 0 & \beta^n \end{pmatrix});

という冪乗に有利な性質を持っている。これは二次以上でも成立するから、どうなるか考えてみるといい。

*線型代数学と行列 [#g7f73a8e]
行列が線型代数学へと発展するなかで得られた成果は、高等教育に於いて咀嚼して教えられる。一部に線型代数学的説明を含みつつも、本格的な説明は線型代数学の項に譲り、基調としては高等教育での「数学C」の教科書・指導要領を踏まえた説明をしてみるとしよう。

**序論 [#l92948a2]
行列とはベクトルのあつまりであるとは、前に述べた。もしそのベクトルをベクトル方程式のあつまりとして理解すれば、行列とは方程式のあつまりではないか? 線形とはすなはちかういふ立地に於いて考えられる物である。

座標P(x,y)とQ(x',y')が、&mimetex(x' = ax + by);、&mimetex(y' = ax + by);を満たすときに、P→Qの変換は、次の行列式で表すことができる。

&mimetex(A = \begin{pmatrix} a & b \\ c & d \end{pmatrix});

&mimetex(\begin{pmatrix} x' \\ y' \end{pmatrix} = \begin{pmatrix} a & b \\ c & d \end{pmatrix}\begin{pmatrix} x \\ y \end{pmatrix});

この時PとQは線形性を持つといい、PはQの線形写像であると看做すことができる。このやうにして全く関係の無さそうなベクトルOPとOQが、行列式によつて結びつけることができるのである! 方程式 ax + by = 0 や cx + dy = 0をデカルト座標に引いてみると結構面白い性質が見えてくることであろう。

線型代数学ではこれを拡大して「線型空間」を考える。すなはちn次の行列を想定してベクトル成分も次々と増えて行くわけであるが、ここでは二次の行列に限り、「線型平面」として理解を進めて行く。

***数学C(行列)との対応 [#vf6b3ef0]
手元の数学Cの教科書(数研出版)を見てみると、次の内容を扱っている。ほぼ二次の正方行列を扱うことになる。

+行列式 Δ = ad - bc
+ケーリー・ハミルトンの定理
+対角行列と固有値の算出
+対角化による行列の冪乗算出
+逆行列
+連立方程式と行列
+一次変換(合成変換、逆変換、廻転、対称移動を含む)
+原点を通る直線に線対称な変換

とくに「小行列式」から「クラメルの公式」にかけては、数学Cでは扱わない。つまり以下の「余因子」がどうのこうのというのは高校の教科書ではでてこないわけだが、なぜ逆行列はあの式で求まるのかという疑念を払拭するには、やはり遣りすぎなくらいに遣った方がいいし、以下の初歩的な内容は、高校生でも充分に理解できる内容であると思われる。それに、どうせ大学に入ったら一年目は線型代数に追い掛け回されるのだから、まあ早い内からやっておいて損は無いだろう。

**連立方程式と行列 [#s2f71ea2]
***係数行列 [#fe719855]

**行列式(determinant) [#l91714d1]
線型代数学では行列の性質を理解してゆく中で、「行列式」を考えるととても便利であることに気がついた。そこでデターミナント(determinant)と名を与えて個別に扱うことにした。数学Cでは次項のケーリー・ハミルトンの定理ぐらいしか登場しないので残念である。行列Aの行列式は、「det(A)」「|A|」などで表す。成分を書きこんである行列は&mimetex(A = \begin{pmatrix} a & b \\ c & d \end{pmatrix});などとなつてるけど、これを&mimetex(\begin{vmatrix} a & b \\ c & d \end{vmatrix});とすると、これもまた行列式を表す。

二次の正方行列Aでは次のように計算できる。

&mimetex(A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}); のとき &mimetex(\det(A) = ad - bc);

**ケーリー・ハミルトンの定理 [#g60225ef]
ハミルトン・ケーリーの定理とも呼ぶ。これは功労者ケーリーとするか、先駆者ハミルトンを先にするかの違いである。

n次の正方行列Aとn次の正方単位行列Eは次の式をみたすとき、次の性質を持つ。

&mimetex(f(x) = \det(xE - A)); のとき &mimetex(f(A) = 0);

特にn=2のときは、

&mimetex(A = \begin{pmatrix} a & b \\ c & d \end{pmatrix});

&mimetex(xE - A = \begin{pmatrix} x-a & -b \\ -c & x-d \end{pmatrix});

&mimetex(f(x) = x^2 - (a+d)x + \det(A)E); が &mimetex(f(A) = 0); をみたす。

従って、数学Cでは &mimetex(0 = A^2 - (a+d)A + \det(A)E); が成立する定理をケーリー・ハミルトンの定理とする。

**小行列式 [#m499ea92]
小行列式とは行列を正規化する作業である。小行列式とは行列式の表記、&mimetex(\begin{vmatrix} a & b \\ c & d \end{vmatrix}); のような行列式を謂う。この算出は一定の規則によって求められる。また譬えば行列は正方行列であるとは限らないが、正方ではない小行列式を正方に整形した物は主小行列式などと呼ばれる。

**余因子(cofactor) [#g429c30d]
行列Aの(i,j)成分の余因子を次の様に定義する。一般に成分は小文字で書くが、余因子は行列同様に大文字で書く。

&mimetex(A_{ij} = (-1)^{i+j} \det(B_{ij}));

この行列B[ij] は 行列Aの第i行及び第j列を全て除いた行列で、小行列式を用いて余因子を定義するならば、次のようにできる。

&mimetex(A_{ij} = (-1)^{i+j} \begin{vmatrix} a_{11} &\cdots &a_{1,j-1} &a_{1,j+1} &\cdots &a_{1n} \\ \vdots &\vdots &\vdots    &\vdots  &\vdots &\vdots\\ a_{i-1,1} &\cdots &a_{i-1,j-1} &a_{i-1,j+1} &\cdots &a_{i-1,n}\\ a_{i+1,1} &\cdots &a_{i+1,j-1} &a_{i+1,j+1} &\cdots &a_{i+1,n}\\ \vdots &\vdots &\vdots    &\vdots  &\vdots &\vdots\\ a_{n1} &\cdots &a_{n,j-1} &a_{n,j+1} &\cdots &a_{nn} \end{vmatrix});

余因子とは、&mimetex(a_{ij});成分に対する余因子&mimetex(A_{ij});が、第i行及び第j列を全て除いた小行列式によって算出されることに由来する名前なのである。

**余因子展開と行列式 [#n52cdbfe]
n次の正方行列Aは、各々の行と列に於いて、次の展開が可能である。

&mimetex(\det(A) = \sum_{k=1}^n A_{kj}a_{kj} = \sum_{k=1}^n A_{ik}a_{ik});

この展開を余因子展開と謂い、行列式はこのように計算がなされる。

**行列式の算出 [#ldea76a7]
行列式は二次・三次程度なら公式も有利だが、それ以上となると算出は容易ではない。余因子展開を用いれば、余因子の小行列式が成分の数を減らすことを考えて、「再帰的」に、算出することが可能であることがわかる。

二次の正方行列Aの小行列式では、余因子が各々 &mimetex(A_{11} = d, A_{12} = -c, A_{21} = -b, A_{22} = a); であるから、第1行に関して余因子展開すると、&mimetex(\det(A) = A_{11}a_{11} + A_{12}a_{12} = ad - bc); などと算出できる。全部で四通り算出法があるので、全部確認してみて欲しい。

では三次の正方行列Aの場合を考えよう。この小行列式を展開して簡略化すると次のようにできる。まづ第1行に関して余因子を求めると、

&mimetex(A = \begin{pmatrix} a & b & c \\ d & e & f\\ g & h & i\end{pmatrix}); ならば &mimetex(A_{11} = \begin{vmatrix} e & f\\ h & i \end{vmatrix}, A_{12} = -\begin{vmatrix} d & f\\ g & i \end{vmatrix}, A_{13} = \begin{vmatrix} d & e\\ g & h \end{vmatrix});

と定義から求まるので、これを用いて第1行に関して余因子展開すると、次のようにできる。

&mimetex(\det(A) = \begin{vmatrix} a & b & c \\ d & e & f\\ g & h & i\end{vmatrix} = A_{11}a_{11} + A_{12}a_{12} + A_{13}a_{13} \\ \ \ \ \ = a\begin{vmatrix} e & f\\ h & i \end{vmatrix} - b\begin{vmatrix} d & f\\ g & i \end{vmatrix} + c\begin{vmatrix} d & e\\ g & h \end{vmatrix} \\ \ \ \ \ = aei + bfg + cdh - ceg - bdi - afh);

三次の正方行列で小行列式を計算していたはずなのに、いつのまにか二次の小行列式を計算することになっている。このように余因子展開を次々と繰り返すことで、大きな行列であっても、複雑な結果を得ることができる。三次の場合、所謂「襷掛け」の方式で計算する事ができるから、算出された行列式を成分と照らし合わせて欲しい。

なお行列式がこのようにして求められていることは、何だか不思議だけれど、それも実は、次の余因子行列が持つ性質を導くためとも云える。

**余因子行列 [#yb6f2d51]
行列Aの余因子行列&mimetex(\tilde{A});は、行列Aの余因子を成分とするものであるが、行列Aの(i,j)成分の余因子は、余因子行列では(j,i)成分となる。行と列が入れ替わっていることに注意されたい。

この余因子行列を求める事で、逆にその性質から、余因子展開や行列式、そして逆行列の存在が示されるのである。

**逆行列の算出 [#d7bf6a62]
&mimetex(A\tilde{A}=\tilde{A}A=\det(A) E);

A を n次正方行列、E を n次の単位行列とすると、余因子行列との間に上記の関係を満たす。この公式は余因子行列及び行列式の定義から明らかである。

漠然とではあるが・・・行列の積は行ベクトル及び列ベクトルから構成されるが、余因子行列は行と列が互い違いになっていて、だったら余因子展開から、計算結果は行列式の値と一致するのでは・・・などと考えて頂きたい。

ここで改めて逆行列を考えてみると、次のようにできるとわかる。

&mimetex(\det(A) \ne 0); ならば &mimetex(A^{-1}=\frac{\tilde{A}}{\det(A)});

行列式が 0 であるときは逆行列は存在しないのである。

**クラメルの公式と係数行列 [#ue174632]
クラメルの公式はこれら行列の性質から連立方程式の解を求める物である。連立方程式が

&mimetex(\sum_{k=1}^j a_{ik}x_{k} = b_{i},\  1 \le i \le m,\  1 \le j \le n);

のように、係数 a の群と b の群、変数 x の群で表されるとして、これら方程式は、行列で次のように書き表わすことができる。

&mimetex(AX = B); ただし、&mimetex(A = a(mn),\  X = x(n),\  B = b(m),\  n \le m);
&mimetex(AX = B); ただし、&mimetex(A =(a_{mn}),\  X = (x_{n}),\  B = (b_{m}),\  n \le m); である。このAは係数行列であり、行列Xと行列Bは列ベクトルとする。

Aは係数行列であり、行列Xと行列Bは列ベクトルとする。変数の行列Xがだた一つ解を持つには係数行列の逆行列が存在しさえすればいい。つまり行列式が0ではないとき、行列Xの第j行成分は次の様に求まる。Bに逆行列を掛けるのだから、&mimetex(A^{-1}AX = X = A^{-1}B = \frac{1}{\det(A)}\tilde{A}B); より、
変数の行列Xがだた一つ解を持つには係数行列の逆行列が存在しさえすればいい。つまり行列式が0ではないとき、行列Xの第j行成分は次の様に求まる。Bに逆行列を掛けるのだから、&mimetex(A^{-1}AX = X = A^{-1}B = \frac{1}{\det(A)}\tilde{A}B); より、

&mimetex(x_{j} = \frac{1}{\det(A)} \sum_{k=1}^m A_{kj}b_{k} = \frac{1}{\det(A)} \begin{vmatrix} a_{11} & \cdots & a_{1(j-1)} & b{1} & a_{1(j+1)} & \cdots & a_{1n} \\ \vdots & & \vdots & \vdots & \vdots & & \vdots \\ a_{m1} & \cdots & a_{m(j-1)} & b{m} & a_{m(j+1)} & \cdots & a_{mn} \end{vmatrix});

とできる。これをクラメルの公式と謂う。この公式の最右辺の小行列式では係数行列の第j列成分が列ベクトル B で置換されているが、このことは小行列式を観察すれば理解できる。つまり置換した列ベクトル B の部分で(置換し新たに合成した行列式の第j列に関する)余因子展開を行えば、丁度これは逆行列を掛けた際の結果の一部である &mimetex(\sum_{k=1}^m A_{kj}b_{k}); に一致するのである。

というわけで連立方程式の解は求まるが、これら計算の結果から、連立方程式に含まれる変数の数が方程式の数と等しいか小さくなければならない事 &mimetex(n \le m); もたしかにわかるのである。

***連立方程式の解の算出 [#sd59a011]
&mimetex(\begin{cases} 2x + y - z = 1 \\ x - y + z = 5 \\ x + 2y - z = -2 \end{cases});

この x をクラメルの公式で求めてみよう。係数行列A、列ベクトル X、Bは次のように定まる。

&mimetex(AX = B,\  A=\begin{pmatrix} 2 & 1 & -1 \\ 1 & -1 & 1 \\ 1 & 2 & -1  \end{pmatrix},\  B = \begin{pmatrix} 1 \\ 5 \\ -2  \end{pmatrix},\ X = \begin{pmatrix} x \\ y \\ z  \end{pmatrix});

係数行列Aの行列式は &mimetex(\det(A) = -3 \ne 0); なので、クラメルの公式の條件を満たしている。従って、

&mimetex(x = x_{1} = \frac{1}{\det(A)} \sum_{k=1}^3 A_{k1}b_{k} = \frac{1}{\det(A)}\begin{vmatrix} b_{1} & a_{12} & a_{13} \\ b_{2} & a_{22} & a_{23} \\ b_{3} & a_{32} & a_{33} \end{vmatrix} = \frac{1}{-3}\begin{vmatrix} 1 & 1 & -1 \\ 5 & -1 & 1 \\ -2 & 2 & -1 \end{vmatrix} = 2);

と求められる。やたら滅多に面倒だけれど、y と z とを求めずに算出できているのが利点と云えばそうかもしれない。行列の計算過程そのものが、連立方程式を解く際に y と z を消去してゆく過程を抽象化したのだ、と看做せよう。特に変数が多い時に威力を発揮しそうである。ちなみに y と z は以下のようになる。

&mimetex(y = \frac{1}{-3}\begin{vmatrix} 2 & 1 & -1 \\ 1 & 5 & 1 \\ 1 & -2 & -1 \end{vmatrix} = -1,\  z = \frac{1}{-3}\begin{vmatrix} 2 & 1 & 1 \\ 1 & -1 & 5 \\ 1 & 2 & -2 \end{vmatrix} = 2);

実際に代入して確かめてみると、この解が正しいことがわかる。

**対角化 [#y181d6ba]
**固有値の性質 [#m7456125]
**行列の冪乗 [#s53e8bce]
**一次変換 [#m34df7e6]
序論で実は既に示されている。

**廻転 [#sa9c9df3]
デカルト座標は極座標に展開することが可能である。そうすれば、三角函数の性質から、加法定理により廻転の線形写像を示すことが可能となる。

*補稿 [#l3cf239e]
**行列式と線形空間 [#ve17f213]


-[[ベクトル]]と[[線型代数学]]に続く


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS