Spec-Zone.ru › C

casinhf, casinh, casinhl

Определено в заголовочном файле <complex.h>
float complex       casinhf( float complex z );
(1) (начиная с C99)
double complex      casinh( double complex z );
(2) (начиная с C99)
long double complex casinhl( long double complex z );
(3) (начиная с C99)
Определено в заголовочном файле <tgmath.h>
#define asinh( z )
(4) (начиная с C99)
1-3) Вычисляет комплексный ареа-гиперболический синус числа z с разрезами ветвей за пределами отрезка [−i; +i] вдоль мнимой оси.
4) Обобщённый макрос для типов: если z имеет тип long double complex, вызывается casinhl. Если z имеет тип double complex, вызывается casinh; если z имеет тип float complex, вызывается casinhf. Если z является вещественным или целым числом, макрос вызывает соответствующую вещественную функцию (asinhf, asinh, asinhl). Если z является мнимым числом, макрос вызывает соответствующую вещественную версию функции asin, реализуя формулу asinh(iy) = i asin(y); возвращаемый тип — мнимый.

Параметры

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

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

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

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

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

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

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

Примечания

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

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

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

Для любого z, asinh(z) =

asin(iz)/i

Пример

#include <stdio.h>
#include <complex.h>

int main(void)
{
    double complex z = casinh(0+2*I);
    printf("casinh(+0+2i) = %f%+fi\n", creal(z), cimag(z));

    double complex z2 = casinh(-conj(2*I)); // or casinh(CMPLX(-0.0, 2)) in C11
    printf("casinh(-0+2i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2));

    // for any z, asinh(z) = asin(iz)/i
    double complex z3 = casinh(1+2*I);
    printf("casinh(1+2i) = %f%+fi\n", creal(z3), cimag(z3));
    double complex z4 = casin((1+2*I)*I)/I;
    printf("casin(i * (1+2i))/i = %f%+fi\n", creal(z4), cimag(z4));
}

Вывод:

casinh(+0+2i) = 1.316958+1.570796i
casinh(-0+2i) (the other side of the cut) = -1.316958+1.570796i
casinh(1+2i) = 1.469352+1.063440i
casin(i * (1+2i))/i =  1.469352+1.063440i

Ссылки

  • Стандарт C11 (ISO/IEC 9899:2011):
    • 7.3.6.2 Функции casinh (стр. 192–193)
    • 7.25 Обобщённая математика для типов <tgmath.h> (стр. 373–375)
    • G.6.2.2 Функции casinh (стр. 540)
    • G.7 Обобщённая математика для типов <tgmath.h> (стр. 545)
  • Стандарт C99 (ISO/IEC 9899:1999):
    • 7.3.6.2 Функции casinh (стр. 174–175)
    • 7.22 Обобщённая математика для типов <tgmath.h> (стр. 335–337)
    • G.6.2.2 Функции casinh (стр. 475)
    • G.7 Обобщённая математика для типов <tgmath.h> (стр. 480)

См. также

cacoshcacoshfcacoshl
(C99)(C99)(C99)
вычисляет комплексный ареа-гиперболический косинус
(функция)
catanhcatanhfcatanhl
(C99)(C99)(C99)
вычисляет комплексный ареа-гиперболический тангенс
(функция)
csinhcsinhfcsinhl
(C99)(C99)(C99)
вычисляет комплексный гиперболический синус
(функция)
asinhasinhfasinhl
(C99)(C99)(C99)
вычисляет обратный гиперболический синус (\({\small\operatorname{arsinh}{x} }\)arsinh(x))
(функция)
Документация C++ для asinh

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

Spec-Zone.ru

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