$\def\rank{\opcol{\rm rank}\,}$ $\def\sM{M}\def\sN{N}\definecolor{mxcolor}{RGB}{102,41,71}\def\mxcol#1{{\color{mxcolor}#1}}\newcommand{\mt}[1]{\mxcol{\bf #1}}\newcommand{\rv}[1]{\opcol{\left({\color{black}\begin{array}{@{\,}c@{\,}}#1\end{array}}\right)}}$ $\newcommand{\mtx}[2][cc]{\opcol{\left({\color{black}\begin{array}{@{\,}#1@{\,}}#2\end{array}}\right)}}\def\ope#1{\opcol{\hat{#1}}}$ $\definecolor{phicolor}{RGB}{153,61,23}\definecolor{psicolor}{RGB}{153,46,138}\definecolor{rcolor}{RGB}{204,82,122}\definecolor{thetacolor}{RGB}{255,0,38}\definecolor{phicolor}{RGB}{153,62,23}\definecolor{scolor}{RGB}{178,107,107}$ $\def\coldr{\rcol{\mathrm dr}}\def\coldvecx{\xcol{\mathrm d\vec x}}\def\intdx{\opcol{\int \mathrm dx}}\def\E{\mathrm e}\def\I{\mathrm i}\definecolor{opcol}{RGB}{149,139,0}\definecolor{hai}{RGB}{137,137,137}\definecolor{tcol}{RGB}{166,54,109}\definecolor{kuro}{RGB}{0,0,0}\definecolor{xcolor}{RGB}{169,103,49}\def\opcol#1{{\color{opcol}#1}}\def\ddx{\opcol{{\mathrm d\over \mathrm dx}}}\def\ddt{\opcol{{\mathrm d\over \mathrm dt}}}\def\scol#1{\color{scolor}#1}\def\xcol#1{{\color{xcolor}#1}}\def\phicol#1{{\color{phicolor}#1}}\definecolor{ycolor}{RGB}{217,61,137}\def\ycol#1{{\color{ycolor}#1}}\def\haiiro#1{{\color{hai}#1}}\def\kuro#1{{\color{kuro}#1}}\def\kakko#1{\haiiro{\left(\kuro{#1}\right)}}\def\Kakko#1{\haiiro{\left[\kuro{#1}\right]}}\def\coldx{{\color{xcolor}\mathrm dx}}\def\Odr{{\cal O}}\definecolor{ncol}{RGB}{217,51,43}\def\ncol#1{{\color{ncol}#1}}\definecolor{zcolor}{RGB}{196,77,132}\def\zcol#1{{\color{zcolor}#1}}\definecolor{thetacol}{RGB}{230,0,39}\def\thetacol#1{{\color{thetacol}#1}}\def\diff{\mathrm d}\def\kidb{\opcol{\mathrm db}}\def\kidx{\opcol{\mathrm dx}}\def\coldy{\ycol{\mathrm dy}}\def\coldtheta{\thetacol{\mathrm d\theta}}\def\ddtheta{\opcol{{\mathrm d\over\mathrm d\theta}}}\def\tcol#1{{\color{tcol}#1}}\def\coldt{\tcol{\mathrm dt}}\def\kidtheta{\opcol{\mathrm d\theta}}\def\dtwodx{\opcol{\diff^2\over\diff x^2}}\def\kokode#1{~~~~~~~{↓#1}}\def\goverbrace{\overbrace}\def\coldz{\zcol{\mathrm dz}}\def\kidt{\opcol{\mathrm dt}}\definecolor{rcol}{RGB}{206,114,108}\def\rcol#1{{\color{rcol}#1}}\def\coldtwox{\xcol{\mathrm d^2x}}\def\PDC#1#2#3{{\opcol{\left(\opcol{{\partial \kuro{#1}\over \partial #2}}\right)}}_{#3}}\def\PDIC#1#2#3{{\opcol{\left(\opcol{\partial \over \partial #2}\kuro{#1}\right)}}_{#3}}\def\PD#1#2{{{\partial \kuro{#1}\over \partial #2}}}\def\PPDC#1#2#3{{\opcol{\left(\opcol{\partial^2 \kuro{#1}\over \partial #2^2}\right)}}_{#3}}\def\PPDD#1#2#3{{\opcol{{\partial^2 \kuro{#1}\over \partial #2\partial #3}}}}\def\PPD#1#2{{\opcol{{\partial^2 \kuro{#1}\over \partial #2^2}}}}\def\kidy{\opcol{\diff y}}\def\ve{\vec{\mathbf e}}\def\colvecx{\xcol{\vec x}}\definecolor{usuopcolor}{RGB}{237,234,203}\def\usuopcol#1{\color{usuopcolor}#1}\def\vgrad#1{{\usuopcol{\overrightarrow{\opcol{\rm grad}~\kuro{#1}}}}}\def\dX{\rcol{\mathrm dX}}\def\dY{\thetacol{\mathrm dY}}\def\opdf{\opcol{\mathrm df}}\def\coldf{\tcol{\mathrm df}}\def\dtwof{\opcol{\mathrm d^2f}}\def\murasakidb{\zcol{\mathrm d b}}\def\ao{\ycol}\def\aodV{\ycol{\diff V}}\def\aka{\xcol}\def\akadm{\xcol{\diff m}}\def\gunderbrace{\underbrace}\def\ovalbox{\boxed}\def\kesi#1{\underbrace{#1}_{0}}\newcommand\dum[2][xcolor]{{\color{#1}{\scriptstyle #2}}}\newcommand\dml[2][xcolor]{\,\haiiro{\!\lceil}{\!\color{#1}#2}}\newcommand\dmr[2][xcolor]{{\color{#1}#2}\!\haiiro{\rfloor}\!}}$ $\def\tatevec#1{\boxed{#1}}\def\allc#1{\haiiro{\{}#1\haiiro{\}}}$ $\def\nagatatevec#1{\tatevec{\begin{array}{c}\\#1\\ \\\end{array}}}$ $\def\yokovec#1{\boxed{~~\left(#1\right)^t~~}}$ $\def\yokovectnashi#1{\boxed{#1}}$ $\def\nagayokovec#1{\boxed{~~~~~\left(#1\right)^t~~~~~}}$

「物理数学Ⅰ」2021年度講義録第8回

第1回のレポート提出、締切ました。後日採点して返却します。

前回の感想・コメントシートから

 前回の授業の「感想・コメント」の欄に書かれたことと、それに対する返答は、

にありますので見ておいてください。

 前回$N\times N$の行列の行列式と逆行列の作り方をやりました。今回はこれを使って連立一次方程式を解く話をやっていきます。

 以下の話の説明ビデオは↓

行列の基本変形

行に対する操作

 ここでせっかく行列を使う手法を考えたのだから、この問題を簡単にするにはどうすればよいかを考えていこう。行列ではなく式で考えていたときを思い出すと、 \begin{align} 第1行:&& M_{11}\xcol{x_1}+M_{12}\ycol{x_2}+\cdots +M_{1\sN}\zcol{x_\sN}=&A_1\\ 第2行:&& M_{21}\xcol{x_1}+M_{22}\ycol{x_2}+\cdots +M_{2\sN}\zcol{x_\sN}=&A_2\\ &&\vdots&\nonumber\\ 第{\scriptstyle M}行:&& M_{\sM1}\xcol{x_1}+M_{\sM2}\ycol{x_2}+\cdots +M_{\sM\sN}\zcol{x_\sN}=&A_\sM \end{align} という式を短く表現したのが

(さらに短く書くと$\mt{M}\xcol{\vec x}=\vec A$)である(ここでは行列が$M\times N$の場合を考える)。

我々はここから先で「方程式の持っている情報を失わないようにしつつ、式を簡単にする」ことを目標にする。情報を失うというのはつまり「計算している間に最初とは違う式を解いている」なんてことにならないようにする、ということである。失いたくない情報が何かによって我々が行える「変形」の範囲が変わってくる。

 ここで$\xcol{\vec x}$を求めようと計算するとき、「この式を足したり引いたり定数倍したりする」あるいは「変数を$\vec x$から別の変数に変える」のような操作を行った。その「操作」を行列で表現しよう。まず元の式に左から、逆行列が存在する正方行列$\mt{\cal L}$を掛けて

とする。このとき行列の掛け算の結果$\mt{\cal L} \mt{M}$が簡単になっていれば、目標に一歩近づいたことになる。

 ここで、$\mt{\cal L}$の逆行列が存在していることは重要だ。これは、を元の、に戻すことができる条件である。戻せないとしたら、それは式が持っていた情報を失ってしまったことになる。

列に対する操作

 もう一つの簡単化の手法として、$\xcol{\vec x}=\mt{\cal R}\thetacol{\vec X}$で定義される新しい変数を使うという方法がある(この$\mt{\cal R}$も逆行列が存在する正方行列)。すると$\thetacol{\vec X}=\mt{{\cal R}^{-1}}\xcol{\vec x}$になるので、

に変わる。実はここでやっていることは \begin{align} \mt{M}\gunderbrace{\mt{{\cal R}}\mt{{\cal R}^{-1}}}_{\mt{I}} \xcol{\vec x}=\vec A \end{align} のように、元の式の途中に単位行列を挟んだだけである。

 この計算でも、行列の掛け算の結果$\mt{M} \mt{{\cal R}}$が簡単になっていれば、目標に一歩近づいたことになる。合わせて、我々は問題を

という問題に変えることができた。後は「$\mt{\cal L}\mt{M}\mt{\cal R}$の部分をできるだけ簡単にする」方法を考える。

 以下で我々は$\mt{\cal L},\mt{\cal R}$を「基本変形」の組合せで表現するのだが、その基本変形の組合せを使うと、$\mt{M}$が逆行列を持つならば必ず、$\mt{\cal L}\mt{M}\mt{\cal R}$が単位行列になるようにできる。それができれば上の式は$\mt{{\cal R}^{-1}}\xcol{\vec x}=\mt{\cal L}\vec A$となり、両辺に$\mt{\cal R}$を掛けると \begin{align} \xcol{\vec x}=\mt{\cal R}\mt{\cal L}\vec A \end{align} のように$\xcol{\vec x}$が求められる(つまりは$\mt{\cal R}\mt{\cal L}=\mt{M^{-1}}$なのだ)。

基本変形

基本変形

 以下の話の説明ビデオは↓

基本変形

前項で考えた$\mt{\cal L}$と$\mt{\cal R}$は、どちらも逆行列が存在する(行列式が0ではない)行列ではなくてはいけない。 我々の目標である「簡単な行列による表現」を得るためには、以下で示すような「基本変形」の組合せで$\mt{\cal L},\mt{\cal R}$を表せば十分である。操作をいくつかの「単位」に分解することで計算を段階分けして行っていくことができる。 $\mt{\cal L}$で表現された変形の方は、以下の基本変形の組合せで表現する。
行基本変形
  • (1)ある行に別の行の定数倍を足す。
  • (2)ある行と別の行を交換する。
  • (3)ある行を定数倍する(0倍を除く)。

 「行基本変形」は「左基本変形」と呼ぶ場合もある。行基本変形は、方程式を定数倍したり線形結合を取ったりしているだけなので、「方程式の持つ情報を不変にする変形」だと考えればよい。

 $\mt{\cal R}$による変形は、以下の基本変形の組合せで表現できる。

列基本変形
  • ある列に別の列の定数倍を足す。
  • ある列と別の列を交換する。
  • ある列を定数倍する(0倍を除く)。

 「列基本変形」は「右基本変形」と呼ぶ場合もある。列基本変形は、「変数を変更する変形」である。

 これらが前にやった「行列式を不変にする変形」に似ていることは気づいただろう((1)の組合せで(2)が実現するのも同じである)。ただし、上の操作の(2)と(3)は行列式は変える操作であることに注意。列基本変形と行基本変形は、行列式を変えてもよい分だけ、「行列式を不変にする変形」よりも範囲が広い。

基本変形の行列による表現

 基本変形を行列で表現しておく。さいわい、行基本変形と列基本変形は同じ行列で表現可能である。

 まず、$\mt{T_{i\to j}}\kakko{\lambda}$という行列を \begin{align} \mt{T_{i\to j}}\kakko{\lambda}\equiv \mt{I}+\gunderbrace{ \mtx[c|ccc]{ &&{\scriptstyle j列}&\\ \hline &&\vdots&\\ {\scriptstyle i行}&\cdots&\lambda&\\ &&\\5 }}_{i行j列成分以外は0} \end{align} と定義しよう。

同じ$T$を使うが、「定数倍を足す」行列は添字を$i\to j$に、「交換する」行列は添字を$i\leftrightarrow j$に、「定数倍する」行列は添字を一つ$i$にすることで区別する。

 これを右から掛けると \begin{align} &\mtx[c@{\,}c@{\,}c@{\,}c@{\,}c@{\,}c@{\,}c]{\nagatatevec{\vec v_1}&\cdots&\nagatatevec{\vec v_i}&\cdots&\nagatatevec{\vec v_j}&\cdots&\nagatatevec{\vec v_N}} \left( \mt{I}+\gunderbrace{ \mtx[c|ccc]{ &&{\scriptstyle j列}&\\ \hline &&\vdots&\\ {\scriptstyle i行}&\cdots&\lambda&\\ &&\\ }}_{i行j列成分以外は0}5 \right)\nonumber\\ =&\mtx[c@{\,}c@{\,}c@{\,}c@{\,}c@{\,}c@{\,}c]{\nagatatevec{\vec v_1}&\cdots&\nagatatevec{\vec v_i}&\cdots&\nagatatevec{\vec v_j+\lambda \vec v_i}&\cdots&\nagatatevec{\vec v_N}} \end{align} となる。つまり$\mt{T_{i\to j}}\kakko{\lambda}$は「右から掛けると、$j$列めに$i$列めの$\lambda$倍を足すという作用をする」行列である(上の式は$i\lt j$の場合だが、$j\lt i$でも同様)。

 左から掛けると \begin{align} & \left( \mt{I}+\gunderbrace{ \mtx[c|ccc]{ &&{\scriptstyle j列}&\\ \hline &&\vdots&\\ {\scriptstyle i行}&\cdots&\lambda&\\ &&\\ }}_{i行j列成分以外は0} \right) \mtx[c]{\yokovec{\vec w_1}\\\vdots\\\yokovec{\vec w_i}\\\vdots\\\yokovec{\vec w_j}\\\vdots\\\yokovec{\vec w_\sM}} =\mtx[c]{\yokovec{~~~~\vec w_1~~~~}\\\vdots\\\yokovec{\vec w_i+\lambda\vec w_j}\\\vdots\\\yokovec{~~~~\vec w_j~~~~}\\\vdots\\\yokovec{~~~~\vec w_\sM~~~~}} \end{align} $\mt{T_{i\to j}}\kakko{\lambda}$は「左から掛けると、$i$行めに$j$行めの$\lambda$倍を足すという作用をする」行列である(上の式は$i\lt j$の場合だが、$j\lt i$でも同様)。

 「ピンと来ない」という人は$3\times3$あたりで実例を作ってみよう(自分で手で計算して納得することは重要!)。

 $\mt{T_{1\to 3}}\kakko{\lambda}=\mtx[ccc]{1&0&\lambda\\0&1&0\\0&0&1}$は、右から掛けると3列めに1列めの$\lambda$倍を足す行列であるとともに、左から掛けると1行めに3行めの$\lambda$倍を足す行列である。 \begin{align} \mtx[c@{\,}c@{\,}c]{A_{11}&A_{12}&A_{13}\\A_{21}&A_{22}&A_{23}\\A_{31}&A_{32}&A_{33}}\mtx[ccc]{1&0&\lambda\\0&1&0\\0&0&1}=&\mtx[ccc]{A_{11}&A_{12}&A_{13}+\lambda A_{11}\\ A_{21} &A_{22}&A_{23}+\lambda A_{21}\\A_{31}&A_{32}&A_{33}+\lambda A_{31}} \\ \mtx[ccc]{1&0&\lambda\\0&1&0\\0&0&1} \mtx[c@{\,}c@{\,}c]{A_{11}&A_{12}&A_{13}\\A_{21}&A_{22}&A_{23}\\A_{31}&A_{32}&A_{33}}=&\mtx[c@{\,}c@{\,}c]{A_{11}+\!\lambda A_{31}&A_{12}+\!\lambda A_{32}&A_{13}+\!\lambda A_{33}\\ A_{21} &A_{22}&A_{23}\\A_{31}&A_{32}&A_{33}} \end{align} と計算してみると、確かにそうなっている。

 容易に確認できるが、$\mt{T_{i\to j}}\kakko{\lambda}$には逆行列がある($\mt{T_{i\to j}}\kakko{-\lambda}$である)。

これもピンと来ないという人は、$\mtx[ccc]{1&0&\lambda\\0&1&0\\0&0&1}\mtx[ccc]{1&0&-\lambda\\0&1&0\\0&0&1}$を計算しよう。

 次に、以下の行列が「行または列を交換する」操作を表現する行列である。

$3\times3$の実例は、$\mt{T_{1\leftrightarrow 2}}=\mtx[ccc]{0&1&0\\1&0&0\\0&0&1}$で、 \begin{align} \mtx[ccc]{0&1&0\\1&0&0\\0&0&1} \mtx[c@{\,}c@{\,}c]{A_{11}&A_{12}&A_{13}\\A_{21}&A_{22}&A_{23}\\A_{31}&A_{32}&A_{33}}=\mtx[c@{\,}c@{\,}c]{A_{21}&A_{22}&A_{23}\\A_{11}&A_{12}&A_{13}\\A_{32}&A_{31}&A_{33}} \\ \mtx[c@{\,}c@{\,}c]{A_{11}&A_{12}&A_{13}\\A_{21}&A_{22}&A_{23}\\A_{31}&A_{32}&A_{33}} \mtx[ccc]{0&1&0\\1&0&0\\0&0&1} =\mtx[c@{\,}c@{\,}c]{A_{12}&A_{11}&A_{13}\\A_{22}&A_{21}&A_{23}\\A_{32}&A_{31}&A_{33}} \end{align} となって、左から掛けると行を入れ替え、右から掛けると列を入れ替える。

 $\mt{T_{i\leftrightarrow j}}$の逆行列は自分自身である。

 最後に、「行または列を定数倍する」を表現するのが以下の行列である。

 $3\times3$の実例は、$\mt{T}_{3}\kakko{\lambda}=\mtx[ccc]{1&0&0\\0&1&0\\0&0&\lambda}$で、 \begin{align} \mtx[ccc]{1&0&0\\0&1&0\\0&0&\lambda} \mtx[c@{\,}c@{\,}c]{A_{11}&A_{12}&A_{13}\\A_{21}&A_{22}&A_{23}\\A_{31}&A_{32}&A_{33}}=\mtx[c@{\,}c@{\,}c]{A_{11}&A_{22}&A_{33}\\A_{21}&A_{22}&A_{23}\\\lambda A_{31}&\lambda A_{32}&\lambda A_{33}} \\ \mtx[c@{\,}c@{\,}c]{A_{11}&A_{12}&A_{13}\\A_{21}&A_{22}&A_{23}\\A_{31}&A_{32}&A_{33}} \mtx[ccc]{1&0&0\\0&1&0\\0&0&\lambda} =\mtx[c@{\,}c@{\,}c]{A_{11}&A_{12}&\lambda A_{13}\\A_{21}&A_{22}&\lambda A_{33}\\A_{32}&A_{31}&\lambda A_{33}} \end{align} となって、左から掛けると行を定数倍し、右から掛けると列を定数倍する。

 $\mt{T_{\it i}}\kakko{\lambda}$の逆行列は$\mt{T_{\it i}}\kakko{1\over \lambda}$である。

 (4)も同様である。

前回の感想・コメントシートから 基本変形による行列の簡略化

基本変形による行列の簡略化

 以下の話の説明ビデオは↓

行列の簡略化の方法

 以上で考えた基本変形を次々と行なうことにより、任意の$M\times N$行列を(行列の持っている情報を失わないままに)

の形にまで変形することができる。

最終結果の行列を$\mt{I^{(r)}_{\it M,N}}$という記号で表現することにしよう。この記号の意味は「$M\times N$行列で、そのうち$r\times r$の部分が単位行列で、残りは全部0」ということである。

 このとき行なう操作は「行列を不変にする変形」のときと同様に、以下のようにする。

行・列基本変形を使って行列を可能な限り簡単にする

 行列を$\mtx[c|cc]{A_{11}&A_{12}&\cdots\\ \hline A_{21}& &\\[-2mm] \vdots&&}$のように、1行めと1列めを分けて考える。

  • (1) $A_{11}$が0でなかったら、行と列を適当に交換して0でないようにする。行列の全成分が0ならそれはできないが、それなら「行列を簡単にする」という目標はすでに達成されているので、ここで終了する。
  • (2) 第1行を$-{A_{i1}\over A_{11}}$したものを第$i$行に足す。第1列を$-{A_{1i}\over A_{11}}$倍したものを第$j$列に足す。
  • (3) 第1行を$A_{11}$で割る。
  • (4) 残った$(M-1)\times(N-1)$行列の部分について、(1)からの操作を繰り返す。

 つまり \begin{align} \mtx[c|cc]{A_{11}&A_{12}&\cdots\\ \hline A_{21}& &\\[-2mm] \vdots&&}{操作(2)\atop\longrightarrow}\mtx[c|cc]{A_{11}&0&\cdots\\ \hline 0& &\\[-2mm] \vdots&&} {操作(3)\atop\longrightarrow}\mtx[c|cc]{1&0&\cdots\\ \hline 0& &\\[-2mm] \vdots&&} \end{align} のように操作していくが、最後の行または列までやりきるか、残りが零行列になると終わるので、最終結果は上の式になる。

 つまり基本変形を繰り返すことで行列を「単位行列の部分」と「成分が0の領域」を持った行列に直せる。

 この形にするまでに列基本変形(変数の取替)も行っているならば、問題が

のように変わったということである。ただし、$M-r$や$N-r$は0になることもある(そのときは上の行列の該当する区画が存在しない)。$M=N=r$が成り立つ場合は、結果は単位行列である。

 この式はつまり$\xcol{\vec X_1}=\vec A'_1$と$\vec 0=\vec A'_2$ということになる。もし計算の結果である$\vec A'_2$が$\vec 0$でないのなら、この方程式には解がない。首尾よく$\vec 0=\vec A'_2$が成り立っていたなら、$\xcol{\vec X_1}=\vec A'_1$で、$\xcol{\vec X_2}$は任意(どんなベクトルでも方程式が成立してしまう)ということになる。

$\def\divergence{{\rm div}~}$

 昔から連立方程式を解いてきた経験からして「変数の数と式の数が一致すれば問題は解ける」ということを知っていると思う。方程式の集まりをと書いた場合、変数が$N$個に対してその変数を決めるための式を$M$本与えていることになる。では$M=N$なら解けるかというとそうではなく、たとえ行列が$N\times N$でも、階数$r$が$N$より少ない場合は解がなくなったり逆に任意な部分ができたりすることがある。これは「式が$M$本あるように見えても、独立でない式が紛れ込んでいると使える式はその分少ない(本当は使える式は$r$本しかない)」と考えればよい。

 なお、こんなこと(式の数と変数の数が一致しない)は物理に現れるのか?---というと、たとえば電磁気学の基本方程式であるMaxwell方程式はその例である。Maxwell方程式の変数は(簡単のため真空中で考えると)電場$\vec E$と磁束密度$\vec B$で合計6個であるが、方程式は$\divergence \vec E=0,\divergence\vec B=0,{\rm rot}~\vec E=-{\partial\vec B\over \partial t},{\rm rot}~\vec B=-\mu_0\epsilon_0{\partial \vec E\over\partial t}$の8本である(後ろの二つはベクトルの式なので3本と数える)。実はこの8本の方程式は独立ではない。

厳密には空間の各点々々に$\vec E,\vec B$はいるので、変数の数は$6\times\infty$である。また、方程式は微分を含むので単純に行列のように考えるわけにはいかない。ここでの話は雰囲気だけをつかんでおいてほしい。

 なお、Maxwell方程式には「ベクトルポテンシャル$A_\mu$で書いたバージョン」もあるが、その場合は変数と式の数はどちらも4で一致している。ところがこの場合の「行列」(微分演算子を含むので単純な行列ではないが)の階数が3であるため、変数である$A_\mu$の一部が決まらず任意になる(これが「ゲージ不変性」であり、現代物理では非常に重要な概念である)。

基本変形 基本変形による簡略化の唯一性

基本変形による簡略化の唯一性

-
 以下の話の説明ビデオは↓

 $\mt{I^{(r)}_{M,N}}$にたどり着く計算方法は一つではないが、どのような方法を使っても最後は同じ行列にたどり着く。つまり、$\mt{\cal L}\neq\mt{\cal L'},\mt{\cal R}\neq\mt{\cal R'}$である行列に対して

が共に成り立つならば、$r=r'$である。これは以下のようにして証明される。

 もしこの二つが同時に成り立つならば、$\mt{I^{\it (r)}_{\it M,N}}$と$\mt{I^{\it (r')}_{\it M,N}}$が基本変形でつながる。具体的には、上の関係から$\mt{M}=\mt{{\cal L}^{-1}}\mt{I^{(\it r)}_{\it M,N}}\mt{{\cal R}^{-1}}$が言えるので、

 すなわち \begin{align} \mt{\cal L'}\mt{{\cal L}^{-1}}\mt{I^{\it (r)}_{\it M,N}}\mt{{\cal R}^{-1}}\mt{\cal R'}=&\mt{I^{\it (r')}_{\it M,N}} \end{align} である。$r\lt r'$と仮定しよう(後で$r=r'$だとわかるのだが)。$r'\lt r$の場合は以下の逆をやればよい。

 ここで、

のように二つの行列を行を$r$行と$r$列の部分を切り出して四つに分けて表現したとしよう。すると、 \begin{align} \mt{\cal L'}\mt{{\cal L}^{-1}}\mt{I^{\it (r)}_{\it M,N}}\mt{{\cal R}^{-1}}\mt{\cal R'} =& \mtx{{\cal A}&{\cal B}\\ {\cal C}& {\cal D}}\mtx{\mt{I_{\it r'}}&\mt{0}\\ \mt{0}&\mt{0}}\mtx{{\cal E}&{\cal F}\\ {\cal G}& {\cal H}} \nonumber\\ =& \mtx{{\cal A}&0\\ {\cal C}&0}\mtx{{\cal E}&{\cal F}\\ {\cal G}& {\cal H}} \nonumber\\ =& \mtx{{\cal A}{\cal E}&{\cal A}{\cal F}\\ {\cal C}{\cal E}&{\cal C}{\cal F}} \end{align} となるが、この結果は$\mt{I^{(\it r')}_{\it M,N}}$であり$r\lt r'$と仮定していたから、${\cal C}{\cal E}$の部分まで「1」がはみ出していることになる。

 以上から、 \begin{align} \begin{array}{rl|rl} {\cal A}{\cal E} =&\mt{I_{\it r}} &{\cal A}{\cal F} =&\mt{0}_{r,N-r} \\ \hline {\cal C}{\cal E}=&\mt{0}_{M-r,r}&{\cal C}{\cal F}=&\mt{I^{(\it r'-r)}_{\it M-r,N-r }} \end{array} \end{align} という四つの式が出てくる。左上の部分から、${\cal A}$と${\cal E}$は互いの逆行列になっている。この二つの行列に逆行列が存在するということは、${\cal C}{\cal E}=\mt{0}_{M-r,r}$から${\cal C}=\mt{0}_{M-r,r}$が言え、${\cal A}{\cal F} =\mt{0}_{r,N-r}$から${\cal F} =\mt{0}_{r,N-r}$が言える。ということは${\cal C}{\cal F}=\mt{0_{\it M-r,N-r}}$になるが、上の式からこれは$\mt{I^{(\it r'-r)}_{\it M-r,N-r }}$と一致しなくてはいけないから、$r=r'$でなくてはいけない。

 こうして$r$という数字は行列が決まれば一つに決まる数であることがわかった。なのでこれを行列の関数と考えて$\rank\mt{M}$のように書く。

基本変形による行列の簡略化 行基本変形だけによる変形

行基本変形だけによる変形

 以下の話の説明ビデオは↓

 さてここでやったことをまとめると、 \begin{align} \mt{M}\xcol{\vec x}=&\vec A\\ (↓基本変形を繰り返して)&\nonumber\\ \gunderbrace{ \mt{\cal L}\mt{M}\mt{\cal R}}_{\mt{I^{\it (r)}_{\it r,r}}}\gunderbrace{\mt{{\cal R}^{-1}}\xcol{\vec x}}_{\xcol{\vec X}}=&\gunderbrace{\mt{\cal L}\vec A}_{\vec A'} \end{align} ということになる。

行基本変形だけでどこまで簡略化できるか

 列基本変形を行うと「変数の取り直し」が起こる。それが嫌な場合に、行基本変形だけでできる限り簡単にする操作は以下の通りである。

行基本変形を使って行列を可能な限り簡単にする
  • (1) 行列が$\mtx[c|cc]{0&A_{12} &\cdots\\[-2mm] \vdots&\vdots&\\[-2mm]0&A_{\sM 2}&\cdots}$のように、1列めがすべて0なら、1列めを取り除いた部分について考えることにする。取り除いた結果行列がなくなれば、(6)へ進む。
  • (2) すでに(1)をやったので、今考えている行列は1列目の成分$A_{1*}$がすべて0であることはない。$A_{11}$が0でなかったら、行を適当に交換して0でないようにする(以下で「$A_{11}$で割る」という操作ができるように)。
  • (3) 第1行を$-{A_{i1}\over A_{11}}$したものを第$i$行に足す。
  • (4) 第1行を$A_{11}$で割る。これで$\mtx[c|cc]{1&*&\cdots\\ \hline 0& &\\[-2mm] \vdots&&}$の形になるから、1行目と1列目を取り除く。
  • (5) 取り除いた結果行列がなくなれば、(6)へと進む。なくならないなら、残った行列の部分について、(1)からの操作を繰り返す。
  • (6) 最後の列までやり終わると、行列は以下に示すような形になる。 $$ \mtx[ccccccccccc]{ 1&*&*&*&*&\cdots&*&*&*\\ 0&1&*&*&*&\cdots&*&*&*\\ 0&0&0&1&*&\cdots&*&*&*\\ 0&0&0&0&1&\cdots&*&*&*\\ \vdots&\vdots&\vdots&\vdots&\vdots&&\vdots&\vdots&\vdots\\ 0&0&0&0&0&\cdots&0&1&*\\ 0&0&0&0&0&\cdots&0&0&0\\ \vdots&\vdots&\vdots&\vdots&\vdots&&\vdots&\vdots&\vdots\\ 0&0&0&0&0&\cdots&0&0&0\\ } $$
  • (7) 各列の一番下が1になっている行については、その行の定数倍を上の行に足すことで、そこより上の成分を0にできる。上の例の倍、結果は以下のようになる。 $$ \mtx[ccccccccccc]{ 1&0&*&0&0&\cdots&*&0&*\\ 0&1&*&0&0&\cdots&*&0&*\\ 0&0&0&1&0&\cdots&*&0&*\\ 0&0&0&0&1&\cdots&*&0&*\\ \vdots&\vdots&\vdots&\vdots&\vdots&&\vdots&\vdots&\vdots\\ 0&0&0&0&0&\cdots&0&1&*\\ 0&0&0&0&0&\cdots&0&0&0\\ \vdots&\vdots&\vdots&\vdots&\vdots&&\vdots&\vdots&\vdots\\ 0&0&0&0&0&\cdots&0&0&0\\ } $$

 (6)の段階の行列について少し説明を加えておくと、この行列は以下のような性質を持つ行列になっている。

 この結果を見ると、行基本変形だけを使うことで、行列を構成するベクトルのうち何本かを$\vec0$にできる可能性がある。我々の目的の一つは「行ベクトルのうち何本が独立か?」を見極めることにあった。$\vec 0$はもちろん「独立なベクトル」から外れる。では残ったベクトルはすべて独立か?---「他のベクトルを足してこのベクトルは作れるか?」と問うことでその結果がわかる。今の行基本変形の結果の行ベクトルを見ると、左から見ていって最初に「1」が現れる列で、0でないベクトルはそれ自身しかない。ということは他のベクトルのどんな線形結合を作っても、このベクトルはできない。

 よって、上の手順の中で着目成分をたどっていった中にあった「1」の個数が独立な行ベクトルの数であり、つまりは階数である。

 こうして、行基本変形を使って「独立な行ベクトルの数」を数える方法がわかった。

独立な行ベクトルの数と独立な列ベクトルの数

 前項で行った「行基本変形による簡略化」と同様に「列基本変形による簡略化」が実行できる(すべて行と列を転置して同じ操作を行えばよい)。よって、列基本変形を使って「独立な列ベクトルの数」も数えられる。

 この二つの数が等しいことはすぐにわかる。我々は同じ行列から出発して

という経路をたどって行列を簡略化できることを知った。この二つの結果が同じでなかったら、前に示した「基本変形の結果は途中経過によらない」に反するから、$r=r'$でなくてはいけない。すなわち \begin{align} \boxed{ \begin{array}{l} 行列に含まれる\\ 行ベクトルのうち、\\ 独立なものの本数 \end{array} }=\boxed{ \begin{array}{l} 行列に含まれる\\ 列ベクトルのうち、\\ 独立なものの本数 \end{array} } \end{align} が任意の行列に対して言える。この数を行列の階数と呼び、$\rank\mt{M}$で表現するわけである。

ここまで考えてきたことから、以下のようなことが言える。

階数最大の行列

 $N\times N$行列の階数が$N$に等しいとき、この行列は行基本変形だけでも(あるいは、列基本変形だけでも)単位行列に変形することができる。また、この行列は逆行列を持つ。逆に階数が$N$より小さいと、逆行列は存在しない。

 階数が$N$のときは上で考えた「着目点」に「1」だけが並ぶことになるから、単位行列にできることはすぐわかる。逆行列を持つことは後で逆行列を求める計算方法をやるので、そこで確実にわかるだろうが、ここまでの段階でも、「$N\times N$行列の階数$N$ならその行列は情報を失わない」ということは納得できる。

基本変形による簡略化の唯一性 行基本変形だけを使って方程式を解く

行基本変形だけを使って方程式を解く

 $3\times3$の場合で、以下で説明している計算をやるアプリがあるのでやってみて欲しい。やりながら、 下の説明も読んでおくこと。  アプリの説明ビデオはアプリのページの方につけた。
いろんな場合を解いてみて、感じを掴んでみて欲しい。

 ここで$\mt{\cal R}$による列基本変形は使わなかったとすると、 \begin{align} \mt{M}\xcol{\vec x}=\vec A~~(行基本変形を繰り返して\longrightarrow)\mt{\cal L}\mt{M}\xcol{\vec x}=\mt{\cal L}\vec A \end{align} と計算をしたことになる。ここでは、$\mt{M}$にも$\vec A$にも「左から$\mt{\cal L}$を掛ける」という単一の操作を行っている。そこで、 \begin{align} & \mtx[cccc|c]{ M_{11}&M_{12}&\cdots&M_{1N}&A_1\\ M_{21}&M_{22}&\cdots&M_{2N}&A_2\\ \vdots&\vdots&\ddots&\vdots&\vdots\\ M_{M1}&M_{M2}&\cdots&M_{MN}&A_M\\ }\nonumber\\ &~~~\gunderbrace{\phantom{\begin{array}{cccc}M_{11}&M_{12}&\cdots&M_{1N}\end{array}}}_{\mt{M}の部分}\phantom{abcde} \gunderbrace{\phantom{A_M}}_{\vec Aの部分} \end{align} のような「係数拡大行列」を作ってこれに行基本変形を行っていけばよい。「$\mt{M}\xcol{\vec x}=\vec A$から$\mt{\cal L}\mt{M}\xcol{\vec x}=\mt{\cal L}\vec A$へ」という変形は係数拡大行列に$\mt{\cal L}$を掛けるという一つの動作で表現できることになる。

 「行列$\mt{\cal L}$を掛ける」という動作は結局「行基本変形する(およびその繰り返し)」という操作だから、まじめに行列計算をしなくても基本変形を繰り返せばいいのである。

 たとえば \begin{align} \xcol{x}-3\zcol{z}=&2\\ -4\xcol{x}+2\ycol{y}+4\zcol{z}=&4\\ 4\xcol{x}+3\ycol{y}-2\zcol{z}=&4 \end{align} という連立方程式の係数拡大行列 \begin{align} \mtx[ccc|c]{ 1&0&-3&2\\ -4&2&4&4\\ 4&3&-2&4 } \end{align} は、行基本変形だけを使うと \begin{align} \mtx[ccc|c]{ 1&0&0&-1\\ 0&1&0&2\\ 0&0&1&-1 } \end{align} に変形でき、$\xcol{x}=-1,\ycol{y}=2,\zcol{z}=-1$と答えが決まる。

 しかし、いつも単位行列にできるとは限らない(階数が3より小さい場合が有り得る)。たとえば係数拡大行列 \begin{align} \mtx[ccc|c]{ 1&3&-1&2\\ 2&6&1&4\\ 3&9&-5&4 } \end{align} は、行基本変形を使って \begin{align} \mtx[ccc|c]{ 1&3&0&2\\ 0&0&1&0\\ 0&0&0&-2 } \end{align} に変形できる。これは方程式が \begin{align} \xcol{x}+3\ycol{y}=2,~~\zcol{z}=0,~~0=-2 \end{align} になった、ということである。最後の式$0=2$は絶対に成立しないから、この方程式は「解なし」である。

 ちょっと定数を変えて$\mtx[ccc|c]{1&3&-1&2\\2&6&1&7\\3&9&-5&4}$にすると結果は$ \mtx[ccc|c]{1&3&0&3\\0&0&1&1\\0&0&0&0}$になる。この場合は方程式が \begin{align} \xcol{x}+3\ycol{y}=3,~~ \zcol{z}=1,~~,0=0 \end{align} となる。この場合は最後の式は$0=0$という当たり前の式となる。$\zcol{z}=1$と決まったが、$\xcol{x},\ycol{y}$は$ \xcol{x}+3\ycol{y}=3$を満たすペアならなんでもよい(一つに決まらない)。$3\times3$行列なのに階数が2であることは、このように「答えがちゃんと決まらない」ことを示しているのである。

行基本変形だけによる変形 正方行列の逆行列を求める

正方行列の逆行列を求める

 $3\times3$の場合で、以下で説明している逆行列の求め方のアプリがあるのでやってみよう。アプリを使いながら、下の説明も読んでおいてください。  アプリの説明ビデオはアプリのページの方につけた。

 $\mt{M}$にユニークな逆行列が存在する場合、行基本変形だけで$\mt{\cal L}\mt{M}$を単位行列にすることができる。つまり、$\mt{\cal L}$が$\mt{M}$の逆行列である。$\mt{\cal L}=\mt{\cal L}\mt{I}$なので、「$\mt{M}$に対して行なう行基本変形と同じ変形を$\mt{I}$に対して行った結果が$\mt{\cal L}$だ」と考えることができる。

 $3\times3$行列$\mt{M}$の場合、右に単位行列を付け加えて$3\times6$行列 \begin{align} \mt{M_{拡大}}=& \mtx[ccc|ccc]{a&b&c&1&0&0\\d&e&f&0&1&0\\g&h&i&0&0&1}\nonumber\\ &~~\gunderbrace{\phantom{\begin{array}{ccc}a&b &c\end{array}abcd}}_{\mt{M}の部分} \end{align} を作り、これに適切な行基本変形を繰り返せば \begin{align} \mt{\cal L}\mt{M_{拡大}}=& \mtx[ccc|ccc]{1&0&0&A&B&C\\0&1&0&D&E&F\\0&0&1&G&H&I}\nonumber\\ &~~\phantom{\begin{array}{ccc}a&b &c\end{array}}~~\gunderbrace{\phantom{\begin{array}{ccc}A&B &C\end{array}abcd}}_{\mt{M^{-1}}の部分} \end{align} にすることができる。もちろん任意の$N\times N$行列でこの操作は可能である(逆行列がない場合はもちろんだめだが)。

 例を一つ書いておく。 \begin{align} &\mtx[ccc|ccc]{1&1&1&1&0&0\\-2&-1&1&0&1&0\\1&-2&-2&0&0&1}&&\kokode{1行めの2倍を2行めに足し、1行めを3行めから引く}\nonumber\\ &\mtx[ccc|ccc]{1&1&1&1&0&0\\0&1&3&2&1&0\\0&-3&-3&-1&0&1}&&\kokode{2行めの3倍を3行めに足し、2行めを1行めから引く}\nonumber\\ &\mtx[ccc|ccc]{1&0&-2&-1&-1&0\\0&1&3&2&1&0\\0&0&6&5&3&1}&&\kokode{3行めの{1\over 3}倍を1行めに足し、3行めの{1\over 2}を2行めから引く}\nonumber\\ &\mtx[ccc|ccc]{1&0&0&{2\over 3}&0&{1\over 3}\\[2mm]0&1&0&-{1\over 2}&-{1\over 2}&-{1\over 2}\\[2mm]0&0&6&5&3&1}&&\kokode{3行めを{1\over 6}倍する}\nonumber\\ &\mtx[ccc|ccc]{1&0&0&{2\over 3}&0&{1\over 3}\\[2mm]0&1&0&-{1\over 2}&-{1\over 2}&-{1\over 2}\\[2mm]0&0&1&{5\over 6}&{1\over 2}&{1\over 6}}&& \end{align} 「どのような操作をした結果$\mt{M}$が単位行列になったか」という情報が、右半分の(もともと単位行列だった)領域に書き込まれていくわけである。その操作を表現する行列こそが、$\mt{M^{-1}}$である。

 今日の授業最後の2ページでは「計算問題をランダムに出してくれるアプリ」を二つ紹介したので、ぜひ皆さんやってみて、手計算でやったりアプリで計算させたりしながら「方程式の解き方」「逆行列の求め方」を実感してください。できあがった逆行列が本当にそうなっているのか検算するとか、いろいろやってみるといいですよ。

 以上で第8回の授業は終わりです。webClassに行って、アンケートに答えてください。

物理数学I webclass

この感想・コメントシートに書かれたことについては、代表的なものに対しては次のページで返答します。

 なお、webClassに情報を載せていますが、木と金の11:50〜12:50の間、オンラインオフィスアワーとしてzoomを開いてます。質問や相談などがある人は来て話してください。

なお、テキストのPDF版はこちらです。
行基本変形だけを使って方程式を解く 受講者の感想・コメント

受講者の感想・コメント

行列式を簡単にするためにあえて行列をかけるという動作が面白いと感じた またあまり深く考えてはいなかったけど、行列式は左からかけると行に影響し、右からかけると列に影響するということが分かった。
左から掛ける、右から掛けるがどう影響し、つまりはそれは今考えている問題に対して何をしているのか、というところを実感してください。
アプリを使用して基本変形だけで連立方程式を解いたり逆行列を求めることができて、計算がとても楽だったことに感動しました。最初の頃は行列式って面倒くさそうというイメージだったけど、基本変形のやり方を知ってから少し好きになりました。
行列は実は「計算を楽にしてくれる味方」なのです。
今回の授業では行基本変形と列基本変形について学びました。また、実際にそれを使ってx,y,zの値を求めたり逆行列を求めることによってこの変形を使って何を求めるのか、どのように使えばよいかの実感を得る事ができ、この変形を理解することが出来ました。
「何がしたいか」「何ができるか」という部分がとても大事(数学を学ぶための原動力)です。
 普通に解くととても大変なN個の連立方程式を、行列を用いることでここまで簡単に表すことができるということに、行列の便利さと面白さを実感することができました。ただ、行列が複雑になるほど、r×rの単位行列への変換も難しくなるので、そこは自分で何回もアプリで練習してできるようにしたいと思います。
行列というのは結局は「人間が楽をするために作ったもの」なので、いかに楽になるかを実感して、納得して使っていってください。
行列式を不変にする変形の時とは違い、行列の基本変形で定数倍しているがいいのだろうかと思ったが、方程式を定数倍したり線形結合をとっているだけで、方程式の情報は不変になっているだけで計算するときには特に問題ないのだなと思った。しかし、不変にするときとそうでないときとで使える場面が違うことは、それぞれの性質を理解したうえで気を付けなければいけないと感じた。
「私は何をやっているのか」を実感しながら計算していくことが大事ですね。
思ったよりも方程式が解けなくて驚きました。 もう少し挑戦してみます。 アプリで実際に手を動かして考えることができるので とても良かったです。
実際に自分でやってみること(アプリでもいいしノートにでもいい)は大事です。それで頭の中に「計算の流れ」を作ってください。
今回の講義内容はよく理解できて、やっぱり数学は面白いなあと思った。 Ti→j(λ)を「右から掛けるとj列目にi列目のλ倍を足すという作用をする」、「左から掛けるとi列目にj列目のλ倍を足す作用をする」というのを、本当にそうなるか心の中で考えてみて、時間はかかったが、確かにそうなると確信した。 理解力や考える力というのは、こういうふうにして磨かれていくのではないかと思った。いやそもそも、時間を忘れて一片のごまかしもない確信を求める行為こそが「考える」ということではなかったか。そうして、「考える」ということを忘れつつあるということにハッと気が付いた。 しかし今は課題などで時間が惜しいので、難しいところである。
自分で「何を計算し、何を得ているか」を実感し納得しながら計算していくということは絶対に必要なので、そこを「体験」していくようにしましょう。
正方行列の逆行列を求める