概要

『数学ガール』シリーズのことはずっと気になっていたんだよねー。結構たくさんのシリーズがあるのだけど、『行列』の巻を友達が持っていたので借りて読んだ。

"英語の次は数学?!" って友達が感心してくれて嬉しいんだけど、ぼくはそもそも "文武両道" とか、 "学際的 (interdisciplinary)" とか、そういうのが好きなんだよね。身体のどの部分も、脳のどの部分も、同じように使いこなせることに価値を感じる。

サマリと感想を書く。

 

サマリ

とりあえず行列の話をするとき知っとかなアカンこと

こういうの↓が行列 (matrix)。

\[ \begin{pmatrix} a & b \\ c & d \end{pmatrix} \]

Python でいうとこう↓。そう! ただの多次元配列ではなくて numpy なんだよね。そっか、 numpy って "行列のライブラリ" だったのか。

numpy.array([[a, b], [c, d]])

行列同士の足し算はこう↓。うんうん、わかる。同じ行数、列数の行列同士でないとダメ。見ればわかるように交換法則 (commutative law) が成り立つ。

\[ \begin{pmatrix} a & b \\ c & d \end{pmatrix} + \begin{pmatrix} a' & b' \\ c' & d' \end{pmatrix} = \begin{pmatrix} a + a' & b + b' \\ c + c' & d + d' \end{pmatrix} \]

Python でいうと……行列を A, B で表すならこう↓。はじめは list(A) + list(B) かと思ったんだけど、それは違ったね。

numpy.array(A) + numpy.array(B)

行列同士の掛け算はこう↓。マジヤバい (絶望)。ただ、一番ヤバいのがこのルールなので、これに慣れればあとは大丈夫そう。見ればわかるように (ただし一目見ればわかるとは言っていない)、これは掛け算のクセに交換法則が不成立だ。これを知ってると "掛け算の順番議論" に対して "ぷぷっ、行列の話してる?" と意地悪なコメントをすることができるな。見ればわかるように (ただし一目見ればわかるとは言っていない)、前半の行列の列数と、後半の行列の行数が同じときだけ計算できる。

\[ \begin{pmatrix} a & b \\ c & d \end{pmatrix} \begin{pmatrix} a' & b' \\ c' & d' \end{pmatrix} = \begin{pmatrix} aa' + bc' & ab' + bd' \\ ca' + dc' & cb' + dd' \end{pmatrix} \]

Python でいうとこう。

numpy.array(A) @ numpy.array(B)

零行列 (zero matrix) はこう。定義は、 "行列に足したとき何も変わらん。" 使う記号は O

\[ O = \begin{pmatrix} 0 & 0 \\ 0 & 0 \end{pmatrix} \]
\[ O + A + O = A \]

単位行列 (identity matrix) はこう。定義は、 "行列に前から掛けても後ろから掛けても何も変わらん。" 使う記号は I

\[ I = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \]
\[ IA = AI = A \]

逆行列 (inverse matrix) はこう。定義は、 "行列に前から掛けても後ろから掛けても単位行列になる。" 使う記号は \(A^{-1}\)\(A^{-1}\) の中身がヤバくて、最初は覚えなくていいやこんなん、って思っていたのだが、練習問題をやってるとめちゃくちゃ使うので勝手に覚えてちゃったよ。

\[ A = \begin{pmatrix} a & b \\ c & d \end{pmatrix} \]
\[ A^{-1} = \frac{1}{ad - bc} \begin{pmatrix} d & -b \\ - c & a \end{pmatrix} \quad (ad - bc \ne 0) \]
\[ AA^{-1} = A^{-1}A = I \]

行列式 (determinant) はこう↓。

\[ \begin{vmatrix} a & b \\ c & d \end{vmatrix} = ad - bc \]

ここまで知っとくとできるハナシ

  • なんか行列がカッケーのは分かるけど、何なのこれ?
    • 線形代数 (linear algebra) に登場するツールのひとつ
    • 主な役割は、写像 (mapping) として機能することだと思う
    • 写像ってのは座標やベクトルを変換すること
  • 座標を変換するってなんだ?
    • 同じルールで、座標平面 (coordinate plane) 上の座標たちが移動するってこと
    • 星空みたいに座標が回ったりする
  • ビビることに、ある行列で図形を変換したときの、前後の面積比が、行列式の値と一致する
    • なんでだよw見つけたの、誰だよw
    • 思い返してみれば、行列式が0になる行列 (たとえば零行列) で図形を変換すると図形が潰れるので、確かに面積は0倍になってるわ……

 

所感

楽しめた!

  • 数学 : ライトノベル = 3 : 7 くらいの本なのかなって思ってたら、 数学 : ライトノベル = 7 : 3 くらいの本だった。
  • 数学の教科書と同じで、マジでちゃんと理解しながら、そして練習問題をやりながら読み進めないとまったく分かんなくなるので、めっちゃ計算したよ。
  • それが楽しくてさ……。英語を勉強してるときに使っている脳領域と、プログラミングしてるときに動く脳領域が、同時に動いているような感覚だった。

練習問題めっちゃ楽しめた!

  • (とくに行列掛け算のせいで) いっぱい計算したわけなんだが、 "こんなバカ正直に計算してたら、試験だったら間に合わないのだろうなー" "なんか計算をショートカットできる方法があるんだろうなー" と自然に考えている自分がいた。英検の影響で、思考回路が試験という形式にチューニングされていることを感じた……。
  • その方法というのが、 "こういう系の問題が来たらこういう戦略で解く" というパターンを蓄積することなのだろうな。
  • この本で解いた数少ない問題だけでも、パターン蓄積の楽しさを味わえた。
  • この感覚……英検で、語彙とか構文をひたすら蓄積した感覚と似ている……。ただ、英検のときは、 "こんなん英語力じゃなくて謎解きみたいなもんだろ! 無駄に難解な文章を書いてんじゃねーよ!" とムカつくことがあったが、数学ではそんなことはない! "こんなん数学じゃなくて…………いや、数学でしかないな!" 納得感しかない。
  • 数学、楽しい!!

写像が出てきたところでたまたま写像のショート動画が出てきて笑った

  • 写像 (座標を変換すること) が本で出てきたあたりで、たまたま QuizKnock の鶴崎さんが写像について語るショート動画が回ってきてさ……
    • "関数って言ったらみんな理解してくれるのに、写像のことは理解してくれない"
    • "写像のうち、実数→実数、複素数→複素数、のものを一般に関数という"
    • "英語でいうと map"
    • って語ってて、 "ああーー!! なるほど!! 写像って、 Python の map のことか!! 確かに、シーケンスそれぞれに関数を適用するやつなんだから map = 写像 じゃん!!" って飛び上がった。
    • "点と点がつながった" というか、 "点 (数学) と点 (関数) と点 (map) がつながった" 感じでめちゃくちゃ面白かった。
    • 元から予感はしていたのだよな、趣味 Pythonista のぼくが数学をやったら、 "あ、 Python で見たやつだ" ってなるんじゃないかなって。それが、やはり起こったわけだ。