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).
-
↑
согласно
C11 DR471
, это верно только для ненулевых x. Если
z
равно
(0,NaN), результатом должно быть(NaN,π/2).
Примечания
Хотя стандарт 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
|
|