01
自然対数 — 底 e、微積分が好む底
わかっていること: 底は e ≈ 2.718。ln x と書き、変化率が現在量に比例するときに必ず現れる対数。
底: ln x = loge x
計算例: ln 2 = 0.693。e^0.693 = 2 だからで、この 0.693 が「倍加時間 = ln 2 / 成長率」の正体
この型を開く: 自然対数インタラクティブな数学・理科レッスン (ノ◕ヮ◕)ノ*:・゚✧
レッスン
対数とは指数のことです。log_b(x) は、x を得るために b を何乗すべきかを表します。つまり、log_b(x) = y と by = x は、一つの数式を二つの方向から読んだものにすぎません。
bxylog_b(x) = y ならば、by = x です。ln(by) = ln(x) となります。ln(by) = y·ln(b) となり、結果として y·ln(b) = ln(x) が残ります。ln(b) で割ると y = ln(x) / ln(b) となります。これが底の変換公式であり、上のパネルに表示されている式です。底が2で x = 2 の場合、この式は 0.69 / 0.69 = 1 となります。グラフには三つの曲線が描かれています。自分で選んだ底に対するあなたの曲線と、比較のための基準として固定されている ln(x) および log₁₀(x) です。どんな底であっても0乗すれば1になるため、これら三つはすべて (1, 0) にある小さな点を通ります。大きな点は真数と底が等しくなる (b, 1) の位置にあり、底の値をドラッグして変更すると曲線に沿って動きます。グラフ上の任意の場所にカーソルを合わせると、その x における三つの対数の値がすべて表示されます。
b > 0、b ≠ 1、そして x > 0 です。これらは単なる形式上の決まりごとではありません。「bを何乗すればxになるか?」という問いに対して、一つの実数解が確実に定まるための厳密な条件なのです。ln(b) で割っていますが、ln(1) = 0 であるため、値が単に大きくなるのではなく「定義されない」状態になるのです。そこに留まることはできません。底に 1 と入力すると、代わりに 0.99 に置き換えられます。このとき、底の変換公式では −0.01 に近い値で割ることになり、同じ x = 2 に対する答えは −68.97 へと跳ね上がります。底が1を下回るとこの分母は負のままとなり、曲線全体が反転します。これは依然として対数ですが、単調減少のグラフになります。対数 — いまどの底にいるのか、そして底をどう移るか
対数が問うのは一つだけです。b を何乗すれば x になるか。ただし答えが何の役に立つかは底が決めます。底 e は、何かが自分自身に比例する速さで増えるところに必ず現れます。底 10 は桁を数えます。1 より小さい底は曲線ごとひっくり返します。そしてどの底も、割り算一つでどの底にも変換できます。最後の型は意外です。底が 1 に近づくと対数は発散します。
01
わかっていること: 底は e ≈ 2.718。ln x と書き、変化率が現在量に比例するときに必ず現れる対数。
底: ln x = loge x
計算例: ln 2 = 0.693。e^0.693 = 2 だからで、この 0.693 が「倍加時間 = ln 2 / 成長率」の正体
この型を開く: 自然対数02
わかっていること: 底は 10。答えが 1 増えるたびに、入力は 10 倍されている。
底: log10 x
計算例: log₁₀ 100 = 2、log₁₀ 1000 = 3 — x が 10 倍になるとちょうど 1 だけ増える
この型を開く: 常用対数03
わかっていること: 0 < b < 1。分数は累乗するほど小さくなるので、対数は増加ではなく減少し、x > 1 では負になる。
底: 0 < b < 1
計算例: log₀.₅ 4 = −2。0.5⁻² = 4 だからで、log₂ 4 = 2 と大きさは同じで符号だけ逆
この型を開く: 底 < 104
わかっていること: 電卓にない底が必要なとき。持っている底の対数二つで割ればよい:底 b の log x = ln x / ln b。
底: logb x = ln x / ln b
計算例: log₄ 16 = ln 16 / ln 4 = 2.7726 / 1.3863 = 2。ln の代わりに log₁₀ でも同じ割り算で通る
この型を開く: 底の変換05
わかっていること: b が 1 に近いので ln b はほぼ 0。底 b の log x = ln x / ln b なので、その極小の数で割ると出力は巨大になる。
底: b → 1 ⇒ ln b → 0
計算例: log₁.₀₅ 50 = ln 50 / ln 1.05 = 3.912 / 0.04879 = 80.2 — 5 % の成長を 80 回重ねて 50 倍
この型を開く: b = 1 付近練習
まず答えを予想し、それから上のコントロールで確かめてください。予想を決めてから答えを開くこと。それが練習になる条件です。
底を 0.5 に設定し、x は 2 のままにしてください。結果を見る前に考えてみましょう。答えは正と負のどちらになるでしょうか。また、およそどれくらいの大きさになるでしょうか?
log₀.₅(2) = −1 です。底を変換すると ln(2)/ln(0.5) となり、ln(0.5) は負の数なので曲線全体が反転するのです。また、0.5の−1乗が2になるため、答えはきっかり −1 になります。逆方向に一回だけ半分にする、と考えればよいでしょう。大きな点は常に (b, 1) の位置にあります。底を 2 から 9 までドラッグして、点がどのように動くか予測してみてください。そして、なぜその間ずっと答えが 1 のままなのかも考えてみましょう。
log_b(b) = 1 となります。「b を何乗すれば b になるか?」という問いの答えは、常に1だからです。点が水平に動くのは、その点の x 座標が、あなたがドラッグしている底の値そのものだからです。底に 1 と入力してみてください。何か操作をする前に、次に何が起こるか予測してみましょう。曲線は垂直になるでしょうか、平坦になるでしょうか、それとも全く別の形になるでしょうか?
0.99 を代入します。導出のステップ4では ln(b) で割っていますが、ln(1) = 0 となるため、底が1のときは傾きが急になるのではなく「定義されない」状態になるのです。0.99 の場合、底の変換公式では −0.01 に近い値で割ることになり、−68.97 という非常に大きな負の数として読み取られます。これが「片側から『定義されない値』に近づく」という現象の姿です。2¹⁰ = 1024 と 10³ = 1000 が近い値であることには、このパネルにすでに表示されている理由があります。その理由を見つけ、さらにこの一致がどれほどの速さで崩れていくかを求めなさい。
底の変換により、どのような対数も他の2つの対数の比に変換できます。ツールには ln(2) = 0.693147 および log₁₀(2) = 0.30103 と表示されており、log₂(10) は後者の逆数である 3.32193 となります。
したがって、10回の倍加を10の累乗で表すと 10 × 0.30103 となります。
指数は 3 ではなく 3.0103 となります。この 0.0103 がズレのすべてであり、10の累乗として計算すると 1.024 になります。
超過分は加算されるのではなく乗算されるため、ズレは複利的に拡大します。キビバイトは1000を 2.4% 上回り、メビバイトは100万を 4.9% 上回り、ギビバイトは10億を 7.4% 上回ります。
電力の2倍化が 3 dB と呼ばれるのも、これと同じ 0.30103 が理由です。正確な数値は 3.0103 dB であり、丸められた数値は300分の1の誤差を伴う便宜上の表記です。
解答
ツールには ln(2) = 0.693147 および log₁₀(2) = 0.30103 と表示されています。2つ目の数値は丸暗記する価値があります。なぜなら、誰もが実際に使用している2つの底、すなわちビットと十進数の桁との間を変換するからです。数値を十進数1桁あたりで表すには約 3.32 ビットが必要であり、2048 ビットの鍵は十進数で約 617 桁に相当します。また、どのような倍加プロセスも10ステップごとに1000倍の節目を越えます。ステップ 4 と 5 はそれに付随する警告です。2¹⁰ ≈ 10³ は適用されるたびに精度が悪化する近似であり、これこそがディスク製造業者とオペレーティングシステムの間でテラバイトのサイズに関する見解が30年間にわたり 10% 食い違っており、その差が今も拡大し続けている理由です。
学習の道すじ