std:: acosh (std::complex)
|
定义于头文件
<complex>
|
||
|
template
<
class
T
>
complex < T > acosh ( const complex < T > & z ) ; |
(C++11 起) | |
计算复数值 z 的复反双曲余弦,在实轴上小于1的值处存在分支切割。
目录 |
参数
| z | - | 复数值 |
返回值
若无错误发生,则返回 z 的复反双曲余弦值,其值域为沿实轴非负的半条形区域,沿虚轴的值域为区间 [−iπ; +iπ] 。
错误处理与特殊值
错误报告遵循 math_errhandling 规范。
如果实现支持 IEEE 浮点运算,
- std:: acosh ( std:: conj ( z ) ) == std:: conj ( std:: acosh ( z ) ) 。
-
若
z
为
(±0,+0),则结果为(+0,π/2)。 -
若
z
为
(x,+∞)(对于任意有限 x),则结果为(+∞,π/2)。 -
若
z
为
(x,NaN)(对于任意 [1] 有限 x),则结果为(NaN,NaN)且可能引发 FE_INVALID 。 -
若
z
为
(-∞,y)(对于任意正有限 y),则结果为(+∞,π)。 -
若
z
为
(+∞,y)(对于任意正有限 y),则结果为(+∞,+0)。 -
若
z
为
(-∞,+∞),则结果为(+∞,3π/4)。 -
若
z
为
(±∞,NaN),则结果为(+∞,NaN)。 -
若
z
为
(NaN,y)(对于任意有限 y),则结果为(NaN,NaN)且可能引发 FE_INVALID 。 -
若
z
为
(NaN,+∞),则结果为(+∞,NaN)。 -
若
z
为
(NaN,NaN),则结果为(NaN,NaN)。
注释
尽管C++标准将此函数命名为“复反双曲余弦”,但双曲函数的反函数实际上是面积函数。其参数表示双曲扇形的面积,而非弧长。正确的名称应为“复反双曲余弦”,较少使用的名称为“复面积双曲余弦”。
反双曲余弦是一个多值函数,需要在复平面上设置分支切割。按照惯例,分支切割通常置于实轴的线段 (-∞,+1) 上。
反双曲余弦函数主值的数学定义为 acosh z = ln(z + √ z+1 √ z-1 ) 。
For any z , acosh(z) =| √ z-1 |
| √ 1-z |
示例
#include <complex> #include <iostream> int main() { std::cout << std::fixed; std::complex<double> z1(0.5, 0); std::cout << "acosh" << z1 << " = " << std::acosh(z1) << '\n'; std::complex<double> z2(0.5, -0.0); std::cout << "acosh" << z2 << " (the other side of the cut) = " << std::acosh(z2) << '\n'; // in upper half-plane, acosh = i acos std::complex<double> z3(1, 1), i(0, 1); std::cout << "acosh" << z3 << " = " << std::acosh(z3) << '\n' << "i*acos" << z3 << " = " << i*std::acos(z3) << '\n'; }
输出:
acosh(0.500000,0.000000) = (0.000000,-1.047198) acosh(0.500000,-0.000000) (the other side of the cut) = (0.000000,1.047198) acosh(1.000000,1.000000) = (1.061275,0.904557) i*acos(1.000000,1.000000) = (1.061275,0.904557)
参见
|
(C++11)
|
计算复数的反余弦(
arccos(z)
)
(函数模板) |
|
(C++11)
|
计算复数的反双曲正弦(
arsinh(z)
)
(函数模板) |
|
(C++11)
|
计算复数的反双曲正切(
artanh(z)
)
(函数模板) |
|
计算复数的双曲余弦(
cosh(z)
)
(函数模板) |
|
|
(C++11)
(C++11)
(C++11)
|
计算反双曲余弦(
arcosh(x)
)
(函数) |
|
C 文档
关于
cacosh
|
|