あかり描像のブログ

思ったことや学習記録を適当に書いていきます。お気軽にコメントください

双曲線関数とか

主に大学入試を過学習してしまったがために学部の計算がすらすらできなくなってしまった方(※) に向けたまとめノート。

(※)  \displaystyle \int \frac{1}{\sqrt{x^2 + a^2}} \, dx を見て吐き気を催す方等。私とか私とか、私とか。

双曲線関数とその逆関数、およびそれらの微分, 積分について主に扱います。

Wikipedia の当該記事を見れば全部書いてあるんだろうけど、普段の計算に支障が出ないよう普段から頭に入れておくべきだと思われる公式を 1 つのページに収めておくことはそれなりの価値があると思うので、とりあえずこのかたちで置いておくことにします。


なお、本記事に載せてある図を作成するための TikZ のコードは、lualatex による動作を確認しています。platex を使用している方は \documentclass のオプションに dvipdfmx 等を追記したのちタイプセットしてください*1

双曲線関数

定義


\begin{align*}
\sinh x &= \frac{e^x - e^{-x}}{2}\\
\cosh x &= \frac{e^x + e^{-x}}{2}\\
\tanh x &= \frac{\sinh x}{\cosh x} = \frac{e^x - e^{-x}}{e^x + e^{-x}}
\end{align*}


 \sinh x  \cosh x  \tanh x
定義域  \mathbb{R}  \mathbb{R}  \mathbb{R}
値域  \mathbb{R}  [1, +\infty)  (-1, 1)
双曲線関数の概形


TikZ コード

% hyp.tex
% author: bakkyalo
\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

% origin
\draw (0, 0) node[below right] {O};

% axes
\draw[-stealth] (-4, 0) -- (4, 0) node[right] {$x$};
\draw[-stealth] (0, -4) -- (0, 4) node[above] {$y$};

% y = 1
\draw[dashed] (-3.5, 1) -- (3.5, 1);
\draw (0, 1) node[below left] {$1$};

% y = -1
\draw[dashed] (-3.5, -1) -- (3.5, -1);
\draw (0, -1) node[below left] {$-1$};

% graph
\draw[blue, thick, domain=-2.0:2.0] plot (\x, {sinh(\x)}) node[right] {$\sinh x$};
\draw[red, thick, domain=-2.0:2.0] plot (\x, {cosh(\x)}) node[left, red] {$\cosh x$};
\draw[green, thick, domain=-3.0:3.0] plot (\x, {tanh(\x)}) node[below, green, fill=white] {$\tanh x$};

\end{tikzpicture}
\end{document}


相互関係


\begin{align*}
&\tanh x = \frac{\sinh x}{\cosh x}\\
&\cosh^2 x - \sinh^2 x = 1\\
&1 - \tanh^2 x = \frac{1}{\cosh^2 x}\\
&\frac{1}{\tanh^2 x} - 1 = \frac{1}{\sinh^2 x}
\end{align*}



  • とりあえず大事なのは2つ目。
     (x, y) = (\cosh t, \sinh t) が直角双曲線  x^2 - y^2 = 1 \ (x>0) の媒介変数表示になっていることが分かる。
  • 実用の観点から
     1 + \sinh^2 x = \cosh^2 x
    の形でも把握しておく。
  • 3, 4 つ目は応用的な積分計算等に使うかもしれない。 (あまり見たことないけど)

加法定理


\begin{align*}
  \sinh (\alpha \pm \beta) &= \sinh \alpha \cosh \beta \pm \cosh \alpha \sinh \beta\\
  \cosh (\alpha \pm \beta) &= \cosh \alpha \cosh \alpha \pm \sinh \alpha \sinh \beta\\
  \tanh (\alpha \pm \beta) &= \frac{\tanh \alpha \pm \tanh \beta}{1 \pm \tanh \alpha \tanh \beta}
\end{align*}

2倍角の公式


\begin{align*}
  \sinh 2\alpha &= 2\sinh \alpha \cosh \alpha\\
    \cosh 2\alpha &= \cosh^2 \alpha + \sinh^2 \alpha\\
        &= 2\cosh^2 \alpha - 1\\
        &= 1 + 2 \sinh^2 \alpha\\
  \tanh^2 \alpha &= \frac{2\tanh \alpha}{1 + \tanh^2 \alpha}
\end{align*}

半角公式


\begin{align*}
  \sinh^2 \alpha &= \frac{1}{2} ( \cosh 2\alpha - 1 )\\
  \cosh^2 \alpha &= \frac{1}{2} ( \cosh 2\alpha + 1 )
\end{align*}

微分公式


\begin{align*}
  (\sinh x)^\prime &= \cosh x\\
  (\cosh x)^\prime &= \sinh x\\
  (\tanh x)^\prime &= \frac{1}{\cosh^2 x}\\
  \left( \frac{1}{\tanh x} \right)^\prime &= - \frac{1}{\sinh^2 x}
\end{align*}

積分公式


\begin{align*}
  \int \sinh x \, dx &= \cosh x + C\\
  \int \cosh x \, dx &= \sinh x + C\\
  \int \frac{1}{\cosh^2 x} \, dx &= \tanh x + C\\
  \int \frac{1}{\sinh^2 x} \, dx &= - \frac{1}{\tanh x} + C
\end{align*}

双曲線関数

 \cosh のみ単射でないため、上半分と下半分に分かれる。

 \sinh^{-1} x  \cosh^{-1} x  \tanh^{-1} x
定義域  \mathbb{R}  [1, +\infty)  (-1, 1)
値域  \mathbb{R}  [0, +\infty)  \mathbb{R}
双曲線関数の概形


TikZ コード

% ahyp.tex
% author: bakkyalo
\documentclass{standalone}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}

% origin
\draw (0, 0) node[below right] {O};

% axes
\draw[-stealth] (-4, 0) -- (4, 0) node[right] {$x$};
\draw[-stealth] (0, -4) -- (0, 4) node[above] {$y$};

% x = 1
\draw[dashed] (1, -3.5) -- (1, 3.5);
\draw (1, 0) node[below left] {$1$};

% x = -1
\draw[dashed] (-1, -3.5) -- (-1, 3.5);
\draw (-1, 0) node[below left] {$-1$};

% graph
\draw[blue, thick, domain=-2.0:2.0] plot ({sinh(\x)}, {\x}) node[above] {$\sinh^{-1} x$};
\draw[red, thick, domain=0:2.0] plot ({cosh(\x)}, {\x}) node[below right, red] {$\cosh^{-1} x$};
\draw[red, thick, dashed, domain=0:-2.0] plot ({cosh(\x)}, {\x}) node[below right, red] {$- \cosh^{-1} x$};
\draw[green, thick, domain=-4.0:4.0] plot ({tanh(\x)}, {\x}) node[below, green, fill=white] {$\tanh^{-1} x$};

\end{tikzpicture}

\end{document}


log による表現


\begin{align*}
  \sinh^{-1} x &= \log (x + \sqrt{x^2 + 1})\\
  \cosh^{-1} x &= \log (x + \sqrt{x^2 - 1})\\
  -\cosh^{-1} x &= \log (x - \sqrt{x^2 - 1})\\
  \tanh^{-1} x &= \frac{1}{2} \log \frac{1+x}{1-x}
\end{align*}


 \cosh y = x y について解くと  y = \log (x \pm \sqrt{x^2 - 1}) となり、上半分を  +\cosh^{-1} x、下半分を  -\cosh^{-1} x として採用する。両者が両立することは簡単な  \log の計算によっても確かめられる。

微分公式

 
\begin{align*}
  (\sinh^{-1} x )^\prime &= \frac{1}{\sqrt{x^2 + 1}}\\
  (\cosh^{-1} x)^\prime &= \frac{1}{\sqrt{x^2 - 1}}\\
  (\tanh^{-1} x)^\prime &= \frac{1}{1-x^2}
\end{align*}

積分公式


\begin{align*}
  \int \frac{1}{\sqrt{x^2 + 1}} \, dx &= \sinh^{-1} x + C\\
  \int \frac{1}{\sqrt{x^2 - 1}} \, dx &= \cosh^{-1} x + C\\
  \int \frac{1}{1-x^2} \, dx &= \tanh^{-1} x + C
\end{align*}


いずれも高校数学範囲内でできなくはないもの。ただ、3 つ目は部分分数分解をする形になっているからまだマシなものの、最初の 2 つは (一般的な無理関数の積分の処方箋に従って) それぞれ  x = \tan \theta, \ x = \sec\theta などとおこうものには ( \sec積分を知っていたら一発ですが) 計算が大変なことになってしまう。最初から逆双曲線関数で書けることを知っていると見通しが良い。なお、これらは公式として覚えるというよりは、次節と次々節で示すような処方箋としてとらえた方が実用的かもしれない。
 \sinh^{-1} x は意外といろんな場所で出てくるので覚えておくと得するような気がします。(対する  \cosh^{-1} x はあまり見たことありませんが)

√(x²+a²) の積分

 \sqrt{x^2 + a^2} 積分を見たら  x = a \sinh y とおけ!

これは  1 + \sinh^2 y = \cosh^2 y と書けることを利用している。

 \displaystyle \int \frac{1}{\sqrt{x^2 + a^2}} \, dx \qquad (a>0)

 x = a \sinh y と置くと、 dx = a \cosh y \, dy, \quad  x^2 + a^2 = a^2 \cosh^2 y より

\begin{align*}
  \int \frac{1}{\sqrt{x^2 + a^2}} \, dx 
    &= \int dy
    = y + C
    = \sinh^{-1} \left( \frac{x}{a} \right) + C.
\end{align*}

補足
 I = \displaystyle \int \sqrt{x^2 + a^2} \, dx \quad (a > 0) は、部分積分により  I = x \sqrt{x^2 + a^2} + a^2 \displaystyle \int \frac{dx}{\sqrt{x^2 + a^2}} -I から求まる。

√(x²-a²) の積分

 \sqrt{x^2 - a^2} 積分を見たら  x = a \cosh y とおけ!

これは  \cosh^2 y - 1 = \sinh^2 y と書けることを利用している。


練習問題 — 懸垂線

紐の両端を固定させて垂らした時にできる曲線は懸垂線と呼ばれます。

この方程式が  \cosh で書けることを (少々ガバいですが) 確認してみます*2

問題設定

座標の設定。図中の力の大きさは符号を考慮していないことに注意


TikZ コード

% cat.tex
% author: bakkyalo
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{angles, quotes}

\begin{document}
\begin{tikzpicture}[scale=0.9]

% coordinates
\coordinate (O) at (0, 0);
\coordinate (M) at (1, {cosh(1) - 1});
\coordinate (P) at (2, {cosh(2) - 1});
\coordinate (dP) at (2.4, {sinh(2)*2.4 + cosh(2) - 1 - 2 * sinh(2)});
\coordinate (H) at (2.5, {cosh(2) - 1});

% points
\fill (O) circle[radius=1mm] node[below left] {O};
\fill (P) circle[radius=1mm] node[left] {P};

% axes
\draw[-stealth] (-4, 0) -- (4, 0) node[right] {$x$};
\draw[-stealth] (0, -1) -- (0, 5) node[above] {$y$};

% graph
\draw[thin, domain=-2.4:2.4] plot (\x, {cosh(\x) - 1}) node[above] {$y = f(x)$};

\draw[ultra thick, domain=0:2.0] plot (\x, {cosh(\x) - 1}); 

% gravity
\draw[-latex, red, thick] (M) -- (1, -1) node[midway, right] {$\lambda l g$};

% tension
\draw[-latex, blue, thick] (O) -- (-1, 0) node[below] {$T(0)$};
\draw[-latex, blue, thick] (P) -- (dP) node[right] {$T(x)$};

% angle
\draw[thin] (P) -- (H);
\draw pic[-latex, "$\theta$", draw=black, angle eccentricity=2, angle radius=3mm] {angle=H--P--dP};

\end{tikzpicture}
\end{document}

求める曲線を  y = f(x) とおき、図のように紐の極小点を原点とする  xy 座標をとって、点  \mbox{P}\, (x, f(x)) における接線と  x 軸とのなす角を  \theta とおきます。すると、 f^\prime(x) = \tan\theta です。

紐の質量線密度を  \lambda 、重力加速度を  g とし、点  \mbox{P} における張力の大きさを  T(x) とおいたとき、 \stackrel{\frown}{\mbox{OP}} に加わる力のつりあいの式を考えます。

微分方程式の導出

 \stackrel{\frown}{\mbox{OP}} の弧長を  l とすると、 \stackrel{\frown}{\mbox{OP}} に加わる重力は  \lambda l g であるため、鉛直・水平方向のつりあいの式はそれぞれ次のようになります。


\begin{alignat*}{2}
  &\mbox{鉛直:} &\quad & T(x) \sin\theta = \lambda l g\\
  &\mbox{水平:} &\quad & T(x) \cos\theta = T(0)
\end{alignat*}

辺々比を取って  T(x) を消去すると、


\begin{equation*}
\tan\theta = \displaystyle \frac{\lambda l g}{T(0)} 
\end{equation*}

ここで、 \tan\theta = f^\prime (x) だったことと、弧長  l l = \displaystyle \int_0^x \sqrt{ 1 + \{ f^\prime (u) \}^2 } \, du と書けることを使い、 \xi = \frac{\lambda g}{T(0)} とおくと、次の積分方程式が得られます。

 
f^\prime(x) = \displaystyle \xi \int_0^x \sqrt{ 1 + \{ f^\prime (u) \}^2 } \, du

あとは、これを微分すると微分方程式


f^{\prime\prime} (x) =  \xi \sqrt{ 1 + \{ f^\prime (x) \}^2 }

が得られるので、これに適当な境界条件を設けて解けばよいです。
上の座標の設定から  f(0) = 0、また積分方程式 x = 0 として  f^\prime(0) = 0 が出てくるので、これらを境界条件にすればよいでしょう (ガバポイント)。*3

解く


\begin{equation*}
  \left\{
  \begin{aligned}
    f^{\prime\prime} (x) &= \xi \sqrt{1 + \{ f^\prime (x) \}^2 }\\
    f (0) &= 0\\
    f^\prime (0) &= 0
  \end{aligned}
  \right.
\end{equation*}

 z = f^\prime(x) とおくと、微分方程式は次のように書き直せます。

\begin{equation*}
  \displaystyle \frac{dz}{dx} = \xi \sqrt{1 + z^2} \qquad
    \therefore \ \frac{1}{\sqrt{1 + z^2}} \, dz =  \xi dx
\end{equation*}
さて、これはいわゆる変数分離形なので、両辺を積分しますが、左辺は  \sinh^{-1} z になるのでした。右辺も簡単で  \xi x積分定数 f^\prime(0) = 0 から  0 となります。
結局、
 
\sinh^{-1} z = \xi x \qquad \therefore
z = f^\prime (x) =  \sinh(\xi x)
となるので、最後にもう一度積分して


\begin{equation*}
  f(x) = \displaystyle \int \sinh (\xi x) \, dx
    = \frac{1}{\xi} \cosh (\xi x) + \mbox{const.}
\end{equation*}

 f(0) = 0 から任意定数が  -\dfrac{1}{\xi} と求まり、  f(x) = \displaystyle \frac{1}{\xi} (\cosh( \xi x) - 1)

確かに  \cosh が現れることが分かりました。

*1:ただ、自分の環境ではなぜか白紙の 2 ページ目が生成されてしまいます。

*2:2年生でやる解析力学では変分法の練習問題として与えられることが多いと思いますが、紐のつりあいの式から微分方程式を作って解くことができるので、この方法で行くことにします

*3:材料力学 (と多少の曲線曲面論) の力を借りると、 f(x) の一階微分はたわみ角 ( x 軸方向と接線方向のなす角) を表していることが分かります。つまり、 f^\prime (0) = 0 というのは「  x=0 におけるたわみ角は  0 です」と言っている訳で、天下り的になりますがそうなるように問題を設定したという事になります。 x=0 における張力がちょうど  -x 方向になっているのがそれによって現れていますね。なお、今回は関係ないですが、 f(x) の二階微分は曲げモーメント、三階微分は剪断力を表しており、高階の微分方程式境界条件を与えるのに重要になってきます。この辺の話もいつか記事にまとめたいとは思っていますが、いつになるんでしょうね。。。