「数学ガールのお知らせメール」で週に一度の更新連絡をしています。ぜひ、ご登録ください。登録は無料です。
登場人物紹介
僕:数学が好きな高校生。
ユーリ:僕のいとこの中学生。 僕のことを《お兄ちゃん》と呼ぶ。 論理的な話は好きだが飽きっぽい。
テトラちゃん:僕の後輩。 好奇心旺盛で根気強い《元気少女》。言葉が大好き。
僕とユーリ、そしてテトラちゃんは、 双倉図書館で開催されているイベント《いにしえの代数学》を巡っている。 会場にはパネルがたくさんあり、解説や数学の問題が書かれている。
僕たちは、解説パネルで アル=フワーリズミーが行った方程式の分類を見ていた(第445回参照)。
そこでユーリが気になることを言い出した——
方程式の分類
アル=フワーリズミーは、 著書『アル=ジャブルとアル=ムカーバラの書』 の中で、解くべき方程式を系統立てて分類した。 取り扱うものは主に以下の $3$ 種類で、すべて正の数であり、係数も正の数であった。
また、方程式を以下のように $6$ パターンに分類した。
僕「うん、ここにさっき(第445回参照)ユーリが言ってた『負の数が使えないと何が大変か』が書かれている」
ユーリ「……?」
僕「係数に負の数やゼロを使えるなら、 $$ ax^2 + bx + c = 0 $$ と一つの式で書けるのに、正の数しか使えないという制限があるから、 わざわざ $6$ パターンに分類しなくちゃいけなかったんだよ、きっと」
ユーリ「$6$ パターンに分類——あれっ、ちょっと待ってお兄ちゃん! この分類、おかしいよ。抜けがある!」
僕「え?」
テトラ「ユーリちゃん?」
ユーリは、パネルの前に置いてある紙をとって何かを書き始めた。
彼女はいったい、何に気付いたんだろう……
ユーリ「《ふわーりずみー》の分類ってこーじゃん?」
ユーリのメモ(1)
$$ \begin{array}{cccccccc} ax^2 = bx &\quad&\to &\quad& ax^2 &-& bx &+& 0 &=& 0 \\ ax^2 = c & &\to & & ax^2 &+& 0x &-& c &=& 0 \\ bx = c & &\to & & 0x^2 &+& bx &-& c &=& 0 \\ ax^2 + bx = c & &\to & & ax^2 &+& bx &-& c &=& 0 \\ ax^2 + c = bx & &\to & & ax^2 &-& bx &+& c &=& 0 \\ bx + c = ax^2 & &\to & & ax^2 &-& bx &-& c &=& 0 \\ \end{array} $$
僕「なるほど。ぜんぶ移項してみたんだね。うん、確かにこうなる」
ユーリ「$x^2$ の係数は $a$ か $0$ か $-a$ で、 $x$ の係数は $b$ か $0$ か $-b$ で、 定数は $c$ か $0$ か $-c$ だから……あー、 もー、要するにこーゆーこと!」
ユーリのメモ(2)
$$ \begin{array}{cccccccc} \textrm{$x^2$の係数} & \textrm{$x$の係数} & \textrm{定数} & \textrm{分類にある?} \\ \hline 0 & 0 & 0 & \textrm{×} \\ 0 & 0 & c & \textrm{×} \\ 0 & 0 & -c & \textrm{×} \\ 0 & b & 0 & \textrm{×} \\ 0 & b & c & \textrm{×} \\ 0 & b & -c & \textrm{○} \\ 0 & -b & 0 & \textrm{×} \\ 0 & -b & c & \textrm{×} \\ 0 & -b & -c & \textrm{×} \\ a & 0 & 0 & \textrm{×} \\ a & 0 & c & \textrm{×} \\ a & 0 & -c & \textrm{○} \\ a & b & 0 & \textrm{×} \\ a & b & c & \textrm{×} \\ a & b & -c & \textrm{○} \\ a & -b & 0 & \textrm{○} \\ a & -b & c & \textrm{○} \\ a & -b & -c & \textrm{○} \\ \end{array} $$
($x^2$ の係数が $-a$ の場合は省略)
テトラ「ユーリちゃんは、すべてのパターンを作ろうとしたんですね」
ユーリ「そだよん。だって、 $6$ 個のパターンってぜったい少ないもん。 $x^2$ の係数、 $x$ の係数、定数があって、 $0$ とプラスとマイナスがあるから……」
テトラ「$3 \times 3 \times 3 = 27$ 通りあるはずですよね」
僕「すごいなあ……ユーリは鵜呑みにしないでちゃんと考えたんだね」
ユーリ「すごい? すごい?」
僕「いや、すごいと思うよ。 ところで、どうしてアル=フワーリズミーは $6$ 通りしか考えなかったんだろう?」
ユーリ「見落とし」
僕「違うと思うな。たとえば、 $$ ax^2 + bx + c = 0 $$ に相当するパターンが出てこないのはなぜかというと、右辺の $0$ を表すことができなかったというのはあるけど、 $a,b,c,x$ がすべて正の数なら、最初からこれを満たす $x$ は存在しないことがわかっていたからじゃないのかなあ」
ユーリ「おー……にゃるほど。 $a,b,c,x$ がぜんぶプラスだったら、 $ax^2 + bx + c$ もプラスだってことかー」
テトラ「$c = 0$ や、 $bx + c = 0$ などもそうなりますね」
ユーリ「そっかー……わかりきってたからかー」
僕「本当のところはどうなのか、僕は知らないけどね」
テトラ「こちらには、アル=フワーリズミーの本について、また別のパネルがありますね」
アル=フワーリズミーと算術
十進位取り記数法はゼロを考え出した6〜7世紀頃のインドに由来する。 アル=フワーリズミーの書いた『インド数字による計算法』は、 インドにおける記数法を扱った先駆的な算術書である。 この本の原本は残っておらず、ラテン語による手稿数点が残っている。 この中で $1$ から $9$ までの数を表す文字と $0$ を表す文字と位取り記数法を提示した。 ただし小数はまだ使われていない。
僕「インド数字? アラビア数字とはまた違うのかなあ」
ユーリ「お兄ちゃん、知らないの? インドからアラビア世界を経由してヨーロッパに伝わったから アラビア数字って呼ばれてるんだよ」
僕「ああ、そういうことか! ユーリ、よく知ってるなあ」
ユーリ「へへ。お兄ちゃんの後ろにあるパネルに書いてあった」
インド数字とアラビア数字
現在「アラビア数字」と呼ばれている数字の起源はインドである。 しかし、インドからアラビア世界を経由してヨーロッパに伝わった経緯から、 ヨーロッパでは「アラビア数字」と呼ばれるようになった。 つまり「アラビア数字」という呼称は、起源ではなく経路を表現していることになる。 なお、アラビア世界では「アラビア数字」ではなく「インド数字」と呼んでいる。
僕「アラビア世界ではインド数字って呼んでいる……なるほどね。おもしろい話だな」
ユーリ「あれ? 何だか変だよ。 《ふわーりずみー》は、算術書ではゼロも扱っているのに、 どーして、方程式では正の数しか扱わないんだろ? おかしくね?」
僕「おお……言われてみれば確かに!」
テトラ「ユーリちゃんの疑問には、こっちのパネルが答えになりそうですよ」
アル=フワーリズミーとゼロ
アル=フワーリズミーの算術書『インド数字による計算法』にはゼロを表す文字が使われるが、 数学書『アル=ジャブルとアル=ムカーバラの書』の方程式では正の数のみを扱った。 これはゼロの扱いがまだ過渡的であったためと考えられる。 実際、算術書におけるゼロは十進位取り記数法における空位を表す記号として扱われている。
ユーリ「ゼロの扱いが——」
僕「過渡的。変化している途中だったということだね」
ユーリ「変化してるって……ゼロはゼロじゃないの?」
僕「たとえば、 $1024$ という数の $0$ というのは百の位に数がないことを表している。 このパネルではそれを《空位を表す記号》と表現しているんだと思うよ。 そういう役割のゼロと、何かの量を表す数としてのゼロを同じものと見なすことがまだできていなかった。 そういうことなんじゃないかな」
テトラ「……そう考えると、不思議な気持ちになります」
ユーリ「テトラさん、何が不思議?」
テトラ「ゼロがインドで発見されるまでは、人類はゼロを知らなかった……と表現していいかどうかわかりませんけど。 ともかく人類は、少なくとも明確にはゼロのことを認識していなかったとします」
僕「……」
ユーリ「……」
テトラ「でも、発見されたからすぐに『ゼロとは何か』という問いにすべて答えられたわけではない……ともいえます。 ゼロという概念のすべてが理解されたわけでもないんですね。 《位取り記数法の空位を表す記号としてのゼロ》、《量を表す数としてのゼロ》……」
ユーリ「他にもあるかも! 《ものすごい何かを表すためのゼロ》」
テトラ「そうですよね。 そして、数学の歴史に残っている記録によって、 あたしたちがふだん当たり前だと思っていたゼロの多様な役割を改めて知ることができる——う、うまくいえませんが、 歴史は古くて不正確で未分化なものという考えは誤りかもしれないと思ったんです」
僕「うーん……」
テトラ「つまりですね……同一視されていない過渡的な状態を通して見せてくれる世界があるということです——や、 やっぱりうまく言えません」
僕たちはそれぞれに、歴史について思いを馳せた。
僕たち三人は、会場を進みながら他のパネルを巡っていく。
ゼロの由来
インドのサンスクリット語で「シューニャ」は空虚を意味する。
そこからアラビア語の「シフル」となり、 中世ラテン語の「ゼフィルム」となり、 やがてイタリア語を経由して、 英語の「ゼロ」となった。
アラビア語の「シフル」はまた、 英語の「サイファー」(暗号)にもなった。
テトラ「この流れはとても興味深いです。 人々の流れと、概念の流れと、言葉の流れ……あたしたちは、 ゼロというものを当たり前のように使ってますけれど、 世界中を旅してきた言葉なんですね……」
数の表記
言語によって文字の並びの向きは異なる。
ユーリ「アラビア語って、右から左に書くの?!」
テトラ「そうですね。ネットで調べ物していて、アラビア語のページ にジャンプしてびっくりすることがあります」
アル=フワーリズミーとアルゴリズム
アル=フワーリズミーが書いた算術書『インド数字による計算法』のラテン語手稿では、
「Dixit Algorismi」(Algorismiはこう言った)
という定型句で始まるものがある。 Algorismiはアル=フワーリズミーをラテン語化したもので、 Dixit Algorismiはいわば「アル=フワーリズミー曰く」に相当する。 この定型句の冒頭のAlgorismiの部分が、やがて算術操作そのものの名前となり、 20世紀の初頭に「アルゴリズム」という用語になった。
僕「アルゴリズムという言葉の由来だね。アル=フワーリズミーの名前から来てたんだ」
テトラ「『アル=フワーリズミー曰く』って、孔子の『論語』に出てくる『子曰く』みたいですね」
ユーリ「アルゴリズムって、プログラムのこと?」
テトラ「とても近いですね。 アルゴリズムの方は、どのような手順で計算や処理を行うかという手続きのことで、 プログラムの方は、それを実際にコンピュータで動くようにした具体的なものになります」
ユーリ「うーん……」
テトラ「ですから、 プログラムAとプログラムBがあって、 プログラムとしては二つは異なっているけれど、 どちらのプログラムも同じアルゴリズムを実装しているというのはよくあります」
ユーリ「じっそう?」
テトラ「実装というのは、 プログラミング言語という言葉を使って、 具体的なプログラムを作ることですね」
ユーリ「テトラさん、詳しーね!」
アル=フワーリズミーと二次方程式の解法
アル=フワーリズミーの 『アル=ジャブルとアル=ムカーバラの書』 では、 $$ x^2 + 10x = 39 $$ という二次方程式は、
どのようなマールに $10$ 個のジャズルを加えたら $39$ になるか
のように言葉で表現される。
ユーリ「ややこしー! 方程式の解き方が言葉で書かれるってややこしーね!」
僕「そうだ! この解法
方程式 $x^2 + bx = c$ をアル=フワーリズミーの解法で解く
ジャズルの個数($b$)を半分にしたもの($b/2$)をそれ自身($b/2$)に掛けると、 $$ \left(\frac{b}{2}\right)^2 $$ が作られる。
それに数 $c$ を加えて、正の平方根をとると、 $$ \SQRT{\left(\frac{b}{2}\right)^2 + c} $$ が作られる。
そこからジャズルの個数($b$)の半分($b/2$)を引くと、 $$ \SQRT{\left(\frac{b}{2}\right)^2 + c} - \frac{b}{2} $$ が作られる。
それが求めるジャズル($x$)である——ということで、 $$ x = \SQRT{\left(\frac{b}2\right)^2 + c} - \frac{b}{2} $$ が二次方程式 $x^2 + bx = c$ の正の解になった。
ユーリ「これ、合ってるの?」
僕「合ってるね。だって $x^2 + bx - c = 0$ を解の公式に当てはめると、 $$ x = \frac{-b \pm \SQRT{b^2 + 4c}}{2} $$ になって、正の解ということで $\pm$ のうち $+$ だけにして、分母の $2$ をルートの中に入れると、 $$ x = -\frac{b}{2} + \SQRT{\frac{b^2 + 4c}{4}} = \SQRT{\left(\frac{b}2\right)^2 + c} - \frac{b}{2} $$ になる。 $b$ も $c$ も正だから、ルートの中身は必ず正になるし、解の $x$ も正になる」
テトラ「合ってるのはいいんですけど、言葉で書かれるよりも数式の方がわかりやすいですね」
ユーリ「さんせー!」
僕「そうだよね。数式という言葉は偉大だ。歴史の中で数学が整備されてきたおかげで、数学的な操作が楽になったんだね」
ユーリ「……プログラムも言葉で書かれるんだよね?」
テトラ「そうですね。プログラミング言語は人間がさまざまな計算をコンピュータにしてもらうために作った言葉です」
僕「そうか……『ジャズルの個数を半分にしたもの』みたいな日常の言葉で書かれたものが、 やがて $b/2$ のような数式という言葉で書かれるようになって、 現代ではコンピュータで計算するためにプログラミング言語という言葉で書かれるようになった」
テトラ「先輩、でもそれは少し違うと思います」
僕「え? 違うの?」
テトラ「時代が変化して、すべての言葉が入れ替わるわけじゃないですよね。 現代では《日常の言葉》《数式という言葉》《プログラミング言語という言葉》はすべて共存しています。 共存していて、用途に合わせて使い分けているように感じます。 多様な言葉があり、多様な表現方法がある——という感じがしませんか?」
僕「ああ、確かに。それはそうだね」
ユーリ「だったらさー、未来にはまた別の、 数学を表すための《ものすごい言葉》が出てくるかもね!」
テトラ「確かにそうですねっ!」
僕「そこには、どんな新しい用途があるんだろう……」
参考文献
※ 本文中に出てくるパネルの文章は、 参考文献の内容をもとに再構成したものであり、 直接の引用ではありません(引用であることを明記しているものを除きます)。
この記事は期間限定で「ただいま無料」となっています。
ひと月500円で「読み放題プラン」へご参加いただきますと、 446本すべての記事が読み放題になりますので、 ぜひ、ご参加ください。
参加済みの方/すぐに参加したい方はこちら
結城浩のメンバーシップで参加 結城浩のpixivFANBOXで参加(第446回終わり)
(2025年3月28日)