Spec-Zone.ru › C

catanhf, catanh, catanhl

Определено в заголовочном файле <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,+∞) вещественной оси.

Математическое определение главного значения обратного гиперболического тангенса: atanh z =

ln(1+z)-ln(z-1)/2

.

Для любого 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)

См. также

casinhcasinhfcasinhl
(C99)(C99)(C99)
вычисляет комплексный ареа-гиперболический синус
(функция)
cacoshcacoshfcacoshl
(C99)(C99)(C99)
вычисляет комплексный ареа-гиперболический косинус
(функция)
ctanhctanhfctanhl
(C99)(C99)(C99)
вычисляет комплексный гиперболический тангенс
(функция)
atanhatanhfatanhl
(C99)(C99)(C99)
вычисляет обратный гиперболический тангенс (\({\small\operatorname{artanh}{x} }\)artanh(x))
(функция)
Документация C++ для atanh

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/numeric/complex/catanh

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API