Namespaces
Variants

catanhf, catanh, catanhl

From cppreference.net
Определено в заголовке <complex.h>
float complex catanhf ( float complex z ) ;
(1) (начиная с C99)
double complex catanh ( double complex z ) ;
(2) (начиная с C99)
long double complex catanhl ( long double complex z ) ;
(3) (начиная с C99)
Определено в заголовке <tgmath.h>
#define atanh( z )
(4) (начиная с C99)
1-3) Вычисляет комплексный гиперболический арктангенс от z с разрезами ветвей вне интервала [−1; +1] вдоль вещественной оси.
4) Обобщённый макрос: Если z имеет тип long double complex , catanhl вызывается. Если z имеет тип double complex , catanh вызывается. Если z имеет тип float complex , catanhf вызывается. Если z является вещественным или целочисленным, то макрос вызывает соответствующую вещественную функцию ( atanhf , atanh , atanhl ). Если z является мнимым, то макрос вызывает соответствующую вещественную версию atan , реализуя формулу atanh(iy) = i atan(y) , и возвращаемый тип является мнимым.

Содержание

Параметры

z - комплексный аргумент

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

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

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

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

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

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

Примечания

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

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

The mathematical definition of the principal value of the inverse hyperbolic tangent is atanh z =
ln(1+z)-ln(z-1)
2
.


For any z, atanh(z) =
atan(iz)
i

Пример

#include <stdio.h>
#include <complex.h>
int main(void)
{
    double complex z = catanh(2);
    printf("catanh(+2+0i) = %f%+fi\n", creal(z), cimag(z));
    double complex z2 = catanh(conj(2)); // or catanh(CMPLX(2, -0.0)) in C11
    printf("catanh(+2-0i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2));
    // for any z, atanh(z) = atan(iz)/i
    double complex z3 = catanh(1+2*I);
    printf("catanh(1+2i) = %f%+fi\n", creal(z3), cimag(z3));
    double complex z4 = catan((1+2*I)*I)/I;
    printf("catan(i * (1+2i))/i = %f%+fi\n", creal(z4), cimag(z4));
}

Вывод:

catanh(+2+0i) = 0.549306+1.570796i
catanh(+2-0i) (the other side of the cut) = 0.549306-1.570796i
catanh(1+2i) = 0.173287+1.178097i
catan(i * (1+2i))/i = 0.173287+1.178097i

Ссылки

  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.3.6.3 Функции catanh (стр. 193)
  • 7.25 Обобщенная математика <tgmath.h> (стр. 373-375)
  • G.6.2.3 Функции catanh (стр. 540-541)
  • G.7 Обобщенная математика <tgmath.h> (стр. 545)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.3.6.3 Функции catanh (стр. 175)
  • 7.22 Обобщенная математика <tgmath.h> (стр. 335-337)
  • G.6.2.3 Функции catanh (стр. 475-476)
  • G.7 Обобщенная математика <tgmath.h> (стр. 480)

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

(C99) (C99) (C99)
вычисляет комплексный гиперболический арксинус
(функция)
(C99) (C99) (C99)
вычисляет комплексный гиперболический арккосинус
(функция)
(C99) (C99) (C99)
вычисляет комплексный гиперболический тангенс
(функция)
(C99) (C99) (C99)
вычисляет обратный гиперболический тангенс ( artanh(x) )
(функция)