Namespaces
Variants

std:: asinh (std::complex)

From cppreference.net
Определено в заголовке <complex>
template < class T >
complex < T > asinh ( const complex < T > & z ) ;
(начиная с C++11)

Вычисляет комплексный гиперболический арксинус комплексного значения z с разрезами ветвей вне интервала [−i; +i] вдоль мнимой оси.

Содержание

Параметры

z - комплексное значение

Возвращаемое значение

Если ошибок не возникает, возвращается комплексный гиперболический арксинус z в пределах полосы, математически неограниченной вдоль действительной оси и в интервале [−iπ/2; +iπ/2] вдоль мнимой оси.

Обработка ошибок и специальные значения

Ошибки сообщаются в соответствии с math_errhandling .

Если реализация поддерживает арифметику с плавающей точкой IEEE,

  • std:: asinh ( std:: conj ( z ) ) == std:: conj ( std:: asinh ( z ) )
  • std:: asinh ( - z ) == - std:: asinh ( z )
  • Если z равно (+0,+0) , результат равен (+0,+0)
  • Если z равно (x,+∞) (для любого положительного конечного x), результат равен (+∞,π/2)
  • Если z равно (x,NaN) (для любого конечного x), результат равен (NaN,NaN) и может быть возбуждено FE_INVALID
  • Если z равно (+∞,y) (для любого положительного конечного y), результат равен (+∞,+0)
  • Если z равно (+∞,+∞) , результат равен (+∞,π/4)
  • Если z равно (+∞,NaN) , результат равен (+∞,NaN)
  • Если z равно (NaN,+0) , результат равен (NaN,+0)
  • Если z равно (NaN,y) (для любого конечного ненулевого y), результат равен (NaN,NaN) и может быть возбуждено FE_INVALID
  • Если z равно (NaN,+∞) , результат равен (±∞,NaN) (знак действительной части не определен)
  • Если z равно (NaN,NaN) , результат равен (NaN,NaN)

Примечания

Хотя стандарт C++ называет эту функцию "комплексный гиперболический арксинус", обратные функции гиперболических функций являются ареа-функциями. Их аргумент представляет собой площадь гиперболического сектора, а не дугу. Правильное название - "комплексный обратный гиперболический синус", и, менее распространенное, "комплексный ареа-гиперболический синус".

Обратный гиперболический синус является многозначной функцией и требует разреза ветви на комплексной плоскости. Разрез ветви традиционно располагается на отрезках (- i ∞,- i ) и ( i , i ∞) мнимой оси.

Математическое определение главного значения обратного гиперболического синуса: asinh z = ln(z + 1+z 2
)
.

For any z , asinh(z) =
asin(iz)
i
.

Пример

#include <complex>
#include <iostream>
int main()
{
    std::cout << std::fixed;
    std::complex<double> z1(0.0, -2.0);
    std::cout << "asinh" << z1 << " = " << std::asinh(z1) << '\n';
    std::complex<double> z2(-0.0, -2);
    std::cout << "asinh" << z2 << " (the other side of the cut) = "
              << std::asinh(z2) << '\n';
    // for any z, asinh(z) = asin(iz) / i
    std::complex<double> z3(1.0, 2.0);
    std::complex<double> i(0.0, 1.0);
    std::cout << "asinh" << z3 << " = " << std::asinh(z3) << '\n'
              << "asin" << z3 * i << " / i = " << std::asin(z3 * i) / i << '\n';
}

Вывод:

asinh(0.000000,-2.000000) = (1.316958,-1.570796)
asinh(-0.000000,-2.000000) (the other side of the cut) = (-1.316958,-1.570796)
asinh(1.000000,2.000000) = (1.469352,1.063440)
asin(-2.000000,1.000000) / i = (1.469352,1.063440)

Смотрите также

вычисляет гиперболический арккосинус комплексного числа ( arcosh(z) )
(шаблон функции)
вычисляет гиперболический арктангенс комплексного числа ( artanh(z) )
(шаблон функции)
вычисляет гиперболический синус комплексного числа ( sinh(z) )
(шаблон функции)
(C++11) (C++11) (C++11)
вычисляет гиперболический арксинус ( arsinh(x) )
(функция)