パスワードを忘れた? アカウント作成
13393964 journal
日記

Torisugariの日記: 3700年前の石板と有理三角法のアルゴリズム

日記 by Torisugari

最初に言葉の注意を入れておきますと、「有理三角法」はRational Trigonometryの邦訳が(マニアックすぎて)Web検索では見つからないので、勝手に私がそう呼んでいるだけのものです。ただ、内容的にもこのrationalは「無理数を使わない」という意味ですし、三角法は他に言いようもないので、これで妥当な(バズワードの)訳語だということで納得していただきたいと思います。

事の発端は、今月の24日に発表されたダニエル・マンスフィールドとノーマン・ワイルドバーガーの論文
Plimpton 322 is Babylonian exact sexagesimal trigonometry (「プリンプトン322はバビロニアの厳密な60進法の三角法」)
http://www.sciencedirect.com/science/article/pii/S0315086017300691
なのですが、これには多くのメディアが反応しました。英高級4紙は制覇です。ftは買収されたから……

http://www.independent.co.uk/news/science/babylonians-trigonometry-develop-more-advanced-modern-mathematics-3700-years-ago-ancient-a7910936.html
https://www.theguardian.com/science/2017/aug/25/lab-notes-ancient-maths-secrets-and-amazing-heavenly-bodies
http://www.telegraph.co.uk/science/2017/08/24/3700-year-old-babylonian-tablet-rewrites-history-maths-could/
https://www.thetimes.co.uk/article/how-babylonians-beat-pythagoras-by-1-000-years-wjlfp6rqm

これらのニュースは大上段に構えているとでも言いましょうか、どの記事も表現が大げさになっています。

It is a fascinating mathematical work that demonstrates undoubted genius. The tablet not only contains the world’s oldest trigonometric table; it is also the only completely accurate trigonometric table, because of the very different Babylonian approach to arithmetic and geometry.

This means it has great relevance for our modern world. Babylonian mathematics may have been out of fashion for more than 3000 years, but it has possible practical applications in surveying, computer graphics and education.

疑いようのない天才がいたことを示す、目を見張るような数学の業績である。この石板は世界最古の三角関数表というだけでなく、世界で唯一の正確な三角関数表でもある。そうであるのは、バビロニアの算術・幾何へのアプローチが全然違っていたからだ。

このことは現代社会にも大きな影響を与えるだろう。バビロニアの数学は3000年以上前に流行からはずれてしまったかもしれないが、学術・コンピュータグラフィックス及び教育の分野で、実用的な応用ができる可能性を秘めている。

専門家のインタビューを直接記事にしているのにしては事実認定に関して曖昧な部分があるようにみえます。察するに、専門家の方に勢いがありすぎて、それに流されてしまった報道ではないでしょうか。

ただ、BBCはニュースを掴んでいるにもかかわらず、ちょっと引いた姿勢なのが面白いです。外国人向けのインタビューしか見つかりませんでした。

http://www.bbc.co.uk/programmes/p05d7qps
http://www.bbc.com/news/magazine-41054074 (実際はインディペンデント紙へのリンク)

---

詳しいことは論文を読めばわかりますが、ここでは実際に想定されうる石板の使い方を説明します。まず、プリンプトン322 の石板の内容は以下のようになっています。

01.59:00:15____________|___01:59|___02:49|01
01.56:56:58:14:50:06:15|___56:07|01:20:25|02
01.55:07:41:15:33:45___|01:16:41|01:50:49|03
01.53:10:29:32:52:16___|03:31:49|05:09:01|04
01.48:54:01:40_________|___01:05|___01:37|05
01.47:06:41:40_________|___05:19|___08:01|06
01.43:11:56:28:26:40___|___38:11|___59:01|07
01.41:33:45:14:03:45___|___13:19|___20:49|08
01.38:33:36:36_________|___08:01|___12:49|09
01.35:10:02:28:27:24:26|01:22:41|02:16:01|10
01.33:45_______________|______45|___01:15|11
01.29:21:54:02:15______|___27:59|___48:49|12
01.27:00:03:45_________|___02:41|___04:49|13
01.25:48:51:35:06:40___|___29:31|___53:49|14
01.23:13:46:40_________|______56|___01:46|15

これは60進数なので、10進数(の近似値)に直した上で、石板自体の誤植(?計算ミス)を訂正すると以下のようになります。

1.98340277|  119|  169| 1|
1.94915855| 3367| 4825| 2|
1.91880212| 4601| 6649| 3|
1.88624790|12709|18541| 4|
1.81500771|   65|   97| 5|
1.78519290|  319|  481| 6|
1.71998367| 2291| 3541| 7|
1.69270941|  799| 1249| 8|
1.64266944|  481|  769| 9|
1.58612256| 4961| 8161|10|
1.5625    |   45|   75|11|
1.48941684| 1679| 2929|12|
1.45001736|  161|  289|13|
1.43023882| 1771| 3229|14|
1.38716049|   28|   53|15|

表は2列目と3列目がピタゴラス数であり、このときの直角三角形の長辺、短辺、斜辺の長さをそれぞれa、b、cとすると、2列目はb、3列目はcで、1列目は(c/a)^2になっています。つまり、これは特殊な直角三角形を集めてそれを第一列の数字順にソートしたものです。

辺aに向かい合う角をAとした時、直角三角形ですからsinA = a/cとなります。つまり、(c/a)^2はsinAの逆数を2乗したものに等しくなっています。直角三角形ABCで、角Aが最も小さくなるのはA=B=45度の直角二等辺三角形ですから、sinAの逆数の2乗の最大値は2です。ただ、直角二等辺三角形(1:1:√2)は無理数を含んでいて辺がピタゴラス数になるという条件を満たしていないので、この表の最初が1.98340277という「ほぼ2」の数から始まっているわけです。

ここで、実用的な問題をこの表を使って解くことを考えてみましょう。

例えば、4mのロープを木の頂上に括り付けて、地上まで斜めにピンと張った時、その地点から木までの距離を測ると3mだった場合の木の高さbを求めるとします。

現代的なアプローチだと、三平方の定理から、
b^2 = c^2 - a^2 = 16 - 9 = 7
b = √7 = 2.6457...
で、約2.65mという答えが出ますが、この計算は平方根の近似値計算を含んでしまっています。電卓がない場合でもバイナリサーチに検算していけば、

4 < 7 < 9、25/4 < 7 < 121/16

くらいまでは暗算できますが、何度も計算するとなればなかなか面倒です。 余談ですが、平方根の近似値計算は中学校で習うらしいのですが、ネットで検索すると2.1、2.2、2.3...と探索するしかない、って教えてるところがありますね。高校受験では十分に役立つ解法ってことになるのでしょうが。

一方で、表を使う場合、まず、問題の(c/a)^2を計算してしまいます。
  (c/a)^2 = (4/3)^2 = 16/9 = 1.7777...
そこで、1.7777...という数字を表の第1列と見比べると、6行目の1.78519290と7行目の1.71998367の間に1.7777...があることが分かります。つまり、問題の三角形は、6行目の直角三角形と7行目の直角三角形の間の形をしています。(もうちょっと具体的に言うと、角Bの角度が間にあるということです。)

数学の回答ならcosBの単調減少や中間値の定理を説明しなければいけないかもしれませんが、答えを出すだけなら話は簡単で、第n行目の三角形AnBnCnの三辺をan、bn、cnとするとき、
b7/c7 < b/c < b6/c6
という関係式が成り立つので、
(b7/c7) * c < b < (b6/c6) * c
(2291/3541) * 4 < b < (319/481) * 4
2.587969... < b < 2.6528...
より、木の高さは2.6mくらいという概算値が掛け算と割り算だけで算出できます。

と、ここまででは面白さの半分くらいで、さらに表をよく見ると、例えば、問題に出てきた第6行のピタゴラス数はb=319、c=418ですが、これからaを計算するとa=360と比較的綺麗な数になっています。第7行はb=2291、c=3541なのでa=2700と、圧倒的にキリのいい数です。そして、これは我々現代人からみてもキリのいい数ですが、古代バビロニア人は60進数を使っていたので、感じるキリの良さが我々の比ではありません。つまり、表に出ていないaの値は全て60を素因数分解した{2, 3, 5}の冪乗の積になっています。そのため、aを分母に持つ数は60進数で必ず有限小数になります。第1列の数は(c/a)の2乗なので、まさにaを分母に持つ数であり、だからこそ第1列は近似値ではなく厳密に正しい値として書かれています。

こちらの値を使うと、木の高さは
b7/a7 < b/a < b6/a6
(b7/a7) * a < b < (b6/a6) * a
(2291/2700) * 3 < b < (319/360) * 3
2.545555... < b < 2.6583333...
であり、1/2700と1/360は既知の値なので、掛け算を2回するだけで近似解までたどり着けます。

* 1/360 = (1/6)*(1/60)であり、60進数で1/60は00.01、1/6=10/60=00.10ですから、1/360 = 00.00:10です。同様に、1/2700=(1/3)*(1/15)*(1/60) = (20/60)*(4/60)*(1/60) = 80/(60*60*60)=(01:20)/(60*60*60) = 00.00:01:20となります。これを踏まえると、(2291/2700) * 3 = 6873/2700 = (6873*80)/(60*60*60) = 549840/(60*60*60)=(2*216000+32*3600+44*60)/(60*60*60) = 02.32:44、(319/360) * 3 = (957*10)/(60*60) = (2*3600+39*60+30)/(60*60) = 02.39:30より、 高さ(m)の範囲は02.32:44 < b < 02.39:30と有限小数で書けます。どうも、バビロニア人は1~60までの逆数(または逆数の近似値)を全て少数表記で覚えてまで分数を避けていたフシがあります。

---

さて、このくらいの予備知識を得た上で、ニュースの記事を読むと「世界最古の三角関数表というだけでなく、世界で唯一の正確な三角関数表」というキーワードがよく分かると思います。三角関数表であるにもかかわらず、表自体には概算値が全く含まれていないわけですからね。論文のタイトルにある"exact"という単語もこれを指しているのだと思われます。

ただ、問題は、「誰」が「何」を見つけたのかです。この話の数学的な背景に関しては70年以上前に出版されたノイゲバウアーの本で、既にバビロニア人のピタゴラス数の見つけ方まで解説されており、三角関数表の一部としての解釈もバックやジョイスなどの先人が細かく解説しつくしています。少なくとも「三角関数表」という表現の初出が件の論文でないことは確かです。循環小数にならないことを示したのもこの論文が初めてではありません。

三平方の定理 (ピタゴラスの定理) の歴史 - 記述された事実 -- 古代バビロニア
http://asait.world.coocan.jp/pythagorean/section2/pyta_section2.htm

PLIMPTON 322 - David E. Joyce, 1995.
https://mathcs.clarku.edu/~djoyce/mathhist/plimpnote.html

「有理三角法」というのは聞きなれない言葉だと思いますし、私も書き慣れませんが、これは、ワイルドバーガーの提唱する「三角関数を使わずに三角測量したい」という、野心的な、平たく言うとニュー・サイエンティスト系の考えで、私に言わせれば、イデオロギーや宗教と大差ないものです。もちろん、天動説から地動説へと世の主流が変わったように、そういうコペルニクス的存在も重要ではありますが、今のところ、そういった有理三角法の大法則が発見された、というわけではありません。

むしろ、「有理三角法」の人々が「バビロニアの石板」という存在そのものを見つけてしまったのです。確かに、バビロニアの石板は、角度を全く計測せずに表を作ろうとしていますし、無理数をできるだけ避けようという努力も見られます。だから、有理三角法の人々がやりたかったことは、4桁のピタゴラス数をも用いるという、現代人の常識を超えた方法で既に実現されていたのです。それを発見した時の興奮は想像に余りありますが、「有理三角法」というフィルターを取り除いてもう一度考えると、新しく分かったことは特にない、という結論に落ち着かざるを得ません。

方向性という意味では、例えば、(3,4,5),(255,32,257),(4095,128,4097)のように、辺に2のべき乗だけを含む直角三角形の巨大なコレクションのテーブルを作ると、正弦や余弦の逆数を綺麗な浮動小数にできるわけですが、こういうものの需要もちょっとよく分かりません。

そういう諸々を加味して、さらにもう一度記事を読んでみると、なかなか味わい深い出来事だと感じられるのではないか、と私は思う次第です。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

日々是ハック也 -- あるハードコアバイナリアン

読み込み中...