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/w/c/numeric/complex/catanh

Spec-Zone.ru

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