読者です 読者をやめる 読者になる 読者になる

めもめも

このブログに記載の内容は個人の見解であり、必ずしも所属組織の立場、戦略、意見を代表するものではありません。

ネイピア数の導出と極限計算に関する補足

何の話かというと

www.yukisako.xyz

こちらの記事では、

 \lim_{h\to 0}\frac{a^h-1}{h}=1 ―― (1)

を満たす a は、

 a=\lim_{h\to 0}(1+h)^{\frac{1}{h}} ―― (2)

であることを導いて、これがネイピア数 e の定義に一致することを示しています。

この結論は正しいのですが、(1) から (2) を導出する課程で、極限の計算の取扱に不正確な部分があるので、その点を補足してみます。

まず上記の記事では、(1) から

 \lim_{h\to 0}a^h = 1 + \lim_{h\to 0}h ―― (3)

という式を導いて、さらにこれを

 a=\lim_{h\to 0}(1+h)^{\frac{1}{h}} ―― (4)

と変形しています。

ここで、(1) → (3)、および、(3) → (4) の式変形をそれぞれ詳しく吟味してみます。

導出における問題点(その1)

まず、(1) → (3) は同値変形ではありません。つまり、(3) → (1) の逆変形ができません。

なぜなら、(3) の両辺を個別に計算すると、これはどちらも 1 になります。つまり、(3) は  1=1 という当たり前のことを言っており、よく考えると a の値が何であっても成り立ってしまいます。したがって、この後で説明するように、(3) → (4) を導くこともできません。

それでは、なぜ、(3) → (1) の逆変形はできないのでしょうか?

まず、(3) 右辺の 1 を左辺に移項すると次になります。これは同値変形です。

 \lim_{h\to 0}(a^h-1)= \lim_{h\to 0}h ―― (5)

では、この式の両辺を右辺で割って、(1) を導くことはできるでしょうか? 残念ながらそれはできません。

たとえば、単純に割り算すると次になります。

 \frac{\lim_{h\to 0}(a^h-1)}{\lim_{h\to 0}h} = 1 ―― (6)

ですが、よく考えると (5) の右辺は値で言うと 0 です。これは両辺を 0 で割るという、やってはいけない計算になってしまいます。

(1) の意味は「割り算した後に h\to 0 の極限をとる」という操作であって、極限を取る前の (1) 左辺の分母は 0 ではありませんので、これは許される計算です。一方、(6) は極限を取った後に割り算をしているため、0 で割るという禁止事項に触れてしまっています。(1) と (6) は同じ内容を表わすものではない、という点をよく味わってみてください。

違う言い方をすると、(1) から (3) を導く際は、「極限を取る前の計算」を「極限を取った後の計算」に置き換えてしまっているというわけです。極限を含む式を扱う際は、このような「極限を取るタイミング」によく注意する必要があります。

導出における問題点(その2)

(3) から (4) の変形では、両辺を \frac{1}{h} 乗するという操作をしていますが、ここでも「極限を取った後の計算」と「極限を取る前の計算」に注意する必要があります。(3) の両辺を \frac{1}{h} 乗した結果は、あくまで次のものです。

 \left(\lim_{h\to 0}a^h\right)^{\frac{1}{h}} = \left(1 + \lim_{h\to 0}h\right)^{\frac{1}{h}} ―― (7)

ここで「極限を取った後に \frac{1}{h} 乗する」という操作が「 \frac{1}{h} 乗した後に極限を取る」という操作と同じであれば、これを (4) に書き直すことができるのですが、残念ながら、この2つの操作は同じではありません。(もし同じだとすると、任意の a で成り立つ (3) から、特定の a のみで成り立つ (4) が導かれるというおかしな話になってしまいます。そもそも (7) は、\frac{1}{h} 乗の中身ですでに \lim h\to 0 の極限をとっているので、\frac{1}{h} 乗の h はいったい何者かよくわかりません。)

ちなみに、それでは、(3) からはどのような変形が可能なのでしょうか? (3) には極限が入っているために、次の式変形が難しくなっています。そこで、(3) を極限をとる前の関係式に直してみます。

 a^h = 1 + h + f(h) ―― (8)

極限を取る前は、両辺の値はかならずしも一致しませんので、その差分を f(h) と置いています。極限で一致することから \lim_{h\to 0}f(h) = 0 が成り立ちます。

(8) は「極限を取る前」の関係ですので、安心して、両辺を \frac{1}{h} 乗することができます。

 a = \left\{1+h+f(h)\right\}^{\frac{1}{h}} ―― (9)

この後、両辺について、h\to 0 の極限をとると次が得られます。

 a = \lim_{h\to 0}\left\{1+h+f(h)\right\}^{\frac{1}{h}} ―― (10)

仮に、f(h) \equiv 0 (すべての h について f(h)=0)であれば、(10) は (4) に一致しますが、残念ながらそうではありません。f(h) をいろいろ取り替えることで、a はいろいろな異なる値になります。(3) が任意の a で成り立つという事実が、この f(h) の自由度に反映されているわけです。

 「えー。\lim_{h\to 0}f(h) = 0 やねんから、(10) と (4) はおんなじとちゃうん???」

ちゃいます。その理屈が通るのであれば、\lim_{h\to 0}h=0 ですので、(10) は、そもそも a=\lim_{h\to 0}\left\{1\right\}^{\frac{1}{h}} と同じになってしまいます。そんなわけはありません。あくまで、\left\{1+h+f(h)\right\}^{\frac{1}{h}} という計算を一式終わらせた後に、h \to 0 の極限をとるというのが (10) の意味であって、個別のパーツだけで先に極限を取ってしまうと、同じ計算にはなりません。「計算してから極限をとる」と「極限をとってから計算する」の違いをもう一度味わってみてください。

(1)から(4)を導く厳密な計算

・・・と、不正確な点を指摘するだけでは不親切なので、上記の問題点をさけて、厳密に (1) から (4) を導く方法を考えてみましょう。いろんなやり方が考えられますが、根本原理に立ち戻って、ε-δ 論法を使ってみましょう。先ほど関数 f(x) を導入したように、ε-δ 論法を用いると、「極限をとる前の関係式で、極限の様子を表現する」ということが出来るので、極限のことを気にせずに自由に式変形ができるようになります。これこそが、ε-δ 論法が有用な理由なのです。

まず、(1) の関係を ε-δ 論法で述べると次になります。

「(十分に小さな)任意の \epsilon > 0 に対して、ある \delta > 0 をうまく選択すると、 \left|h\right| < \delta を満たすすべての h に対して  \left| \frac{a^h-1}{h} - 1 \right| < \epsilon が成立する」 ―― (11)

いかがでしょうか。(11) は極限を取る前の関係式ですので、やや複雑ではありますが、通常の関係式として、安心して式変形することができます。

そして、最終的に示したい事実 (4) は、ε-δ 論法で述べると次になります。

「(十分に小さな)任意の \epsilon' > 0 に対して、ある \delta' > 0 をうまく選択すると、 \left|h\right| < \delta' を満たすすべての h に対して \left|a - (1+h)^{\frac{1}{h}}\right| < \epsilon' が成立する」―― (12)

(11)と(12)に含まれる \epsilon\delta は異なるものなので、混乱しないように記号をわけておきました。

そこで、(11) から出発して、(12) を示すことができれば、 (1) から (4) が導けたことになるわけです。




・・・約3時間の沈黙・・・



ぐああああああああ。


すいません。紙の上で証明はできたのですが、ノート5ページぐらいになってしまって、とてもTeX記法で整理して書く気がしません。。。。くやしぃ。

代わりに、ε-δ 論法をつかわずに極限の落とし穴をすりぬけてうまいこと証明する方法を紹介しておきます。。。。。

まず、(1) において、t=\frac{1}{a^h-1} という変数変換を行います。これは、h について解くと h=\log_a\left(1+\frac{1}{t}\right) になります。さらに、h\to 0 の時 t\to\infty であることに注意すると、(1) は、次の式と同値です。

 \lim_{t\to \infty}\frac{1}{t\log_a\left(1+\frac{1}{t}\right)}=1

さらに、この左辺は次のように変形できます。

 \lim_{t\to \infty}\frac{1}{\log_a\left(1+\frac{1}{t}\right)^t} = 1

ここで、左辺に含まれる関数 \frac{1}{\log_a x} は、x について連続関数なので、極限を対数の中に入れることができます。

 \frac{1}{\log_a\lim_{t\to\infty}\left(1+\frac{1}{t}\right)^t} = 1

つまり、

 \log_a\lim_{t\to\infty}\left(1+\frac{1}{t}\right)^t = 1

となります。最後にこの両辺を a の肩にのせると、a^{\log_ax} = x に注意して、

 \lim_{t\to\infty}\left(1+\frac{1}{t}\right)^t =a

が得られます。

来ました! ここで h' = \frac{1}{t} で新たに h' を定義すると、結局、次が成り立つことがわかります。

 a=\lim_{h'\to 0}(1+h')^{\frac{1}{h'}}

この h' はいわゆる束縛変数なので、好きな文字に置き換えられます。h' をあらたに h に置き直すことで (4) が導かれました。

この証明のミソは、連続関数 f(x) については、\lim f(\cdots) = f(\lim\cdots) が成立するという性質にあるわけです。