2022年9月6日火曜日

Wolframの対数表

学生の頃から気になっていたことがある. 高木貞治先生の「解析概論」のp.215の脚注に 「Wolframノ表ニハ1000以下ノ素数ノ自然対数ノ50桁ノ表ガ掲ゲラレテヰル. コノ表ハ既ニ少年がうすガ愛用シタモノデアル.」と書いてあったことだ. また, 岩波文庫の「近世数学史談」のp.65に 「Wolframの計算した10000以下の素数及び若干の特殊の数の自然対数の表が 附いていたのである.」と書いてあるのも見付けた. 1000までの素数か10000までの 素数かに違いはあるが, とにかくそういう対数表が存在していたらしい.

学生の頃にそんな数表を探すのは夢のまた夢であったが, 長生きはするもので, この歳に なってインターネットを検索していたら, 関係のあるウェブページがあった.

そのひとつは A reconstruction of the Mathematical Tables Project’s table of natural logarithmsという文献で, その図1は, Wolframが計算したものを, Schulzeが1778年(Gaussの生まれた翌年)に 出版したものの最後のページの写真. これを見て, 1000までの方が違っているのが分かった. しかも最後は10009で精度は48桁であった. また6個の素数には対数が記入 されていず, Wolframが病気で計算できなかったらしい. その図2はVegaが欠けている値を計算して 追加して1794年に出版したものの最後のページの写真がある. いずれにしても, Gaussが所持していたWolframの数表はこういうものであったらしい.

もうひとつは, New Information Concerning Isaac Wolfram's Life and Calculationsである. これによると, Isaac Wolframはオランダの砲兵の士官であった.

Wolframは何年もかけてこの数表を作ったらしいが, 現代は便利な世の中で, 自然対数も 簡単に得ることが出来る

そのひとつは, 別のWolframだが, WolframAlphaである. このページを開くと入力用窓があり, そこに「ln(2)」といれると, 2の自然対数が64桁くらい表示される. 0.6931471805599453094172321214581765680755001343602552541206800094 私もこの数表を作ってみたくなった. しかし. WolframAlphaは手動でしか使えないから, 別の方法が必要だ. あれこれ探していたら, Python3でも値が得られることが分った.
from decimal import *
getcontext().prec = 55
Decimal(2).ln() => 
Decimal('0.6931471805599453094172321214581765680755001343602552541')
これを使うと, Wolframの対数表みたいなものはすぐ作れる. 10000までの素数は 1229個あるが, 最初の20個の素数と, 10000未満の最後の19個の素数に対して 作た対数表はこんなようだ.
2から9973までの素数に対する自然対数の表は, 私の計算機にある.

0 件のコメント: