三角関数が単位円 $x^2 + y^2 = 1$ を媒介変数表示するのと同様に、双曲線関数(hyperbolic functions)は双曲線 $x^2 – y^2 = 1$ を媒介変数表示する関数です。双曲線関数は微分方程式の解、統計力学の分配関数、相対論的速度の加法則など、理工系のあらゆる場面で登場します。
三角関数との類似性が非常に高いため、三角関数を理解していれば双曲線関数の習得は効率的に進みます。
本記事の内容
- 双曲線関数 $\sinh$, $\cosh$, $\tanh$ の定義
- 指数関数との関係
- 基本的な恒等式
- 微分公式と積分公式
- 逆双曲線関数
- 懸垂線への応用
- Pythonでの可視化
前提知識
この記事を読む前に、以下の記事を読んでおくと理解が深まります。
双曲線関数の定義
指数関数による定義
双曲線関数は指数関数 $e^x$ を用いて以下のように定義されます。
$$ \boxed{\sinh x = \frac{e^x – e^{-x}}{2}} $$
$$ \boxed{\cosh x = \frac{e^x + e^{-x}}{2}} $$
$$ \boxed{\tanh x = \frac{\sinh x}{\cosh x} = \frac{e^x – e^{-x}}{e^x + e^{-x}}} $$
「sinh」は「ハイパボリックサイン」、「cosh」は「ハイパボリックコサイン」、「tanh」は「ハイパボリックタンジェント」と読みます。
直感的には、$\cosh x$ は $e^x$ と $e^{-x}$ の平均、$\sinh x$ はその半差です。
その他の双曲線関数
三角関数と同様に、逆数関数も定義されます。
$$ \mathrm{csch}\, x = \frac{1}{\sinh x}, \quad \mathrm{sech}\, x = \frac{1}{\cosh x}, \quad \coth x = \frac{1}{\tanh x} $$
名前の由来:双曲線との関係
三角関数 $(\cos\theta, \sin\theta)$ が単位円 $x^2 + y^2 = 1$ 上の点を表すのと同様に、$(\cosh t, \sinh t)$ は直角双曲線 $x^2 – y^2 = 1$ 上の点を表します。実際に確認すると:
$$ \cosh^2 t – \sinh^2 t = \left(\frac{e^t + e^{-t}}{2}\right)^2 – \left(\frac{e^t – e^{-t}}{2}\right)^2 $$
分子を展開します:
$$ = \frac{e^{2t} + 2 + e^{-2t}}{4} – \frac{e^{2t} – 2 + e^{-2t}}{4} $$
$$ = \frac{(e^{2t} + 2 + e^{-2t}) – (e^{2t} – 2 + e^{-2t})}{4} $$
$$ = \frac{4}{4} = 1 $$
したがって:
$$ \boxed{\cosh^2 t – \sinh^2 t = 1} $$
これは三角関数の $\cos^2\theta + \sin^2\theta = 1$ に対応する双曲線関数の基本恒等式です。
基本的な性質
偶奇性
$\cosh x$ は偶関数、$\sinh x$ は奇関数です:
$$ \cosh(-x) = \frac{e^{-x} + e^x}{2} = \cosh x $$
$$ \sinh(-x) = \frac{e^{-x} – e^x}{2} = -\sinh x $$
$$ \tanh(-x) = \frac{\sinh(-x)}{\cosh(-x)} = \frac{-\sinh x}{\cosh x} = -\tanh x $$
特殊値
$$ \sinh 0 = 0, \quad \cosh 0 = 1, \quad \tanh 0 = 0 $$
極限での振る舞い
$x \to \infty$ のとき $e^{-x} \to 0$ なので:
$$ \sinh x \approx \frac{e^x}{2}, \quad \cosh x \approx \frac{e^x}{2} \quad (x \to \infty) $$
$$ \tanh x \to 1 \quad (x \to \infty), \quad \tanh x \to -1 \quad (x \to -\infty) $$
加法定理
三角関数と類似した加法定理が成り立ちます(符号に注意):
$$ \sinh(x + y) = \sinh x \cosh y + \cosh x \sinh y $$
$$ \cosh(x + y) = \cosh x \cosh y + \sinh x \sinh y $$
$$ \tanh(x + y) = \frac{\tanh x + \tanh y}{1 + \tanh x \tanh y} $$
$\cosh$ の加法定理では $\sinh x \sinh y$ の符号がプラスです。三角関数の $\cos(x+y) = \cos x \cos y – \sin x \sin y$ とは符号が異なる点に注意してください。
その他の恒等式
$$ 1 – \tanh^2 x = \mathrm{sech}^2\, x $$
$$ \cosh^2 x = \frac{\cosh 2x + 1}{2}, \quad \sinh^2 x = \frac{\cosh 2x – 1}{2} $$
$$ \sinh 2x = 2\sinh x \cosh x $$
微分公式
双曲線関数の微分は三角関数と非常に似ていますが、符号が異なる場合があります。
sinh x の微分
$$ \frac{d}{dx}\sinh x = \frac{d}{dx}\left(\frac{e^x – e^{-x}}{2}\right) = \frac{e^x + e^{-x}}{2} = \cosh x $$
$$ \boxed{\frac{d}{dx}\sinh x = \cosh x} $$
cosh x の微分
$$ \frac{d}{dx}\cosh x = \frac{d}{dx}\left(\frac{e^x + e^{-x}}{2}\right) = \frac{e^x – e^{-x}}{2} = \sinh x $$
$$ \boxed{\frac{d}{dx}\cosh x = \sinh x} $$
三角関数では $(\cos x)’ = -\sin x$ とマイナスが付きますが、双曲線関数では $(\cosh x)’ = \sinh x$ とマイナスが付かない点が重要な違いです。
tanh x の微分
商の微分法則を用います:
$$ \frac{d}{dx}\tanh x = \frac{d}{dx}\frac{\sinh x}{\cosh x} = \frac{\cosh^2 x – \sinh^2 x}{\cosh^2 x} = \frac{1}{\cosh^2 x} $$
$$ \boxed{\frac{d}{dx}\tanh x = \mathrm{sech}^2\, x = \frac{1}{\cosh^2 x}} $$
微分公式のまとめ
| 関数 | 導関数 | 三角関数との比較 |
|---|---|---|
| $\sinh x$ | $\cosh x$ | $(\sin x)’ = \cos x$ |
| $\cosh x$ | $\sinh x$ | $(\cos x)’ = -\sin x$ |
| $\tanh x$ | $\mathrm{sech}^2 x$ | $(\tan x)’ = \sec^2 x$ |
積分公式
微分公式の逆から、以下の積分公式が得られます。
$$ \boxed{\int \sinh x \, dx = \cosh x + C} $$
$$ \boxed{\int \cosh x \, dx = \sinh x + C} $$
$$ \boxed{\int \tanh x \, dx = \ln(\cosh x) + C} $$
$\tanh x$ の積分は以下のように導出します:
$$ \int \tanh x \, dx = \int \frac{\sinh x}{\cosh x} dx $$
$u = \cosh x$ と置換すると $du = \sinh x \, dx$ なので:
$$ = \int \frac{du}{u} = \ln |u| + C = \ln(\cosh x) + C $$
$\cosh x > 0$ なので絶対値は不要です。
逆双曲線関数
定義
逆双曲線関数は双曲線関数の逆関数です。対数関数を用いて陽に表すことができます。
$\mathrm{arcsinh}$(逆 sinh)の導出
$y = \sinh x = \frac{e^x – e^{-x}}{2}$ を $x$ について解きます。$u = e^x$ と置くと:
$$ y = \frac{u – u^{-1}}{2} $$
$$ 2yu = u^2 – 1 $$
$$ u^2 – 2yu – 1 = 0 $$
二次方程式の解の公式より:
$$ u = \frac{2y \pm \sqrt{4y^2 + 4}}{2} = y \pm \sqrt{y^2 + 1} $$
$u = e^x > 0$ なので正の根を取ります。$\sqrt{y^2 + 1} > |y|$ より $y + \sqrt{y^2+1} > 0$ は常に成り立ちます:
$$ e^x = y + \sqrt{y^2 + 1} $$
$$ \boxed{\mathrm{arcsinh}\, y = \ln\left(y + \sqrt{y^2 + 1}\right)} $$
$\mathrm{arccosh}$(逆 cosh)の導出
同様に $y = \cosh x$ を解くと:
$$ u^2 – 2yu + 1 = 0 $$
$$ u = y \pm \sqrt{y^2 – 1} $$
$\cosh x \geq 1$ より $y \geq 1$ で定義され、$x \geq 0$ の枝を取ると:
$$ \boxed{\mathrm{arccosh}\, y = \ln\left(y + \sqrt{y^2 – 1}\right) \quad (y \geq 1)} $$
$\mathrm{arctanh}$(逆 tanh)の導出
$y = \tanh x = \frac{e^x – e^{-x}}{e^x + e^{-x}}$ を解きます。$u = e^{2x}$ と置くと:
$$ y = \frac{u – 1}{u + 1} $$
$$ y(u + 1) = u – 1 $$
$$ u(y – 1) = -1 – y $$
$$ u = \frac{1 + y}{1 – y} $$
$$ e^{2x} = \frac{1+y}{1-y} $$
$$ \boxed{\mathrm{arctanh}\, y = \frac{1}{2}\ln\frac{1+y}{1-y} \quad (|y| < 1)} $$
逆双曲線関数の微分
$$ \frac{d}{dx}\mathrm{arcsinh}\, x = \frac{1}{\sqrt{x^2 + 1}} $$
$$ \frac{d}{dx}\mathrm{arccosh}\, x = \frac{1}{\sqrt{x^2 – 1}} \quad (x > 1) $$
$$ \frac{d}{dx}\mathrm{arctanh}\, x = \frac{1}{1 – x^2} \quad (|x| < 1) $$
応用:懸垂線
懸垂線とは
一様な密度を持つ柔軟なケーブルを両端で吊るしたとき、重力によって形成される曲線を懸垂線(catenary)と呼びます。「catenary」はラテン語の catena(鎖)に由来します。
懸垂線の方程式の導出
ケーブルの線密度を $\rho$(kg/m)、重力加速度を $g$ とします。ケーブルの最下点を原点に取り、最下点での張力の水平成分を $T_0$ とします。
最下点から弧長 $s$ だけ離れた点 $P$ で、ケーブルの微小区間に作用する力の釣り合いを考えます。
水平方向の釣り合い:
$$ T\cos\theta = T_0 $$
鉛直方向の釣り合い:
$$ T\sin\theta = \rho g s $$
辺々割ると:
$$ \tan\theta = \frac{\rho g s}{T_0} $$
$\tan\theta = \frac{dy}{dx}$ であり、弧長と座標の関係 $\frac{ds}{dx} = \sqrt{1 + \left(\frac{dy}{dx}\right)^2}$ を用いると:
$$ \frac{dy}{dx} = \frac{\rho g s}{T_0} $$
両辺を $x$ で微分します:
$$ \frac{d^2y}{dx^2} = \frac{\rho g}{T_0}\frac{ds}{dx} = \frac{\rho g}{T_0}\sqrt{1 + \left(\frac{dy}{dx}\right)^2} $$
$a = T_0 / (\rho g)$ と置き、$p = dy/dx$ とすると:
$$ \frac{dp}{dx} = \frac{1}{a}\sqrt{1 + p^2} $$
変数分離します:
$$ \frac{dp}{\sqrt{1 + p^2}} = \frac{dx}{a} $$
左辺の積分は $\mathrm{arcsinh}$ です:
$$ \mathrm{arcsinh}\, p = \frac{x}{a} + C_1 $$
初期条件 $p(0) = dy/dx|_{x=0} = 0$(最下点で水平)より $C_1 = 0$。したがって:
$$ p = \frac{dy}{dx} = \sinh\frac{x}{a} $$
もう一度積分すると:
$$ y = a\cosh\frac{x}{a} + C_2 $$
$y(0) = a$ とする慣習(最下点の高さを $a$ とする)を採用すると $C_2 = 0$:
$$ \boxed{y = a\cosh\frac{x}{a}} $$
これが懸垂線の方程式です。$\cosh$ が自然に現れることが、双曲線関数の重要な応用例です。
Pythonでの可視化
import numpy as np
import matplotlib.pyplot as plt
fig, axes = plt.subplots(2, 2, figsize=(14, 11))
# --- (1) sinh, cosh, tanh のグラフ ---
x = np.linspace(-3, 3, 500)
axes[0, 0].plot(x, np.sinh(x), 'b-', lw=2, label=r'$\sinh x$')
axes[0, 0].plot(x, np.cosh(x), 'r-', lw=2, label=r'$\cosh x$')
axes[0, 0].plot(x, np.tanh(x), 'g-', lw=2, label=r'$\tanh x$')
axes[0, 0].axhline(1, color='gray', ls=':', alpha=0.5)
axes[0, 0].axhline(-1, color='gray', ls=':', alpha=0.5)
axes[0, 0].set_xlabel('$x$')
axes[0, 0].set_ylabel('$y$')
axes[0, 0].set_title('Hyperbolic functions', fontsize=13)
axes[0, 0].legend(fontsize=12)
axes[0, 0].set_ylim(-5, 5)
axes[0, 0].grid(True, alpha=0.3)
# --- (2) 双曲線 x^2 - y^2 = 1 上の点 ---
t = np.linspace(-2, 2, 300)
x_hyp = np.cosh(t)
y_hyp = np.sinh(t)
# 双曲線全体
x_curve = np.linspace(1, 4, 200)
y_upper = np.sqrt(x_curve**2 - 1)
axes[0, 1].plot(x_curve, y_upper, 'b--', alpha=0.5)
axes[0, 1].plot(x_curve, -y_upper, 'b--', alpha=0.5)
axes[0, 1].plot(x_hyp, y_hyp, 'r-', lw=2.5, label=r'$(\cosh t, \sinh t)$')
# 特定の点をマーク
for t_val in [0, 0.5, 1.0, 1.5]:
axes[0, 1].plot(np.cosh(t_val), np.sinh(t_val), 'ko', ms=6)
axes[0, 1].annotate(f'$t={t_val}$',
(np.cosh(t_val), np.sinh(t_val)),
textcoords="offset points", xytext=(10, 5), fontsize=9)
axes[0, 1].set_xlabel('$x$')
axes[0, 1].set_ylabel('$y$')
axes[0, 1].set_title(r'Hyperbola $x^2 - y^2 = 1$', fontsize=13)
axes[0, 1].set_aspect('equal')
axes[0, 1].set_xlim(-0.5, 4.5)
axes[0, 1].set_ylim(-3, 3)
axes[0, 1].legend(fontsize=11)
axes[0, 1].grid(True, alpha=0.3)
# --- (3) 微分の検証 ---
x = np.linspace(-3, 3, 500)
dx = 1e-7
sinh_deriv_numerical = (np.sinh(x + dx) - np.sinh(x)) / dx
cosh_deriv_numerical = (np.cosh(x + dx) - np.cosh(x)) / dx
axes[1, 0].plot(x, np.cosh(x), 'b-', lw=2, label=r"$\cosh x$ (analytical $\sinh'$)")
axes[1, 0].plot(x, sinh_deriv_numerical, 'r--', lw=2, label=r"numerical $\sinh'$")
axes[1, 0].plot(x, np.sinh(x), 'g-', lw=2, label=r"$\sinh x$ (analytical $\cosh'$)")
axes[1, 0].plot(x, cosh_deriv_numerical, 'm--', lw=2, label=r"numerical $\cosh'$")
axes[1, 0].set_xlabel('$x$')
axes[1, 0].set_title('Derivatives of hyperbolic functions', fontsize=13)
axes[1, 0].legend(fontsize=10)
axes[1, 0].set_ylim(-5, 5)
axes[1, 0].grid(True, alpha=0.3)
# --- (4) 懸垂線 ---
x = np.linspace(-3, 3, 500)
for a in [0.5, 1.0, 2.0, 3.0]:
y = a * np.cosh(x / a)
axes[1, 1].plot(x, y, lw=2, label=f'$a = {a}$')
axes[1, 1].set_xlabel('$x$')
axes[1, 1].set_ylabel('$y$')
axes[1, 1].set_title(r'Catenary $y = a\cosh(x/a)$', fontsize=13)
axes[1, 1].legend(fontsize=11)
axes[1, 1].set_ylim(0, 8)
axes[1, 1].grid(True, alpha=0.3)
plt.tight_layout()
plt.show()
左上のグラフから、$\sinh x$ は奇関数で原点を通り、$\cosh x$ は偶関数で最小値 1 を取り、$\tanh x$ は $\pm 1$ に漸近することが分かります。右下の懸垂線では、パラメータ $a = T_0/(\rho g)$ が大きいほど曲線が平坦になることが確認できます。
まとめ
本記事では、双曲線関数の定義から応用まで解説しました。
- 定義: $\sinh x = (e^x – e^{-x})/2$, $\cosh x = (e^x + e^{-x})/2$
- 基本恒等式: $\cosh^2 x – \sinh^2 x = 1$
- 微分: $(\sinh x)’ = \cosh x$, $(\cosh x)’ = \sinh x$(符号に注意)
- 逆双曲線関数: 対数関数を用いて陽に表せる
- 懸垂線: $y = a\cosh(x/a)$ — 双曲線関数の代表的な応用
次のステップとして、以下の記事も参考にしてください。