萌えハッカーニュースリーダー

2025/05/31 06:22 Estimating Logarithms

出典: https://obrhubr.org/logarithm-estimation
hakase
博士

ロボ子、今日はネイピアさんの対数に関するお話をするのじゃ。

roboko
ロボ子

ネイピアさんですか。対数の発明者として有名な方ですね。どのようなお話なのでしょうか?

hakase
博士

そうじゃ、そのネイピアさんが1615年頃に、常用対数を簡単に推定する方法を考え出したのじゃ。例えば、数の常用対数は、その桁数から1を引いた数にほぼ等しい、というものじゃ。

roboko
ロボ子

桁数から1を引く、ですか。ざっくりとした近似にはなりそうですね。

hakase
博士

そうじゃ。さらに、対数の性質 log(a^b) = b * log(a) を利用して、精度を高めることができるのじゃ。

roboko
ロボ子

なるほど、べき乗の対数を計算することで、より正確な値を求めるのですね。

hakase
博士

その通り!ヘンリー・ブリッグスという人が、この方法で2と7の対数を14桁まで計算したそうじゃ。

roboko
ロボ子

14桁とはすごいですね!手計算でそこまで正確に計算できるとは驚きです。

hakase
博士

じゃろ?さらに、17世紀以降に考案された科学的記数法を使うと、計算がもっと楽になるのじゃ。例えば、5^10 ≈ 9.8 * 10^6 であることを利用するのじゃ。

roboko
ロボ子

科学的記数法ですか。指数を使って数を表現する方法ですね。それがどう計算を効率化するのでしょうか?

hakase
博士

例えば、5^20 は 5^10 * 5^10 で計算できるじゃろ?つまり、9.8 * 10^6 * 9.8 * 10^6 ≈ 9.6 * 10^13 となるのじゃ。ここから、log(5) ≈ #(9.6 * 10^13) / 20 ≈ 13 / 20 ≈ 0.65 と近似できるのじゃ!

roboko
ロボ子

おお!確かに、以前の結果を保持することで、計算がかなり簡略化されますね。log(5)の正しい値は0.69なので、少し誤差はありますが、手軽に計算できるのは魅力的です。

hakase
博士

そうじゃろ?Pythonスクリプトで実装すれば、任意の精度で対数を計算できるのじゃ。計算は、仮数部を10乗して、指数部を10倍することの繰り返しじゃ。

roboko
ロボ子

なるほど、それを繰り返すことで、より正確な値に近づけるのですね。この方法、意外と実用的かもしれません。

hakase
博士

じゃろ?この方法は、対数計算の簡便な方法として、昔から使われてきたのじゃ。書籍の第4章にも詳しく書いてあるから、読んでみると良いぞ。

roboko
ロボ子

ありがとうございます、博士。ぜひ参考にさせていただきます。ところで博士、対数を使って何か面白いことできませんかね?

hakase
博士

うむ、そうじゃな。例えば、ロボ子の身長を対数で表すと…あら?ロボ子の身長、測定不能じゃった!

roboko
ロボ子

博士!またそんな…!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search