親子で発見!学びの楽しさ#1(つるかめ算、連立方程式、逆行列)

親子で発見!学びの楽しさ#1(つるかめ算、連立方程式、逆行列) 数値計算
親子で発見!学びの楽しさ#1(つるかめ算、連立方程式、逆行列)

高校生的解法(逆行列)

ここから、親御さんのトラウマゾーンに突入。
ブラウザバックしちゃう人もいるかもしれない・・・。

ただ、逆行列を習うのは数学Cという高校数学の中でもかなり高度なものに位置付けされる。
よって、文系だった人は必須科目ではなく、選択科目として扱われるが故に、
そもそも習っていない可能性はある。
よって、知らないことの方が普通と思って良いでしょう。

先ほどの連立方程式を行列とベクトルで表現するとこうなる。

\(
\begin{bmatrix}
1&1\\
2&4
\end{bmatrix}
\begin{bmatrix}
x\\
y
\end{bmatrix}=
\begin{bmatrix}
20\\
56
\end{bmatrix}
\)

意味不明にみえるかもしれない。

実はこれ、連立方程式で書いたものと一緒だったりする。
ここらへんの話は、以前書いた、「行列の存在意義」という記事にあるので、
興味ある人は一読してみてください。

行列とベクトルも計算ルールに合わせて展開すると、こんな感じになり、

\(
\begin{eqnarray}
&x&+&y&=&20\\
2&x&+4&y&=&56
\end{eqnarray}
\)

表現の仕方が違うだけで、意味は全く一緒になる。

この行列とベクトルの演算を元にx,yを求めてみると・・・。

\(
\begin{eqnarray}
A=
\begin{bmatrix}
1&1\\
2&4
\end{bmatrix},
B=
\begin{bmatrix}
20\\
56
\end{bmatrix},
X=
\begin{bmatrix}
x\\
y
\end{bmatrix}\\
AX&=&B\\
両辺にAの逆行列A^{-1}を掛ける\\
A^{-1}AX&=&A^{-1}B\\
A^{-1}Aは単位行列になって消える\\
X&=&A^{-1}B
\end{eqnarray}
\)

ここで2次の正方行列の逆行列の公式を確認

\(
\begin{eqnarray}
2次の正方行列の逆行列の公式\\
C&=&
\begin{bmatrix}
a&b\\
c&d
\end{bmatrix}\\
C^{-1}&=&\frac{1}{ad-bc}
\begin{bmatrix}
d&-b\\
-c&a
\end{bmatrix}\\
\end{eqnarray}
\)

ここまで情報が揃ったら、あとは普通に計算するだけ。

\(
\begin{eqnarray}
A&=&
\begin{bmatrix}
1&1\\
2&4
\end{bmatrix}\\
A^{-1}&=&\frac{1}{2}
\begin{bmatrix}
4&-1\\
-2&1
\end{bmatrix}=
\begin{bmatrix}
2&-0.5\\
-1&0.5
\end{bmatrix}\\
\begin{bmatrix}
x\\
y
\end{bmatrix}&=&
A^{-1}B=
\begin{bmatrix}
2&-0.5\\
-1&0.5
\end{bmatrix}
\begin{bmatrix}
20\\
56
\end{bmatrix}=
\begin{bmatrix}
12\\
8
\end{bmatrix}
\end{eqnarray}
\)

よって、ツルが12羽でカメが8匹。

行列の計算がそもそもめんどすぎ!
つるかめ算を返せ!

と思うかもしれないが・・・。

実は、プログラムで解く際は、行列の方が都合が良い。
Pythonで書くとこんな感じで解ける。

import numpy as np

# 係数行列
A = np.array([[1, 1], 
              [2, 4]])

# 定数ベクトル
B = np.array([20, 56])

# 係数行列の逆行列を計算
A_inv = np.linalg.inv(A)

X=A_inv@B

print(X)
[12.  8.]

行列とベクトルで表現されたものはプログラムで解くことが可能になる。
しかも、変数も二元である必要はなく、この構成がとれるものであれば全て解けてしまう。

\(
\begin{bmatrix}
a_{11}&a_{12}&\dots&a_{1n}\\
a_{21}&a_{22}&\dots&a_{2n}\\
\vdots&\vdots&\ddots&\vdots\\
a_{n1}&a_{n2}&\dots&a_{nn}\\
\end{bmatrix}
\begin{bmatrix}
x_1\\
x_2\\
\vdots\\
x_3
\end{bmatrix}=
\begin{bmatrix}
y_1\\
y_2\\
\vdots\\
y_n
\end{bmatrix}
\)

逆行列は列と行が等しい正方行列である必要があり。
このルールが守られていれば、二元に限らず、三元や四元どころか、百元とか千元でも解ける。
これは、昨今のAIやデータサイエンスのように大量のデータやパラメータを扱う世界に於いては重要な特性となる。

まとめ

  • つるかめ算の歴史的背景を説明。
  • つるかめ算解説。
  • 連立方程式解説。
  • 逆行列解説。

線と四角と表でわかる つるかめ算

Amazon.co.jp

算数 つるかめ算 新装版 まんがではじめる中学入試対策! 中学入試まんが攻略BON!

Amazon.co.jp

コメント

タイトルとURLをコピーしました