1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
|
[/ math.qbk
Copyright 2006 Hubert Holin and John Maddock.
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt).
]
[def __form1 [^\[0;+'''∞'''\[]]
[def __form2 [^\]-'''∞''';+1\[]]
[def __form3 [^\]-'''∞''';-1\[]]
[def __form4 [^\]+1;+'''∞'''\[]]
[def __form5 [^\[-1;-1+'''ε'''\[]]
[def __form6 '''ε''']
[def __form7 [^\]+1-'''ε''';+1\]]]
[def __effects [*Effects: ]]
[def __formula [*Formula: ]]
[def __exm1 '''<code>e<superscript>x</superscript> - 1</code>'''[space]]
[def __ex '''<code>e<superscript>x</superscript></code>''']
[def __te '''2ε''']
[section:inv_hyper Inverse Hyperbolic Functions]
[section:inv_hyper_over Inverse Hyperbolic Functions Overview]
The exponential funtion is defined, for all objects for which this makes sense,
as the power series
[equation special_functions_blurb1],
with ['[^n! = 1x2x3x4x5...xn]] (and ['[^0! = 1]] by definition) being the factorial of ['[^n]].
In particular, the exponential function is well defined for real numbers,
complex number, quaternions, octonions, and matrices of complex numbers,
among others.
[: ['[*Graph of exp on R]] ]
[: [$../graphs/exp_on_r.png] ]
[: ['[*Real and Imaginary parts of exp on C]]]
[: [$../graphs/im_exp_on_c.png]]
The hyperbolic functions are defined as power series which
can be computed (for reals, complex, quaternions and octonions) as:
Hyperbolic cosine: [equation special_functions_blurb5]
Hyperbolic sine: [equation special_functions_blurb6]
Hyperbolic tangent: [equation special_functions_blurb7]
[: ['[*Trigonometric functions on R (cos: purple; sin: red; tan: blue)]]]
[: [$../graphs/trigonometric.png]]
[: ['[*Hyperbolic functions on r (cosh: purple; sinh: red; tanh: blue)]]]
[: [$../graphs/hyperbolic.png]]
The hyperbolic sine is one to one on the set of real numbers,
with range the full set of reals, while the hyperbolic tangent is
also one to one on the set of real numbers but with range __form1, and
therefore both have inverses. The hyperbolic cosine is one to one from __form2
onto __form3 (and from __form4 onto __form3); the inverse function we use
here is defined on __form3 with range __form2.
The inverse of the hyperbolic tangent is called the Argument hyperbolic tangent,
and can be computed as [equation special_functions_blurb15].
The inverse of the hyperbolic sine is called the Argument hyperbolic sine,
and can be computed (for __form5) as [equation special_functions_blurb17].
The inverse of the hyperbolic cosine is called the Argument hyperbolic cosine,
and can be computed as [equation special_functions_blurb18].
[endsect]
[section:acosh acosh]
``
#include <boost/math/special_functions/acosh.hpp>
``
template<class T>
``__sf_result`` acosh(const T x);
template<class T, class ``__Policy``>
``__sf_result`` acosh(const T x, const ``__Policy``&);
Computes the reciprocal of (the restriction to the range of __form1)
[link math_toolkit.special.inv_hyper.inv_hyper_over
the hyperbolic cosine function], at x. Values returned are positive. Generalised
Taylor series are used near 1 and Laurent series are used near the
infinity to ensure accuracy.
If x is in the range __form2 then returns the result of __domain_error.
The return type of this function is computed using the __arg_pomotion_rules:
the return type is `double` when T is an integer type, and T otherwise.
[optional_policy]
[endsect]
[section:asinh asinh]
``
#include <boost/math/special_functions/asinh.hpp>
``
template<class T>
``__sf_result`` asinh(const T x);
template<class T, class ``__Policy``>
``__sf_result`` asinh(const T x, const ``__Policy``&);
Computes the reciprocal of
[link math_toolkit.special.inv_hyper.inv_hyper_over
the hyperbolic sine function].
Taylor series are used at the origin and Laurent series are used near the
infinity to ensure accuracy.
The return type of this function is computed using the __arg_pomotion_rules:
the return type is `double` when T is an integer type, and T otherwise.
[optional_policy]
[endsect]
[section:atanh atanh]
``
#include <boost/math/special_functions/atanh.hpp>
``
template<class T>
``__sf_result`` atanh(const T x);
template<class T, class ``__Policy``>
``__sf_result`` atanh(const T x, const ``__Policy``&);
Computes the reciprocal of
[link math_toolkit.special.inv_hyper.inv_hyper_over
the hyperbolic tangent function], at x.
Taylor series are used at the origin to ensure accuracy.
[optional_policy]
If x is in the range
__form3
or in the range
__form4
then returns the result of __domain_error.
If x is in the range
__form5,
then the result of -__overflow_error is returned, with
__form6[space]
denoting numeric_limits<T>::epsilon().
If x is in the range
__form7,
then the result of __overflow_error is returned, with
__form6[space]
denoting
numeric_limits<T>::epsilon().
The return type of this function is computed using the __arg_pomotion_rules:
the return type is `double` when T is an integer type, and T otherwise.
[endsect]
[endsect]
|