数学Ⅲの微分で突如として登場する$e$(ネイピア数)。
こいつの正体はなんなのかと調べたところ、色々な定義の仕方があって、それによってネイピア数の"特徴"が「定義されたこと」なのか「証明されること」なのかがごっちゃになって混乱してしまいました。
以下、定義①~③の考え方を自分なりにまとめてみようと思います。

定義①(オイラーによる定義) $$ eは、以下を満たすような実数a\\ \;\\ \frac{d}{dx}a^x = \lim_{h \to 0}\frac{a^{x+h} - a^x}{h} = a^x\lim_{h \to 0}\frac{a^{h} - 1}{h} = a^x \\ \;\\ 即ち\\ \;\\ \lim_{h \to 0}\frac{e^{h} - 1}{h} = 1 $$
定義② $$ e = \lim_{\alpha \to 0}(1+ \alpha)^{\frac{1}{\alpha}} $$
定義③ $$ e = \lim_{\beta \to \infty}(1+ \frac{1}{\beta})^\beta $$

簡単に言えば、定義①では「導関数が自分自身になる指数関数の底を$e$と定義」しています。つまり $(e^x)' = e^x$ が定義ということになります。
それに対して定義②③では、指数関数や対数関数の導関数を求める過程での定義と考えることができます。そのため、 $(e^x)' = e^x$ となることは別途証明が必要です。
また、定義①~③は相互に変形可能です。
個人的には定義①が一番分かりやすかったので、最初に詳しめに書いてます。

定義①「導関数が自分自身になる指数関数の底が欲しいなぁ~」

「$y=a^x$の導関数が$y'=a^x$になるとするやん」
仮定:$(a^x)' = a^x$

$$ \begin{aligned} (a^x)' &= \lim_{h \to 0}\frac{a^{x+h} - a^x}{h} &\;& 微分の定義から\\ &= a^x\lim_{h \to 0}\frac{a^{h} - 1}{h} &\;& 分子をa^xで括って外に出した\\ \end{aligned}\\ \;\\ \begin{aligned} &仮定より、a^x\lim_{h \to 0}\frac{a^{h} - 1}{h} = a^x\\ &両辺をa^xで割ると\\ &\color{red}\lim_{h \to 0}\frac{a^{h} - 1}{h} = 1\\ \end{aligned}\\ $$ 「これをみたす実数$a$を$\boldsymbol{e}$と名付けるで!」 $$ \color{red}\lim_{h \to 0}\frac{e^{h} - 1}{h} = 1 $$

指数関数の微分①

「$e$を使って$y=a^x$を微分するで~」
「まず$a$を$e$で表すか」
$a = e^{\ln a}$
「$a^x$はこうやな」
$a^x = (e^{\ln a})^x = e^{x\ln a}$

$$ \begin{aligned} (a^x)' &= ( e^{x\ln a})'\\ &= \lim_{h \to 0}\frac{e^{(x+h)\ln a} - e^{x \ln a}}{h} &\;& 微分の定義から\\ &= e^{x \ln a}\lim_{h \to 0}\frac{e^{h\ln a} - 1}{h} &\;& 分子をe^{x \ln a}で括って外に出した\\ &= e^{x \ln a}\ln a\lim_{h \to 0}\frac{e^{h\ln a} - 1}{h \ln a} &\;& 分子と分母に\ln a を掛けて分子の\ln aを外に出した\\ &= \color{red}a^x\ln a &\;& h \to 0のときh \ln a \to 0となるから、eの定義より\lim部分は1\\ \end{aligned}\\ $$

指数関数の微分②合成関数の微分

「$e$を使って$y=a^x$を微分するで~」
「まず$a$を$e$で表すか」
$a = e^{\ln a}$
「$a^x$はこうやな」
$a^x = (e^{\ln a})^x = e^{x\ln a}$

「$g(x) = x \ln a$、$f(x) = e^x$とすると、$e^{x\ln a} = f(g(x))$となる」

$$ \begin{aligned} (a^x)' &= ( e^{x\ln a})' = \{f(g(x))\}' = f'(g(x))\cdot g'(x)\\ &= e^{x\ln a} \cdot \ln a\\ &= \color{red}a^x\ln a\\ \end{aligned}\\ $$

定義②への変形

$$ \begin{aligned} &\lim_{h \to 0}\frac{e^{h} - 1}{h} = 1 \\ \\ &両辺にhを掛ける\\ &\lim_{h \to 0}h\frac{e^{h} - 1}{h} = \lim_{h \to 0}h \\ &\lim_{h \to 0}(e^{h} - 1) = \lim_{h \to 0}h \\ &\lim_{h \to 0}(e^{h} )- 1 = \lim_{h \to 0}h \\ \\ &左辺の1を右辺に移行\\ &\lim_{h \to 0}e^{h} = \lim_{h \to 0}h + 1\\ \\ &両辺を\frac{1}{h}乗\\ &\color{red}e = \lim_{h \to 0}(1 + h)^{\frac{1}{h}}\\ \end{aligned} $$

定義③への変形

$$ \begin{aligned} &e = \lim_{h \to 0}(1 + h)^{\frac{1}{h}}において、\beta = \frac{1}{h}とおくと\\ &h \to 0 のとき \beta \to \infinなので\\ &\color{red}e = \lim_{\beta \to \infin}(1 + \frac{1}{\beta})^\beta\\ \end{aligned} $$

定義②③「指数関数を微分したいなぁ~」

「$y=a^x$を微分したいんや!」

$$ \begin{aligned} (a^x)' &= \lim_{h \to 0}\frac{a^{x+h} - a^x}{h} &\;& 微分の定義から\\ &= a^x\lim_{h \to 0}\frac{a^{h} - 1}{h} &\;& 分子をa^xで括って外に出した\\ \end{aligned}\\ $$ 「こっからどないしたらええんやろ…」

【指数関数】定義②パターン

「とりあえず$a^h-1$を$\alpha$とでもおいてみるか」

$$ \begin{aligned} &\alpha = a^h-1 とおくと、\\ &h = \log_{a}{(1 + \alpha)}\\ &また、h \to 0 のとき、\alpha \to 0 \\ \end{aligned} $$ 「すると元の式はこうやな」 $$ \begin{aligned} (a^x)' &= a^x\lim_{h \to 0}\frac{a^{h} - 1}{h} &\;& \\ &= a^x\lim_{\alpha \to 0}\frac{\alpha}{\log_{a}{(1 + \alpha)}} &\;&\\ &= a^x\lim_{\alpha \to 0}\frac{1}{\frac{1}{\alpha}\log_{a}{(1 + \alpha)}} &\;& 分子と分母に\frac{1}{\alpha}を掛けた\\ &= a^x\lim_{\alpha \to 0}\frac{1}{\log_{a}{(1 + \alpha)^{\frac{1}{\alpha}}}} &\;& \\ &= a^x\frac{1}{\log_{a}{\lim_{\alpha \to 0}(1 + \alpha)^{\frac{1}{\alpha}}}} &\;& \\ \end{aligned}\\ $$

「$\color{red}\lim_{\alpha \to 0}(1 + \alpha)^{\frac{1}{\alpha}}$ってなんか収束しそうやし$\boldsymbol{e}$と名付けるで!
「するとこうや!」

$$ \begin{aligned} & a^x\frac{1}{\log_{a}{\lim_{\alpha \to 0}(1 + \alpha)^{\frac{1}{\alpha}}}} &\;& \\ =& a^x\frac{1}{\log_{a}e} &\;& \\ =& a^x\log_{e}a &\;& \\ \end{aligned}\\ $$

「$e$を使って$\color{red}(a^x)' = a^x\log_{e}a$が導けたで!」
「ていうか$e$ってなんやねん!?勝手に名付けたけど得体がしれんわ…」
「$e$を底とする指数関数$e^x$を微分したらどないなるんやろ?」

$$ \begin{aligned} (e^x)' &= e ^x \log_ee&\;& 上の式のaにeを代入\\ & = \color{red}e^x\\ \end{aligned} $$ 「$e^x$って微分しても形が変わらないやん!」

【指数関数】定義③パターン

「とりあえず$a^h-1$を$\frac{1}{\beta}$とでもおいてみるか」

$$ \begin{aligned} &\frac{1}{\beta} = a^h-1 とおくと、\\ &h = \log_{a}{(1 + \frac{1}{\beta})}\\ &また、h \to 0 のとき、\beta \to \infin \\ \end{aligned} $$ 「すると元の式はこうやな」 $$ \begin{aligned} (a^x)' &= a^x\lim_{h \to 0}\frac{a^{h} - 1}{h} &\;& \\ &= a^x\lim_{\beta \to \infin}\frac{\frac{1}{\beta}}{\log_{a}(1 + \frac{1}{\beta})} &\;&\\ &= a^x\lim_{\beta \to \infin}\frac{1}{\beta\log_{a}(1 + \frac{1}{\beta})} &\;& 分子と分母に\betaを掛けた\\ &= a^x\lim_{\beta \to \infin}\frac{1}{\log_{a}(1 + \frac{1}{\beta})^\beta} &\;& \\ &= a^x\frac{1}{\log_{a}\lim_{\beta \to \infin}(1 + \frac{1}{\beta})^\beta} &\;& \\ \end{aligned}\\ $$

「$\color{red}\lim_{\beta \to \infin}(1 + \frac{1}{\beta})^\beta$ってなんか収束しそうやし$\boldsymbol{e}$と名付けるで!
「するとこうや!」

$$ \begin{aligned} & a^x\frac{1}{\log_{a}\lim_{\beta \to \infin}(1 + \frac{1}{\beta})^\beta} &\;& \\ =& a^x\frac{1}{\log_{a}e} &\;& \\ =& a^x\log_{e}a &\;& \\ \end{aligned}\\ $$

「$e$を使って$\color{red}(a^x)' = a^x\log_{e}a$が導けたで!」
(以下略)

定義②③「対数関数を微分したいなぁ~」

「$y=\log_ax$を微分したいんや!」

$$ \begin{aligned} (\log_ax)' &= \lim_{h \to 0}\frac{\log_a(x+h) - \log_ax}{h} &\;& 微分の定義から\\ &= \lim_{h \to 0}\frac{1}{h}\log_a(1+\frac{h}{x}) &\;& \\ \end{aligned}\\ $$ 「こっからどないしたらええんやろ…」

【対数関数】定義②パターン

「とりあえず$\frac{h}{x}$を$\alpha$とでもおいてみるか」

$$ \begin{aligned} &\alpha = \frac{h}{x} とおくと、\\ &h = \alpha x\\ &また、h \to 0 のとき、\alpha \to 0 \\ \end{aligned} $$ 「すると元の式はこうやな」 $$ \begin{aligned} (\log_ax)' &= \lim_{h \to 0}\frac{1}{h}\log_a(1+\frac{h}{x}) &\;& \\ &= \lim_{\alpha \to 0}\frac{1}{\alpha x}\log_a(1+\alpha) &\;& \\ &= \frac{1}{x}\lim_{\alpha \to 0}\frac{1}{\alpha}\log_a(1+\alpha) &\;& \\ &= \frac{1}{x}\lim_{\alpha \to 0}\log_a(1+\alpha)^{\frac{1}{\alpha}} &\;& \\ &= \frac{1}{x}\log_a\lim_{\alpha \to 0}(1+\alpha)^{\frac{1}{\alpha}} &\;& \\ \end{aligned}\\ $$

「$\color{red}\lim_{\alpha \to 0}(1 + \alpha)^{\frac{1}{\alpha}}$ってなんか収束しそうやし$\boldsymbol{e}$と名付けるで!
「するとこうや!」

$$ \begin{aligned} & \frac{1}{x}\log_a\lim_{\alpha \to 0}(1+\alpha)^{\frac{1}{\alpha}} &\;& \\ =& \frac{1}{x}\log_ae &\;& \\ =& \frac{1}{x\log_ea} &\;& \\ \end{aligned}\\ $$

「$e$を使って$\color{red}(\log_ax)' = \frac{1}{x\log_ea}$が導けたで!」
「ていうか$e$ってなんやねん!?勝手に名付けたけど得体がしれんわ…」
「$e$を底とする対数関数$\log_ex$を微分したらどないなるんやろ?」

$$ \begin{aligned} (\log_ex)' &= \frac{1}{x\log_ee} &\;& 上の式のaにeを代入\\ & = \color{red}\frac{1}{x}\\ \end{aligned} $$

「めっちゃ自然やん!」

【対数関数】定義③パターン

「とりあえず$\frac{x}{h}$を$\beta$とでもおいてみるか」

$$ \begin{aligned} &\beta = \frac{x}{h} とおくと、\\ &h = \frac{x}{\beta}\\ &また、h \to 0 のとき、\beta \to \infin \\ \end{aligned} $$ 「すると元の式はこうやな」 $$ \begin{aligned} (\log_ax)' &= \lim_{h \to 0}\frac{1}{h}\log_a(1+\frac{h}{x}) &\;& \\ &= \lim_{\beta \to \infin}\frac{\beta}{x}\log_a(1+\frac{1}{\beta}) &\;& \\ &= \frac{1}{x}\lim_{\beta \to \infin}\beta\log_a(1+\frac{1}{\beta}) &\;& \\ &= \frac{1}{x}\lim_{\beta \to \infin}\log_a(1+\frac{1}{\beta})^\beta &\;& \\ &= \frac{1}{x}\log_a\lim_{\beta \to \infin}(1+\frac{1}{\beta})^\beta &\;& \\ \end{aligned}\\ $$

「$\color{red}\lim_{\beta \to \infin}(1 + \frac{1}{\beta})^\beta$ってなんか収束しそうやし$\boldsymbol{e}$と名付けるで!
「するとこうや!」

$$ \begin{aligned} & \frac{1}{x}\log_a\lim_{\beta \to \infin}(1+\frac{1}{\beta})^\beta &\;& \\ =& \frac{1}{x}\log_ae &\;& \\ =& \frac{1}{x\log_ea} &\;& \\ \end{aligned}\\ $$

「$e$を使って$\color{red}(\log_ax)' = \frac{1}{x\log_ea}$が導けたで!」
(以下略)

指数関数・対数関数の一方の導関数を所与として他方を求める

ここまで$e$の定義の考え方をみてきましたが、結局は以下のような知見が得たかったのです。すなわち

$$ \begin{aligned} (a^x)' &= a^x\log_{e}a \\ (\log_ax)' &= \frac{1}{x\log_ea}\\ \\ \end{aligned} $$

指数関数・対数関数の導関数ですね。
上では$e$を定義しながら両方の導関数を求めてみましたが、一方が分かっていれば他方も簡単に求まります。

逆関数の微分法

指数関数の導関数を所与とする場合

$y = \log_ax$ の逆関数は $x = a^y$ なので、

$$ \begin{aligned} \frac{dy}{dx} &= \frac{1}{\frac{dx}{dy}}\\ &= \frac{1}{a^y\ln a}\\ &= \frac{1}{a^{\log_ax}\ln a}\\ &= \frac{1}{x\ln a}\\ \end{aligned} $$

対数関数の導関数を所与とする場合

$y = a^x$ の逆関数は $x = \log_ay$ なので、

$$ \begin{aligned} \frac{dy}{dx} &= \frac{1}{\frac{dx}{dy}}\\ &= \frac{1}{\frac{1}{y\ln a}}\\ &= y\ln a\\ &= a^x\ln a\\ \end{aligned}$$

対数微分法

これは指数関数だけなのですが、式の両辺の対数をとってから微分することもできます。

$$ y = a^x について、両辺の対数をとる\\ \ln y = \ln a^x\\[1em] 両辺をxで微分する\\ \frac{y'}{y} = \ln a \\[0.5em] ※{\footnotesize左辺は合成関数の微分法により\frac{d}{dx}\ln y = \frac{d}{dy}\ln y \frac{dy}{dx} = \frac{1}{y}y'}\\[1em] y に a^xを代入\\ y' = a^x\ln a\\ $$

微分方程式への発展

さて、既に確認したように指数関数の導関数は $(a^x)' = a^x\log_{e}a$となる訳ですが、別の見方をすれば「ある量 $y$ の変化率が $y$ 自身に比例するとき, $y$ は指数関数で表される」とも言えます。
つまり、$y = f(x)$について以下が成り立つとき、

$$ f'(x) = kf(x) \\ \;\\ 即ち\\ \frac{dy}{dx} = ky $$

$f(x)$は指数関数であるということです。
ではこのときの$f(x)$は具体的にどのようなものになるでしょうか?これまでの内容から簡単に解けてしまうと思いますが、このように$f'(x)$の式から$f(x)$を求めるような問題を微分方程式といいます。

「$y$ の変化率が $y$ 自身に比例するとき」ってどんなとき?

上でサラッと書きましたが、これってどんな関数をイメージすればいいんでしょうか?
既に結論として「指数関数である」と言ってしまっているんですが、一旦これまでのことは全て忘れて、まっさらな状態で考えてみます。

$$ \begin{aligned} &f'(x) = kf(x) より、\\ &\;\\ &\lim_{h \to 0}\frac{f(x + h) - f(x)}{h} = kf(x)\\ &\lim_{h \to 0}f(x + h) - f(x) = \lim_{h \to 0}kf(x)h &\;& 両辺にhを掛ける \\ &\lim_{h \to 0}f(x + h) = \lim_{h \to 0}f(x) + kf(x)h &\;& f(x)を移項 \\ &\lim_{h \to 0}f(x + h) = \lim_{h \to 0}f(x)(1 + hk) \end{aligned} $$

ここで$f(0) = y_0$とすると、$x$が$h$ずつ増えたときの$f(x)$の値は以下のようになります。($\lim$省略)

$$ \begin{matrix} x & f(x)\\[0.5em] \hline 0 & y_0 \\[0.5em] h & y_0(1 + hk) \\[0.5em] 2h & y_0(1 + hk)^2 \\[0.5em] 3h & y_0(1 + hk)^3 \\[0.5em] \vdots & \vdots \\[0.5em] nh & y_0(1 + hk)^n \end{matrix} $$ $x = nh$の$f(x)$を考えると、 $$ x = nhのとき、h = \frac{x}{n}\\ また、h \to 0のときn \to \infinなので\\ f(x) = \lim_{n \to \infin}y_0(1 + \frac{kx}{n})^n $$

$f(x)$が出てきました。
この式は、$0$から$x$までの区間を$n$分割し、1つ目の左端($x=0$)の値から右端($x=\frac{x}{n}=h$)の値を求め、2つ目の左端の値から右端($x=\frac{2x}{n}=2h$)の値を求め、ということを繰り返していると考えることができます。

import numpy as np def f3(k, y0, end, n, x): return y0 * (1 + k * end / n) ** (x * n / end) def p_de(n, k=2): y0 = 1 end = 10 x_n1 = np.linspace(0, 10, 2) x_n10 = np.linspace(0, 10, 11) x_n100 = np.linspace(0, 10, 101) x = np.linspace(0, end, n+1) return HTML("script", f''' (function(){{ Plotly.update( "p_de", {{ name: [], x: [ {x_n1.tolist()}, {x_n10.tolist()}, {x_n100.tolist()}, {x.tolist()}, ], y: [ {f3(k, y0, end, 1, x_n1).tolist()}, {f3(k, y0, end, 10, x_n10).tolist()}, {f3(k, y0, end, 100, x_n100).tolist()}, {f3(k, y0, end, n, x).tolist()}, ] }}, {{ }} ) Plotly.restyle( "p_de", {{name: "n = {n}"}}, 3 ) }})(); ''') HTML("script", ''' Plotly.newPlot( "p_de", [ { name: "n = 1", mode: 'dots' }, { name: "n = 10", mode: 'dots' }, { name: "n = 100", mode: 'dots' }, { mode: 'dots' } ], { title: "n → ∞ のf(x)の様子", height: 500, margin: {b: 20}, yaxis: { // scaleanchor: "x", //dtick: 1, }, //xaxis: {dtick: 1}, updatemenus: [{ buttons: [ { args: ['yaxis.type', "linear"], label:"y軸linear" , method: "relayout" }, { args: ['yaxis.type', "log"], label:"y軸log" , method: "relayout" } ], x: 0, xanchor: "left", y: 1.01, yanchor: "bottom" }] }, {scrollZoom: true, responsive: true} ) ''') + widgets.interact( p_de, n=widgets.Slider(value=1 , min=1, max=1000, step=1), k=widgets.Slider(value=2 , min=0.01, max=100, step=0.01), ) さて、この$f(x)$をもうちょっと変形して、 $$ \alpha = \frac{kx}{n}とおくと、n = \frac{kx}{\alpha}\\ また、n \to \infin のとき \alpha \to 0 なので\\ \begin{aligned} f(x) &= \lim_{n \to \infin}y_0(1 + \frac{kx}{n})^n\\ &= \lim_{\alpha \to 0}y_0(1 + \alpha)^\frac{kx}{\alpha}\\ &= \lim_{\alpha \to 0}y_0(1 + \alpha)^{\frac{1}{\alpha}^{kx}}\\ &= y_0e^{kx}\\ \\ \end{aligned} $$

という訳で、無事に(?)指数関数に辿り着くことができました。

変数分離法で解く

微分方程式っぽく解くと以下のようになります。
実はこの式は「ある生物の個体数(人間の場合は人口)の増加速度が個体数自体に比例する」というマルサスモデルとして有名なものです。

$$ \frac{dy}{dx} = ky\\[.5em] \frac{1}{y}dy = kdx\\[.5em] \int\frac{1}{y}dy = \int kdx\\[.5em] \ln |y| =kx + C\\[.5em] y =\pm e^{kx + C}\\[.5em] y =\pm e^Ce^{kx}\\[.5em] \;\\ f(0) = y_0とすると、y_0 = e^C\\ よって y = y_0e^{kx} $$

おまけ:グラフ

指数関数の導関数

import numpy as np def plot1(base): x = np.arange(-3, 3, 0.1) y = base**x step = 0.1 def exp(x): return base**x def exp_prime(x): return exp(x) * np.log(base) return HTML("script", f''' (function(){{ Plotly.restyle( "plot1", {{ name: [ 'f(x)={base}^x', "f'(x)={np.log(base):.3}・{base}^x", ], x: [{x.tolist()}], y: [ {exp(x).tolist()}, {exp_prime(x).tolist()} ] }} ) }})(); ''') HTML("script", ''' Plotly.newPlot( "plot1", [{mode: 'lines'},{mode: 'lines'}], { title: "指数関数の導関数", height: 500, margin: {b: 20}, yaxis: { //scaleanchor: "x", //dtick: 1 }, xaxis: {dtick: 1}, updatemenus: [{ buttons: [ { args: ['yaxis.type', "linear"], label:"y軸linear" , method: "relayout" }, { args: ['yaxis.type', "log"], label:"y軸log" , method: "relayout" } ], x: 0, xanchor: "left", y: 1.01, yanchor: "bottom" }] }, {scrollZoom: true, responsive: true} ) ''') + widgets.interact( plot1, base=widgets.Slider(min=0.01, max=10, step=0.01, value=2.718) )

対数関数の導関数

import numpy as np def plot2(base): x = np.arange(0.1, 10, 0.1) y = base**x def log(x): return np.log(x) / np.log(base) def log_prime(x): return 1 / (x * np.log(base)) return HTML("script", f''' (function(){{ Plotly.update( "plot2", {{ name: [ 'f(x)=log_{base}x', "f'(x)=1/{np.log(base):.3}x" ], x: [{x.tolist()}], y: [ {log(x).tolist()}, {log_prime(x).tolist()} ] }}, {{ shapes: [ {{ type: "line", line: {{width: 1}}, x0:0, x1:{base}, y0:1, y1:1 }}, {{ type: "line", line: {{width: 1}}, x0:{base}, x1:{base}, y0: 0, y1: 1 }} ], annotations: [{{ x:{base}, y:1, text:"({base}, 1)", arrowhead: 6, ax: 20 }}], }} ) }})(); ''') HTML("script", ''' Plotly.newPlot( "plot2", [{mode: 'lines'}, {mode: 'lines'}], { title: "対数関数の導関数", height: 500, margin: {b: 20}, yaxis: { scaleanchor: "x", //dtick: 1 }, //xaxis: {dtick: 1} }, {scrollZoom: true, responsive: true} ) ''') + widgets.interact( plot2, base=widgets.Slider(min=0.01, max=10, step=0.01, value=2.718) )