双曲線関数 計算ツール|sinh・cosh・tanh と逆関数、値表・微分・工学応用
双曲線関数(Hyperbolic Functions)6種類 sinh, cosh, tanh, coth, sech, csch と、その逆双曲線関数 arsinh, arcosh, artanh を即計算。カテナリー曲線(懸垂線)・特殊相対性理論・ニューラルネットのtanh活性化・熱伝導方程式・波動方程式・オイラー公式との関係まで、値表・微分積分公式・工学応用を体系的に解説します。
双曲線関数 計算機
定義式と指数関数表現
基本定義
sinh(x) = (eˣ − e⁻ˣ) / 2
cosh(x) = (eˣ + e⁻ˣ) / 2
tanh(x) = sinh(x) / cosh(x) = (eˣ − e⁻ˣ) / (eˣ + e⁻ˣ)
coth(x) = 1 / tanh(x) / sech(x) = 1 / cosh(x) / csch(x) = 1 / sinh(x)
双曲線関数は指数関数 eˣ の対称成分・反対称成分として定義されます。sinh は奇関数(sinh(-x) = -sinh(x))、cosh は偶関数(cosh(-x) = cosh(x))で、両者の和は eˣ、差は e⁻ˣ に等しくなります(eˣ = cosh(x) + sinh(x))。
幾何学的定義
単位円 x²+y²=1 から三角関数(cos,sin)が定義されるように、双曲線 x²−y²=1 の右枝上の点を(cosh(t), sinh(t))と表現できます。ここで t は原点と点(cosh(t),sinh(t))および(1,0)で囲まれる領域の面積の2倍に対応する双曲線角です。
オイラー公式との関係
cos(x) = cosh(ix) / sin(x) = −i·sinh(ix)
複素数を経由すると、双曲線関数と三角関数は同一の関数の実軸・虚軸方向への展開として統合されます。オイラーの公式 e^(ix) = cos(x) + i sin(x) と対応する関係で、複素解析・電気工学の交流回路解析に多用されます。
三角関数との対比
| 項目 | 三角関数(円関数) | 双曲線関数 |
|---|---|---|
| 幾何学的定義 | 単位円 x²+y²=1 | 単位双曲線 x²−y²=1 |
| 指数関数表現 | (e^(ix) ± e^(−ix))/2i, /2 | (eˣ ± e⁻ˣ)/2 |
| 周期性 | 2π 周期 | 周期なし(実軸上) |
| 値域(sin/sinh) | [−1, 1] | (−∞, ∞) |
| 値域(cos/cosh) | [−1, 1] | [1, ∞) |
| 値域(tan/tanh) | (−∞, ∞), 発散点あり | (−1, 1), 発散点なし |
| 基本恒等式 | sin²+cos²=1 | cosh²−sinh²=1 |
| 微分(sin/sinh) | cos | cosh |
| 微分(cos/cosh) | −sin | +sinh |
形式的にはほぼ相似の代数構造を持ち、加法定理・倍角公式・微分積分にも並列した公式群が存在します。工学分野では「双曲線関数は非周期振動・指数減衰・カテナリー曲線を扱う三角関数」と理解すると位置付けが明確になります。
主要値の早見表
実務で頻用する主要値をまとめました。値は小数点以下6桁を掲載。
| x | sinh(x) | cosh(x) | tanh(x) | eˣ |
|---|---|---|---|---|
| 0 | 0.000000 | 1.000000 | 0.000000 | 1.000000 |
| 0.1 | 0.100167 | 1.005004 | 0.099668 | 1.105171 |
| 0.25 | 0.252612 | 1.031413 | 0.244919 | 1.284025 |
| 0.5 | 0.521095 | 1.127626 | 0.462117 | 1.648721 |
| 0.75 | 0.822317 | 1.294683 | 0.635149 | 2.117000 |
| 1.0 | 1.175201 | 1.543081 | 0.761594 | 2.718282 |
| 1.5 | 2.129279 | 2.352410 | 0.905148 | 4.481689 |
| 2.0 | 3.626860 | 3.762196 | 0.964028 | 7.389056 |
| 2.5 | 6.050204 | 6.132289 | 0.986614 | 12.182494 |
| 3.0 | 10.017875 | 10.067662 | 0.995055 | 20.085537 |
| 4.0 | 27.289917 | 27.308233 | 0.999329 | 54.598150 |
| 5.0 | 74.203211 | 74.209949 | 0.999909 | 148.413159 |
x=3 で tanh は既に 0.995 に達し、以後急速に 1 に漸近します。ニューラルネットのtanh活性化で「勾配消失」が起こる典型的な領域です。
恒等式・加法定理・倍角公式
基本恒等式
cosh²(x) − sinh²(x) = 1
1 − tanh²(x) = sech²(x)
coth²(x) − 1 = csch²(x)
加法定理
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) = (tanh(x)±tanh(y)) / (1±tanh(x)tanh(y))
三角関数の加法定理と比較すると、cosh の加法定理で符号が「+」になる点、tanh の分母が「1±」になる点(三角関数は「1∓」)が異なります。混同しやすいので暗記時は注意が必要です。
倍角・半角公式
sinh(2x) = 2 sinh(x) cosh(x)
cosh(2x) = cosh²(x) + sinh²(x) = 2cosh²(x)−1 = 1+2sinh²(x)
tanh(2x) = 2 tanh(x) / (1 + tanh²(x))
微分・積分公式
微分
d/dx sinh(x) = cosh(x)
d/dx cosh(x) = sinh(x)
d/dx tanh(x) = sech²(x) = 1 − tanh²(x)
d/dx coth(x) = −csch²(x)
d/dx sech(x) = −sech(x)·tanh(x)
d/dx csch(x) = −csch(x)·coth(x)
tanh の微分が「1 − tanh²」で書けるため、ニューラルネットの誤差逆伝播で計算が高速化される特徴があります。
積分
∫ sinh(x) dx = cosh(x) + C
∫ cosh(x) dx = sinh(x) + C
∫ tanh(x) dx = ln|cosh(x)| + C
∫ sech²(x) dx = tanh(x) + C
∫ 1/√(x²+1) dx = arsinh(x) + C
∫ 1/√(x²−1) dx = arcosh(x) + C(x>1)
逆双曲線関数
arsinh(x) = ln(x + √(x²+1))
arcosh(x) = ln(x + √(x²−1)) (x ≥ 1)
artanh(x) = (1/2) ln((1+x)/(1−x)) (|x| < 1)
逆双曲線関数は「エリア関数(area functions)」とも呼ばれ、記号は arsinh, arcosh, artanh(または asinh, acosh, atanh)が国際的な標準です。ISO 80000-2「量及び単位-第2部:数学的記号」で規定されています。「sinh⁻¹」表記は −1乗と紛らわしいため、学術論文・技術文書では arsinh 表記を推奨されます。
微分
d/dx arsinh(x) = 1 / √(x²+1)
d/dx arcosh(x) = 1 / √(x²−1) (x>1)
d/dx artanh(x) = 1 / (1−x²) (|x|<1)
マクローリン展開
sinh(x) = x + x³/3! + x⁵/5! + x⁷/7! + ...
cosh(x) = 1 + x²/2! + x⁴/4! + x⁶/6! + ...
tanh(x) = x − x³/3 + 2x⁵/15 − 17x⁷/315 + ...
三角関数のマクローリン展開と比べ、双曲線関数は全て「+」の交互和(cosh/sinh)、tanh は係数のパターンが複雑(ベルヌーイ数を含む)。原点近傍の高速な数値計算や、arsinh, artanh の実装で利用されます。|x|<1 の範囲で急速に収束するため、実装ライブラリでは |x| が小さい領域で級数展開、大きい領域で漸近展開を切り替えて桁落ちを回避します。
工学・物理・機械学習の応用
カテナリー曲線(懸垂線)
両端を固定した鎖・ケーブルが自重で描く曲線は y = a·cosh(x/a)。橋梁工学・送電線設計・アーチ橋(逆カテナリー)で必須。ガウディのサグラダ・ファミリアやセントルイスのゲートウェイ・アーチも逆カテナリー形状。
特殊相対性理論のローレンツ変換
速度パラメータ β=v/c、ラピディティ φ=artanh(β) を導入すると、ローレンツ変換はミンコフスキー空間の双曲線角回転として表現され、γ=cosh(φ), βγ=sinh(φ) となる。異なる慣性系間の速度合成もラピディティの単純加算で可能。
ニューラルネットのtanh活性化関数
tanh は値域(-1,1)・中心0で、シグモイド関数より学習収束が速い。RNN・LSTMの隠れ状態、LayerNorm前の活性化に多用。ただし|x|>3で勾配消失が起きるため、深層NNではReLU系に置き換えられる場面も。
熱伝導・拡散方程式の解
有限区間の熱伝導境界値問題で、定常解や過渡解の一部が sinh, cosh の組み合わせで表現される。フィンの熱設計(熱伝導と対流の連成)で温度分布は cosh の比で与えられる。
電気工学の伝送線路方程式
分布定数線路の電圧・電流はγ(伝搬定数)を用いてV(x)=V₀·cosh(γx) − Z₀I₀·sinh(γx)。高周波配線・電力送電線の設計、Smithチャートの背後にある基本式。
統計・機械学習のロジット・オッズ
artanh はロジット(logit)関数の半分、ロジスティック関数の逆関数として現れる。生存分析のリスク比、ロジスティック回帰、情報理論の相互情報量計算等で使用。
よくある間違い・注意点
- 三角関数の加法定理と混同 — cosh(x+y)=cosh·cosh+sinh·sinh(符号+)。三角関数の cos(x+y)=cos·cos−sin·sin と符号が異なるため、暗記時の混同が頻発します。
- arcosh の定義域を忘れる — arcosh(x) は x≥1 でしか実数値を返しません。cosh の値域が[1,∞)であることに対応。JavaScriptの Math.acosh(0.5) は NaN を返します。
- artanh を |x|=1 で計算 — artanh(1)=∞、artanh(-1)=-∞ で発散します。ロジット計算等で確率0や1に近い値を入力すると桁溢れするため、微小εでクリッピングが必要。
- sinh⁻¹ 表記の誤解 — 数式中の sinh⁻¹(x) は「sinh の逆関数」であり、1/sinh(x) の意味ではありません。混同を避けるため学術文書では arsinh 表記が推奨。
- 大きな x での桁落ち — sinh(x)、cosh(x) は x=20 で約2億、x=50 で約2.6×10²¹ と急激に増大し、64bit浮動小数点でオーバーフロー。実装では対数変換または漸近展開で回避します。
- tanh(0)=1 と勘違い — tanh(0)=0 です。tanh は原点で0、無限遠で±1に漸近するS字曲線。cosh(0)=1 と混同しないでください。
- coth(0) の未定義 — coth(0) = 1/tanh(0) = 1/0 で未定義。x=0近傍で発散するため、実装で扱う際は例外処理が必要。
関連する規格・記法
- ISO 80000-2 ― 量及び単位-第2部:数学的記号(Quantities and units — Part 2: Mathematics)。双曲線関数の記号 sinh, cosh, tanh, coth, sech, csch、および逆関数 arsinh, arcosh, artanh 等の国際標準記法。
- JIS Z 8201 ― 数学記号。ISO 80000-2の国内対応規格。
- IEEE 754 ― 浮動小数点演算標準。sinh, cosh 実装時のオーバーフロー・アンダーフロー処理の根拠。
- IEC 60027-2 ― 電気工学用文字記号。伝送線路方程式で使用する双曲線関数の使用ルール。
- C99/C++11 標準ライブラリ ― math.h/cmath ヘッダの sinh, cosh, tanh, asinh, acosh, atanh 関数を規格化。
参考文献・公的資料
より正確な公式・値表・応用例を確認したい場合は、以下の公的機関・学会の資料を参照してください。
- NIST Digital Library of Mathematical Functions §4.28 Hyperbolic Functions ― 米国国立標準技術研究所(NIST)による特殊関数の公式標準。定義・恒等式・級数展開・積分表を網羅。
- Wolfram MathWorld Hyperbolic Functions ― 双曲線関数の総合解説。グラフ・恒等式・応用例が豊富。
- ISO 80000-2 Mathematical signs and symbols ― 数学記号の国際標準。双曲線関数の推奨記法。
- 日本応用数理学会 ― 応用数学・数値解析の学会。特殊関数の数値実装に関する論文。
- 日本数学会 ― 数学の総合学会。教育向け解説を含む岩波「数学辞典」の発行元。
- cppreference.com C++ std::sinh ― C++標準ライブラリの sinh/cosh/tanh の仕様。IEEE 754準拠の挙動。
- PyTorch torch.tanh ― 機械学習フレームワークの tanh 活性化関数実装。深層学習応用の参照。
- NumPy numpy.sinh ― 科学計算Pythonライブラリの双曲線関数実装仕様。
よくある質問(FAQ)
双曲線関数はなぜ「双曲線」と呼ぶ?
単位円 x²+y²=1 から三角関数が定義されるように、単位双曲線 x²−y²=1 の右枝上の点を (cosh(t), sinh(t)) で表現できることに由来します。t は双曲線と直線で囲まれる面積の2倍(双曲線角)。円関数(三角関数)と対をなす概念です。
sinh, cosh, tanh の読み方は?
英語圏では sinh(シャイン、シンチ)、cosh(コッシュ)、tanh(タンチ、タンエイチ)と読まれます。日本の理工系では「ハイパボリック・サイン」「ハイパボリック・コサイン」「ハイパボリック・タンジェント」または単に「シンチ・コッシュ・タンチ」と発音する慣例が定着しています。
カテナリー曲線とは?
両端を固定した均質な鎖・ケーブルが自重で描く曲線 y = a·cosh(x/a) を指し、日本語では懸垂線(けんすいせん)。放物線と混同されがちですが、放物線は「単位長さ当たり水平方向に均一荷重」(吊り橋のケーブル)、カテナリーは「単位長さ当たり自重が均一」(何も吊るしていない鎖)で別の曲線です。
tanh がニューラルネットに使われるのはなぜ?
値域が(-1,1)で中心0、微分が(1-tanh²)と簡潔で計算が高速なため、シグモイド関数(値域(0,1))より収束が速い性質があります。RNN・LSTMの隠れ状態やゲート、LayerNorm前の活性化に頻用。ただし|x|>3で勾配消失(飽和領域)が起き、深層NNではReLU系に置き換えられる場面も多いです。
特殊相対性理論との関係は?
ラピディティ φ=artanh(v/c) を導入すると、ローレンツ変換はミンコフスキー時空の双曲線角回転として簡潔に書けます。γ=cosh(φ), βγ=sinh(φ) となり、速度合成は φ の単純加算で表現可能。相対論の教科書で標準的に扱われる概念です。
三角関数の加法定理と何が違う?
cosh(x+y)=cosh·cosh+sinh·sinh(符号+) 対 cos(x+y)=cos·cos−sin·sin(符号−)、tanh(x+y)=(tanh+tanh)/(1+tanh·tanh) 対 tan(x+y)=(tan+tan)/(1−tan·tan)。cosh, tanh の加法定理で符号が「+」になる点が違います。オイラーの公式で複素数展開すると同型構造になります。
逆双曲線関数の表記 sinh⁻¹ と arsinh のどちらが正しい?
ISO 80000-2およびJIS Z 8201では arsinh, arcosh, artanh(または asinh, acosh, atanh)を推奨。sinh⁻¹ は「sinhの-1乗」(=1/sinh)と誤読されうるため、学術論文・技術文書では arsinh 表記を優先すべきです。プログラミング言語では asinh, acosh, atanh 表記が一般的。
cosh の最小値は?
cosh(0)=1 が最小値。cosh は偶関数で下に凸のU字型曲線を描き、任意の実数xで cosh(x)≥1 が成り立ちます。基本恒等式 cosh²−sinh²=1 の直接の帰結です。
tanh の値域はなぜ(-1,1)?
tanh(x) = (eˣ − e⁻ˣ)/(eˣ + e⁻ˣ) は、|分子|<|分母|が常に成り立つため、値域は開区間(-1,1)。x→+∞で1に、x→-∞で-1に漸近しますが、決して到達しません。この有界性がロジスティック関数と類似し、機械学習で好まれる理由です。
大きな x で計算するとオーバーフローする?
はい、sinh(x), cosh(x) は指数関数的に増大し、x=20で約2億、x=50で約2.6×10²¹、x=710付近で64bit浮動小数点(倍精度)がオーバーフロー(Inf)します。実装ではlog空間演算や漸近展開(x>数十で e^x/2 で近似)で回避します。
複素数の双曲線関数は?
複素引数でも同じ定義式 sinh(z)=(e^z−e^(-z))/2 が使え、cos(z)=cosh(iz), sin(z)=−i·sinh(iz) の関係で三角関数と結ばれます。複素解析・信号処理・電気工学で虚数指数の交流信号を扱う際に自然に登場します。
逆双曲線関数の実務用途は?
artanh はロジット関数の半分(標準ロジット = 2·artanh)として、統計・生存分析・ロジスティック回帰の解析で使用。arsinh は歪んだデータの分散安定化変換(逆正弦双曲線変換)として、大量の外れ値を含むデータの正規化に活用され、経済統計の所得分布分析にも用いられます。