std::atanh(std::complex)
Определено в заголовочном файле <complex> | ||
|---|---|---|
template< class T > complex<T> atanh( const complex<T>& z ); | (начиная с C++11) |
Вычисляет комплексный ареа-гиперболический тангенс числа z с разрезами ветвей вне интервала [−1; +1] вдоль действительной оси.
Параметры
| z | - | комплексное значение |
Возвращаемое значение
Если ошибок не возникает, возвращается комплексный ареа-гиперболический тангенс числа z, принадлежащий полуполосе, неограниченной вдоль действительной оси, и интервалу [−iπ/2; +iπ/2] вдоль мнимой оси.
Обработка ошибок и особые значения
Об ошибках сообщается в соответствии с math_errhandling.
Если реализация поддерживает арифметику с плавающей точкой IEEE,
std::atanh(std::conj(z)) == std::conj(std::atanh(z))std::atanh(-z) == -std::atanh(z)- Если
zравно(+0,+0), результатом является(+0,+0) - Если
zравно(+0,NaN), результатом является(+0,NaN) - Если
zравно(+1,+0), результатом является(+∞,+0)и возникает исключениеFE_DIVBYZERO - Если
zравно(x,+∞)(для любого конечного положительного x), результатом является(+0,π/2) - Если
zравно(x,NaN)(для любого конечного ненулевого x), результатом является(NaN,NaN), и может возникнуть исключениеFE_INVALID - Если
zравно(+∞,y)(для любого конечного положительного y), результатом является(+0,π/2) - Если
zравно(+∞,+∞), результатом является(+0,π/2) - Если
zравно(+∞,NaN), результатом является(+0,NaN) - Если
zравно(NaN,y)(для любого конечного y), результатом является(NaN,NaN), и может возникнуть исключениеFE_INVALID - Если
zравно(NaN,+∞), результатом является(±0,π/2)(знак действительной части не определён) - Если
zравно(NaN,NaN), результатом является(NaN,NaN)
Примечания
Хотя в стандарте C++ эта функция называется «комплексный ареа-гиперболический тангенс», обратные функции гиперболических функций являются ареа-функциями. Их аргумент — это площадь гиперболического сектора, а не дуга. Правильное название — «комплексный обратный гиперболический тангенс», реже — «комплексный ареа-гиперболический тангенс».
Обратный гиперболический тангенс — многозначная функция, для которой необходим разрез ветви на комплексной плоскости. Разрез ветви традиционно располагают на отрезках (-∞,-1] и [+1,+∞) действительной оси.
Математическое определение главного значения обратного гиперболического тангенса: atanh z =
ln(1+z) - ln(1-z)/2.
Для любого z atanh(z) =
.
Пример
#include <complex>
#include <iostream>
int main()
{
std::cout << std::fixed;
std::complex<double> z1(2.0, 0.0);
std::cout << "atanh" << z1 << " = " << std::atanh(z1) << '\n';
std::complex<double> z2(2.0, -0.0);
std::cout << "atanh" << z2 << " (the other side of the cut) = "
<< std::atanh(z2) << '\n';
// for any z, atanh(z) = atanh(iz) / i
std::complex<double> z3(1.0, 2.0);
std::complex<double> i(0.0, 1.0);
std::cout << "atanh" << z3 << " = " << std::atanh(z3) << '\n'
<< "atan" << z3 * i << " / i = " << std::atan(z3 * i) / i << '\n';
}
Вывод:
atanh(2.000000,0.000000) = (0.549306,1.570796) atanh(2.000000,-0.000000) (the other side of the cut) = (0.549306,-1.570796) atanh(1.000000,2.000000) = (0.173287,1.178097) atan(-2.000000,1.000000) / i = (0.173287,1.178097)
См. также
|
(C++11) | вычисляет ареа-гиперболический синус комплексного числа (\({\small\operatorname{arsinh}{z}}\)arsinh(z)) (шаблон функции) |
|
(C++11) | вычисляет ареа-гиперболический косинус комплексного числа (\({\small\operatorname{arcosh}{z}}\)arcosh(z)) (шаблон функции) |
| вычисляет гиперболический тангенс комплексного числа (\({\small\tanh{z}}\)tanh(z)) (шаблон функции) |
|
|
(C++11)(C++11)(C++11) | вычисляет обратный гиперболический тангенс (\({\small\operatorname{artanh}{x}}\)artanh(x)) (функция) |
Документация C для catanh |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/numeric/complex/atanh