逆関数の微分は、微積分において非常に重要なテクニックです。直接微分するのが難しい関数でも、その逆関数が微分しやすい場合には、逆関数の微分公式を使って元の関数の導関数を求めることができます。
特に、逆三角関数($\arcsin x$, $\arccos x$, $\arctan x$)の微分公式は、積分の計算で頻繁に登場するため、しっかり理解しておく必要があります。
本記事の内容
- 逆関数の微分定理の導出
- 逆三角関数の微分公式
- 逆双曲線関数の微分公式
- Pythonでの可視化
前提知識
この記事を読む前に、以下の概念を理解しておくと理解が深まります。
- 微分の基本(合成関数の微分、連鎖律)
- 三角関数の基本的な性質
逆関数とは
関数 $y = f(x)$ が単射(1対1)であるとき、$x = f^{-1}(y)$ で定義される関数を $f$ の逆関数といいます。
幾何学的には、$y = f(x)$ のグラフを直線 $y = x$ に関して対称に折り返したものが $y = f^{-1}(x)$ のグラフです。
逆関数が存在するための条件は、$f$ が狭義単調(狭義単調増加または狭義単調減少)であることです。
逆関数の微分定理
定理
$f$ が区間 $I$ で微分可能かつ $f'(x) \neq 0$ であるとき、逆関数 $f^{-1}$ も微分可能で、
$$ (f^{-1})'(y) = \frac{1}{f'(x)} = \frac{1}{f'(f^{-1}(y))} $$
が成り立ちます。
導出
$y = f(x)$ のとき $x = f^{-1}(y)$ です。両辺を $y$ で微分します。
$f(x) = y$ の両辺を $y$ で微分すると、連鎖律より
$$ \begin{align} \frac{d}{dy} f(x) &= \frac{d}{dy} y \\ f'(x) \cdot \frac{dx}{dy} &= 1 \\ \frac{dx}{dy} &= \frac{1}{f'(x)} \end{align} $$
これは、$\frac{dx}{dy} = \frac{1}{dy/dx}$ と書けます。つまり、逆関数の微分は、元の関数の微分の逆数です。
ライプニッツ記法での表現
$$ \frac{dx}{dy} = \frac{1}{\dfrac{dy}{dx}} $$
この関係は直感的にも理解しやすいです。「$y$ の変化に対する $x$ の変化率」は「$x$ の変化に対する $y$ の変化率」の逆数です。
逆三角関数の微分
$\arcsin x$ の微分
$y = \arcsin x$ とおくと $x = \sin y$($-\pi/2 \leq y \leq \pi/2$)です。
逆関数の微分定理を適用します。
$$ \begin{align} \frac{dy}{dx} &= \frac{1}{\dfrac{dx}{dy}} = \frac{1}{\cos y} \end{align} $$
ここで $\sin^2 y + \cos^2 y = 1$ より $\cos y = \sqrt{1 – \sin^2 y} = \sqrt{1 – x^2}$ です。($-\pi/2 \leq y \leq \pi/2$ なので $\cos y \geq 0$)
$$ \boxed{(\arcsin x)’ = \frac{1}{\sqrt{1 – x^2}}} \quad (|x| < 1) $$
$\arccos x$ の微分
$y = \arccos x$ とおくと $x = \cos y$($0 \leq y \leq \pi$)です。
$$ \begin{align} \frac{dy}{dx} &= \frac{1}{-\sin y} = \frac{-1}{\sqrt{1 – \cos^2 y}} = \frac{-1}{\sqrt{1 – x^2}} \end{align} $$
($0 \leq y \leq \pi$ なので $\sin y \geq 0$)
$$ \boxed{(\arccos x)’ = -\frac{1}{\sqrt{1 – x^2}}} \quad (|x| < 1) $$
$\arctan x$ の微分
$y = \arctan x$ とおくと $x = \tan y$($-\pi/2 < y < \pi/2$)です。
$$ \begin{align} \frac{dy}{dx} &= \frac{1}{\dfrac{dx}{dy}} = \frac{1}{\sec^2 y} = \frac{1}{1 + \tan^2 y} = \frac{1}{1 + x^2} \end{align} $$
ここで $\sec^2 y = 1 + \tan^2 y$ を使いました。
$$ \boxed{(\arctan x)’ = \frac{1}{1 + x^2}} $$
具体例
例1
$f(x) = \arctan(3x)$ の微分を求めます。
合成関数の微分を適用して、
$$ f'(x) = \frac{1}{1 + (3x)^2} \cdot 3 = \frac{3}{1 + 9x^2} $$
例2
$f(x) = \arcsin(x^2)$ の微分を求めます。
$$ f'(x) = \frac{1}{\sqrt{1 – (x^2)^2}} \cdot 2x = \frac{2x}{\sqrt{1 – x^4}} $$
Pythonでの可視化
逆三角関数とその導関数を可視化します。
import numpy as np
import matplotlib.pyplot as plt
fig, axes = plt.subplots(2, 3, figsize=(15, 10))
# arcsin(x) とその導関数
x1 = np.linspace(-0.99, 0.99, 300)
axes[0, 0].plot(x1, np.arcsin(x1), 'b-', linewidth=2)
axes[0, 0].set_title('$y = \\arcsin(x)$')
axes[0, 0].set_xlabel('$x$')
axes[0, 0].set_ylabel('$y$')
axes[0, 0].grid(True, alpha=0.3)
axes[1, 0].plot(x1, 1 / np.sqrt(1 - x1**2), 'r-', linewidth=2)
axes[1, 0].set_title("$y' = 1/\\sqrt{1-x^2}$")
axes[1, 0].set_xlabel('$x$')
axes[1, 0].set_ylabel("$y'$")
axes[1, 0].set_ylim(0, 10)
axes[1, 0].grid(True, alpha=0.3)
# arccos(x) とその導関数
axes[0, 1].plot(x1, np.arccos(x1), 'b-', linewidth=2)
axes[0, 1].set_title('$y = \\arccos(x)$')
axes[0, 1].set_xlabel('$x$')
axes[0, 1].set_ylabel('$y$')
axes[0, 1].grid(True, alpha=0.3)
axes[1, 1].plot(x1, -1 / np.sqrt(1 - x1**2), 'r-', linewidth=2)
axes[1, 1].set_title("$y' = -1/\\sqrt{1-x^2}$")
axes[1, 1].set_xlabel('$x$')
axes[1, 1].set_ylabel("$y'$")
axes[1, 1].set_ylim(-10, 0)
axes[1, 1].grid(True, alpha=0.3)
# arctan(x) とその導関数
x2 = np.linspace(-5, 5, 300)
axes[0, 2].plot(x2, np.arctan(x2), 'b-', linewidth=2)
axes[0, 2].axhline(y=np.pi/2, color='gray', linestyle='--', alpha=0.5)
axes[0, 2].axhline(y=-np.pi/2, color='gray', linestyle='--', alpha=0.5)
axes[0, 2].set_title('$y = \\arctan(x)$')
axes[0, 2].set_xlabel('$x$')
axes[0, 2].set_ylabel('$y$')
axes[0, 2].grid(True, alpha=0.3)
axes[1, 2].plot(x2, 1 / (1 + x2**2), 'r-', linewidth=2)
axes[1, 2].set_title("$y' = 1/(1+x^2)$")
axes[1, 2].set_xlabel('$x$')
axes[1, 2].set_ylabel("$y'$")
axes[1, 2].grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('inverse_trig_derivatives.png', dpi=150, bbox_inches='tight')
plt.show()
逆関数と元の関数の関係の可視化
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(8, 8))
x = np.linspace(-1.5, 1.5, 300)
x_sin = np.linspace(-np.pi/2, np.pi/2, 300)
x_arcsin = np.linspace(-1, 1, 300)
# sin(x) と arcsin(x)
ax.plot(x_sin, np.sin(x_sin), 'b-', linewidth=2, label='$y = \\sin(x)$')
ax.plot(x_arcsin, np.arcsin(x_arcsin), 'r-', linewidth=2, label='$y = \\arcsin(x)$')
# y = x の直線
ax.plot([-2, 2], [-2, 2], 'k--', linewidth=1, alpha=0.5, label='$y = x$')
ax.set_xlim(-2, 2)
ax.set_ylim(-2, 2)
ax.set_aspect('equal')
ax.set_xlabel('$x$')
ax.set_ylabel('$y$')
ax.set_title('$\\sin(x)$ and $\\arcsin(x)$: Reflection about $y = x$')
ax.legend()
ax.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('inverse_function_reflection.png', dpi=150, bbox_inches='tight')
plt.show()
まとめ
本記事では、逆関数の微分について解説しました。
- 逆関数の微分定理: $(f^{-1})'(y) = 1 / f'(x)$、つまり逆関数の微分は元の関数の微分の逆数
- $\arcsin x$ の微分: $1 / \sqrt{1 – x^2}$
- $\arccos x$ の微分: $-1 / \sqrt{1 – x^2}$
- $\arctan x$ の微分: $1 / (1 + x^2)$
- 合成関数の微分と組み合わせることで、複雑な関数の微分も計算できる
逆関数の微分を理解したら、次は対数微分法や高階微分に進みましょう。