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) |
z с разрезами ветвей за пределами отрезка [−i; +i] вдоль мнимой оси.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)
См. также
|
(C99)(C99)(C99) | вычисляет комплексный ареа-гиперболический косинус (функция) |
|
(C99)(C99)(C99) | вычисляет комплексный ареа-гиперболический тангенс (функция) |
|
(C99)(C99)(C99) | вычисляет комплексный гиперболический синус (функция) |
|
(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