行列の計算
A は「よこに2倍のばす」、B は「ななめの線で折り返す」を表す行列です。のばしてから折り返すのと、折り返してからのばすのでは、行き先が変わります。
行列 A
行列 B
入れた数はこの画面の中だけで計算します。 分数(3/4 のような書き方)も、小数も、そのまま入れられます。
かけ算 ── 順番を変えると答えが変わります
A×B と B×A はちがいます
同じ2つの行列なのに、掛ける順番を変えると別の答えになりました。数の掛け算では 3×5 も 5×3 も 15 ですが、行列ではこちらがふつうです。
A × B
点を動かす行列として読むと「先に B、あとから A」の順に動かしたもの
途中の式
- 1行1列目 : 2 × 0 + 0 × 1 = 0
- 1行2列目 : 2 × 1 + 0 × 0 = 2
- 2行1列目 : 0 × 0 + 1 × 1 = 1
- 2行2列目 : 0 × 1 + 1 × 0 = 0
B × A
こちらは「先に A、あとから B」。同じ2つでも順番が逆になる
途中の式
- 1行1列目 : 0 × 2 + 1 × 0 = 0
- 1行2列目 : 0 × 0 + 1 × 1 = 1
- 2行1列目 : 1 × 2 + 0 × 0 = 2
- 2行2列目 : 1 × 0 + 0 × 1 = 0
行列式と逆行列
いま見ているのは行列 A(2行2列)です。
行列式
左上×右下 − 右上×左下
- + 2 × 1 = 2
- − 0 × 0 = 0
行列式 = 2
逆行列
行列式が 2 で 0 以外なので、逆行列があります。2行2列では、左上と右下を入れかえ、右上と左下の符号を変えてから、行列式で割ります。
入れかえて符号を変えたところ
これを 2 で割ると
検算:もとの行列と掛けてみる
対角線に1が並び、ほかは0 ── 単位行列にぴったり戻りました。 このページは分数のまま計算しているので、ここに 0.9999… のような端数は出ません。
足し算
足し算は同じ位置どうしを足すだけです。掛け算と違って、順番を変えても答えは変わりません。
計算は分数(分子と分母の整数)のまま行うので、途中で誤差は出ません。画面に小数で出すときだけ小数第4位で四捨五入し、そこで0になってしまう小さい値は有効数字4桁に切り替えます。
よくある質問
行列の掛け算は、なぜ順番を変えると答えが変わるのですか?
行列の掛け算は「操作を続けてやること」を表していて、操作は順番を変えると結果が変わるからです。たとえば「よこに2倍のばす」と「ななめの線で折り返す」を続けてやるとき、先にのばしてから折り返すと点(1,0)は(0,2)へ行き、先に折り返してからのばすと(0,1)へ行きます。折り返したあとでは「よこ」が指す向きが変わってしまうためです。靴下と靴を履く順番を入れ替えられないのと同じことです。
A×B は計算できるのに B×A は計算できない、ということはありますか?
あります。掛け算ができるのは、左の行列の列の数と右の行列の行の数が同じときだけです。たとえば A が1行2列、B が2行2列なら、A×B は2と2で合うので計算できますが、B×A は2と1で合わないので計算できません。どちらも計算できる場合でも、A が2行3列、B が3行2列なら A×B は2行2列、B×A は3行3列になり、答えの大きさが変わります。
3行3列の行列も計算できますか?
できます。1行1列から4行4列までを扱えます。行列式は、3行3列なら右下がりの3本を足して右上がりの3本を引くサラスの方法、4行4列なら1行目にそって1つ小さい行列式に分ける余因子展開で求め、どちらも途中の項をぜんぶ画面に出します。逆行列も同じ範囲で出せます。
行列式が0だと、なぜ逆行列が無いのですか?
逆行列を求める式は、最後に行列式で割るからです。0では割れないので、そこで作れなくなります。意味のうえでは、2行2列なら、その行列を係数に持つ2本の直線が平行になっている(またはぴったり重なっている)ということです。平行なら交わる点が1つもなく、重なっているなら交わる点が無数にあります。どちらにしても答えを1点に決められないので、答えを1つに戻す相手が存在しません。
行列式が0のときに0を返さないのはなぜですか?
0を返すと「逆行列の中身がすべて0である」という別の意味になってしまい、逆行列が存在しないという事実が画面から消えるからです。このページは、決まらないものには決まらないと書き、なぜ決まらないかを出します。どの行がほかの行から作れてしまっているか(たとえば2行目が1行目の2倍であること)も一緒に出しています。
小数を入れても正しく計算できますか?
できます。このページは入力を分数(分子と分母の整数)に直してから計算するので、途中で誤差が出ません。小数のまま計算すると、0.1×0.9−0.3×0.3 のように答えが0になるはずの計算が0になりません。この差は「逆行列がある・ない」の判定を逆にしてしまいます。画面に小数で出すときだけ小数第4位で四捨五入し、そこで0になってしまう小さい値は有効数字4桁に切り替えています。
行列は高校で習いますか?
高等学校学習指導要領(平成30年告示)の数学Cに「日常の事象や社会の事象などを、離散グラフや行列を用いて工夫して表現することの意義を理解すること」とあります。ただし数学Cは内容の(1)から(3)までの中から適宜選択させる科目と定められているので、学校や生徒によって扱いは変わります。逆行列まで扱うと明記されているのは、理数科の科目「理数数学特論」の「行列とその応用」です。ここでは「行列の表し方や演算、行列の積と逆行列、行列を用いた連立一次方程式の解法及び点の移動を扱うこと」と書かれています。
足し算・掛け算・行列式・逆行列を、途中の式ごと出します。A×B と B×A を並べて計算するので、 掛ける順番で答えが変わるところが見えます。
数の掛け算と違って、順番を変えると答えが変わります
数の掛け算は、3×5 も 5×3 も 15 です。順番はどうでもいい。 ところが行列はそうなりません。同じ2つを掛けても、 どちらを先にするかで別の答えが出ます。ここがこのページのいちばんの見どころです。
なぜかというと、行列の掛け算は「操作を続けてやること」を表しているからです。 上の道具に最初から入っている例で言うと、A は「よこに2倍のばす」、 B は「ななめの線(右上がりの45度の線)で折り返す」という操作です。
右へ1つ進んだ点、つまり (1, 0) がどこへ行くかを追いかけてみます。
- 先に折り返してから、のばす: (1, 0) は折り返して (0, 1) になります。 ここは「よこ」の値が0なので、よこに2倍しても動きません。 行き先は(0, 1)。
- 先にのばしてから、折り返す: (1, 0) はのびて (2, 0)。 これを折り返すと (0, 2)。 上に2つ進んだところです。
行き先が違います。なぜかというと、折り返したあとでは「よこ」が指す向きが変わっているからです。 のばす操作は「よこ」を2倍にするので、その「よこ」が入れ替わっていれば、 のびる方向も入れ替わります。
身近な言い方をすると、靴下と靴です。靴下をはいてから靴をはくのと、 靴をはいてから靴下をはくのでは、まったく違う結果になります。 行列の掛け算は、この「順番のある動作」を数で書いたものなので、入れ替えられないのが自然なのです。
計算できるかどうかも、順番で変わります
掛け算ができるのは、左の行列の「列の数」と、右の行列の「行の数」が同じときだけです。左の1行ぶんと右の1列ぶんを、先頭から順に掛けて足していくので、並ぶ数の個数が同じでないと相手のいない数が出てしまうからです。
だから、A×B は計算できるのに B×A は計算できないということが起きます。 両方できる場合でも、A が2行3列・B が3行2列ならA×B は2行2列、B×A は3行3列で、 中身をくらべる前に入れものの形が変わっています。 このツールは「計算できません」で止めずに、どの数字とどの数字が合っていないかを必ず書きます。
掛けると0になるのに、順番を変えると0にならない
もうひとつ、数では起きないことがあります。0でないもの同士を掛けて、0になることがあるのです。 上の道具の「掛けると0になる」の例がそれで、 A も B も0だらけではないのに、A×B は全部0になります。ところがB×A は0になりません。 0になるかどうかまで、順番で変わってしまいます。
行列式が0だと、逆行列はありません
逆行列というのは、掛けると単位行列に戻る相手のことです。 単位行列は、ななめに1が並んでほかは0の行列で、何に掛けても相手を変えないので、数でいう1にあたります。 だから逆行列は、数でいう「割り算」にあたるものです。
ところが、この相手が存在しないことがあります。目印になるのが行列式という1つの数で、これがちょうど0のとき、逆行列はありません。 逆行列を求める式は最後に行列式で割るので、0では割れないからです。
「2本あるように見えて、実は1本ぶん」ということ
連立方程式で見ると、何が起きているかがはっきりします。
x + 2y = 3
2x + 4y = 6
左の数だけ取り出すと、1, 2, 2, 4 が並ぶ2行2列の行列になります。 行列式は 1×4 − 2×2 でちょうど0です。 よく見ると下の式は上の式を2倍しただけで、2本あるように見えて、言っていることは1本ぶんしかありません。 だから x と y の組は1つに決まらず、無数にあります。
x + 2y = 3
2x + 4y = 7
今度は下だけ数字を変えました。するとどこまで行っても交わらない2本の平行な直線になり、 答えは1つもありません。 左の数は変えていないので、行列式はやはり0です。
つまり行列式が0というのは、2本の直線が平行になってしまって、交わる点が1つに決まらない(重なっていれば逆に多すぎる)という意味です。 3行3列なら、3枚の平面が1点で交わらず、線や面で重なってしまう形になります。
だからこのツールは、そこで0や、それらしい数を出しません。 0を出すと「逆行列の中身がぜんぶ0である」というまったく別の意味になってしまい、逆行列が無いという事実そのものが画面から消えます。 代わりに、無いことと、その理由と、どの行がほかの行から作れてしまっているかを出します。
小数のままだと、0であるはずの行列式が0になりません
コンピュータの小数には、よく知られた落とし穴があります。0.1 + 0.2 が 0.3 になりません。 実際に計算させると 0.30000000000000004 と出ます。 0.1 も 0.2 も、2進法では割り切れない数だからです。 ちょうど、10進法で 1÷3 が 0.3333… と終わらないのと同じことが、2進法で起きています。
これが行列では、答えの正しさではなく、答えの有る無しを取り違えさせます。次の行列を見てください。
0.1 0.3
0.3 0.9
2行目は1行目のちょうど3倍です。だから行列式は必ず0で、逆行列はありません。 ところが小数のまま 0.1×0.9 − 0.3×0.3 を計算すると、答えは 1.3877787807814457e-17 になります。 とても小さい数ですが0ではありません。 これを「0ではない」と読んだ計算機は、逆行列が無い行列に、堂々と逆行列を出します。
そこでこのページは、入力を分数(分子と分母の整数)に直してから計算します。 分数どうしの足し算と掛け算は整数の計算だけでできるので、途中で誤差が1つも出ません。 だから行列式が0かどうかを取り違えず、逆行列を掛けたときもぴったり単位行列に戻ります(0.9999… が出ません)。
丸めるのは、画面に小数で出すときだけです。 小数第4位で四捨五入し、そこで0になってしまう小さい値は有効数字4桁に切り替えます。 桁で丸めるだけだと 0.00001 が0 になり、「ちょうど0」という別の意味になってしまうからです。
行列は、いまの高校では数学Cに入っています
高等学校学習指導要領(平成30年告示)の数学Cは、(1) ベクトル、(2) 平面上の曲線と複素数平面、(3) 数学的な表現の工夫の3つでできていて、行列はこの(3)に出てきます。原文はこうです。
(イ)日常の事象や社会の事象などを,離散グラフや行列を用いて工夫して表現することの意義を理解すること。
解説のほうには、5人が「親しいと思うか」「信頼できると思うか」を答えた結果を行列で表して2つの行列の和を考える例や、 スマートフォンを選ぶときに「機能の重要度」と「製品の評価」を行列の積として計算する例が載っています。
ただし「必ず習う」とは言えません。学習指導要領は数学Cについて「内容の(1)から(3)までの中から適宜選択させるものとする」と定めているので、どこを扱うかは学校によって変わります。 ここで断定できるのは原文に書いてあることだけです。
逆行列まで出てくるのは「理数数学特論」
理数科という学科の科目「理数数学特論」には「(2) 行列とその応用」があり、扱う中身がはっきり決められています。
内容の(2)については,行列の表し方や演算,行列の積と逆行列,行列を用いた連立一次方程式の解法及び点の移動を扱うこと。
そしてその解説には、このページが本体にしていることが、そのまま注意点として書かれています。
行列の積に関しては,次の事柄に注意することが必要である。
① AB と BA は必ずしも等しくない。
② A≠0,B≠0 であっても AB=0 となることがある。
①がこのページの掛け算の並べ方、②が「掛けると0になる」の例そのものです。 連立一次方程式のところにも「解が無数に存在する場合や解をもたない場合などの条件を扱う」とあり、逆行列が無いときに何が起きているかが学ぶ対象になっています。
出どころ: 文部科学省「高等学校学習指導要領(平成30年告示)解説 数学編 理数編」(新しいタブで開きます)の本文と付録から引きました。引用はすべて原文のままです。 各学校が実際にどの内容を開講しているかは、この資料からは分からないので書いていません。