指数関数と対数関数#

指数関数#

(定義)指数関数

\(a\)をある定数として、

\[ y = a^x \]

を、\(a\) とする 指数関数(exponential function)という。

ネイピア数#

以下で定義される定数\(e\)をネイピア数という

\[ \lim _{n \rightarrow \infty}\left(1+\frac{1}{n}\right)^n=e=2.7182818 \cdots \]

(定義)自然指数関数

\(e\)を底とする指数関数

\[ y = e^x \]

指数関数(the exponential function)あるいは明示的に 自然指数関数という。

(英語だとtheがつくかどうかで底の違いを表現する。日本語だとややこしいが、標準的な指数関数は\(e\)を底とする指数関数である)

(定義)自然指数関数

指数関数にはいくつかの定義があり、オイラーによって最初に定義されたものは以下のものになる

\[ \exp (x)=\lim _{n \rightarrow \infty}\left(1+\frac{x}{n}\right)^n \]

マクローリン級数によって冪級数の形にした

\[ \exp (x)=\sum_{n=0}^{\infty} \frac{x^n}{n !}=1+x+\frac{x^2}{2 !}+\frac{x^3}{3 !}+\frac{x^4}{4 !}+\cdots \]

の定義もある

Hide code cell source
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-1, 2.5, 100)
y = np.array([np.exp(xi) for xi in x])

fig, ax = plt.subplots(figsize=[4, 2])
ax.plot(x, y, label=r"$\exp(x)$")
ax.set(xlabel="x", ylabel="y")
ax.axhline(color="gray")
ax.axvline(color="gray")
ax.legend()
fig.show()
../../../_images/987d5a649e4563e51c8cfbbacc801d1cdf897a57e24674f28ef556d24514d248.png

\(\left(1+\frac{x}{n}\right)^n\)を有限の範囲でいくつか試すと以下のようになる

x = 1
for n in range(1, 6):
    e = (1 + (x / n))**n
    print(f"{n=}, {e=:.3f}")
n=1, e=2.000
n=2, e=2.250
n=3, e=2.370
n=4, e=2.441
n=5, e=2.488
Hide code cell source
import numpy as np
import matplotlib.pyplot as plt

N = np.linspace(1, 100, 101)
E = [(1 + (x / n))**n for n in N]

fig, ax = plt.subplots(figsize=[4, 2])
ax.plot(N, E)
ax.set(xlabel="n",
       ylabel=r"$(1 + \frac{x}{n})^n$",
       title=r"$(1 + \frac{x}{n})^n, x=1$")
ax.axhline(np.exp(1), color="gray")
ax.axvline(color="gray")
fig.show()
../../../_images/6dea0e040741e104c0b87614fa2ec64b8b4944ead2f4cfd5eb416bf39ebcaf9b.png

指数関数の基本的性質(指数法則)#

\[\begin{split} \begin{align} a^x a^y &= a^{x+y} \\ \left(a^x\right)^y &= a^{x y} \\ \frac{a^x}{a^y} &= a^{x-y} \\ \left(\frac{a}{b}\right)^x &= \frac{a^x}{b^x} \end{align} \end{split}\]

対数関数#

指数関数の逆関数を 対数関数 (logarithmic function)という。

\(a^y = x\)のとき、「\(y\)\(a\) とする \(x\) の対数」といい

\[ y = \log_{a} x \]

と表す。

(定義)対数

\(a > 0, a \neq 1, M > 0\)について

\[ a^m = M \Longleftrightarrow m = \log_a M \]
Hide code cell source
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0.1, 5, 100)
y = np.array([np.log(xi) for xi in x])

fig, ax = plt.subplots(figsize=[4, 2])
ax.axhline(color="gray")
ax.axvline(color="gray")
ax.plot(x, y, label=r"$\log(x)$")
ax.set(xlabel="x", ylabel="y")
ax.legend()
fig.show()
../../../_images/d5584b11131a236c465087ff5a0382abd274f09afdeb3a359a803357c4d05218.png

対数関数の性質#

\(a > 0, a \neq 1, b > 0, M > 0, N > 0\)に対して

\[\begin{split} \begin{align} \log_a 1 &= 0\\ \log_a a &= 1\\ \log_a \frac{x}{y} &= \log_a x - \log_a y\\ \log_a xy &= \log_a x + \log_a y\\ \log_a x^y &= y \log_a x\\ \log_b x &= \frac{\log_a x}{\log_a b}\\ \end{align} \end{split}\]
例:\(a^x\)

底が\(a\)の対数を取る場合

\[ \log_a (a^x) = x \]

自然対数を使う場合

\[ \ln (a^x) = x \ln(a) \quad (\because \log x^y = y \log x の性質より) \]

例:元本が2倍になる年数は?

年率5%の利益が複利で運用できるとして、元本が2倍になるには何年かかる?

利率\(r\)\(n\)年間複利運用したときの利益率\(\pi\)

\[ (1 + r)^n = \pi \]

\(r=0.05\)とすると、\(\pi=2\)になるのは

\[ (1.05)^n = 2 \]

両辺の対数をとると

\[\begin{split} \log_{10} (1.05)^n = \log_{10} 2 \\ \to n \log_{10} 1.05 = \log_{10} 2 \\ \to n = \frac{ \log_{10} 2 }{ \log_{10} 1.05 } \approx 14.2 \end{split}\]

なので約14年かかることになる。

import numpy as np
np.log10(2) / np.log10(1.05)
14.206699082890461