cacoshf, cacosh, cacoshl
Defined in header <complex.h> |
||
|---|---|---|
float complex cacoshf( float complex z ); |
(1) | (since C99) |
double complex cacosh( double complex z ); |
(2) | (since C99) |
long double complex cacoshl( long double complex z ); |
(3) | (since C99) |
Defined in header <tgmath.h> |
||
#define acosh( z ) |
(4) | (since C99) |
z с разрывом ветви в значениях меньше 1 вдоль вещественной оси.z имеет тип long double complex, вызывается cacoshl. Если z имеет тип double complex, вызывается cacosh, если z имеет тип float complex, вызывается cacoshf. Если z вещественное или целое число, то макрос вызывает соответствующую вещественную функцию (acoshf, acosh, acoshl). Если z мнимое, то макрос вызывает соответствующую версию для комплексных чисел, и тип возвращаемого значения — комплексный.Параметры
| z | - | комплексное аргумент |
Возвращаемое значение
Комплексная обратная гиперболическая косинуса z в интервале [0; ∞) вдоль вещественной оси и в интервале [−iπ; +iπ] вдоль мнимой оси.
Обработка ошибок и специальные значения
Ошибки сообщаются в соответствии с math_errhandling
Если реализация поддерживает арифметику с плавающей точкой IEEE,
-
cacosh(conj(z)) == conj(cacosh(z)) - Если
zравно±0+0i, результат равен+0+iπ/2 - Если
zравно+x+∞i(для любого конечного x), результат равен+∞+iπ/2 - Если
zравно+x+NaNi(для ненулевого конечного x), результат равенNaN+NaNi, и может быть возбужденоFE_INVALID. - Если
zравно0+NaNi, результат равенNaN±iπ/2, где знак мнимой части не определён - Если
zравно-∞+yi(для любого положительного конечного y), результат равен+∞+iπ - Если
zравно+∞+yi(для любого положительного конечного y), результат равен+∞+0i - Если
zравно-∞+∞i, результат равен+∞+3iπ/4 - Если
zравно+∞+∞i, результат равен+∞+iπ/4 - Если
zравно±∞+NaNi, результат равен+∞+NaNi - Если
zравноNaN+yi(для любого конечного y), результат равенNaN+NaNi, и может быть возбужденоFE_INVALID. - Если
zравноNaN+∞i, результат равен+∞+NaNi - Если
zравноNaN+NaNi, результат равенNaN+NaNi
Примечания
Несмотря на то, что стандарт C называет эту функцию "комплексной обратной гиперболической косинусом", обратные функции гиперболических функций являются функциями площади. Их аргумент — площадь сектора гиперболы, а не дуги. Правильное название — "комплексная обратная гиперболическая косинуса", и менее распространённое — "комплексная площадь гиперболической косинуса".
Обратная гиперболическая косинуса — многозначная функция и требует разрыва ветви на комплексной плоскости. Разрыв ветви обычно размещается на отрезке (-∞,+1) вещественной оси.
Математическое определение главного значения обратной гиперболической косинуса: acosh z = ln(z + √z+1 √z-1) Для любого z, acosh(z) =
√z-1/√1-z acos(z), или просто i acos(z) в верхней полуплоскости комплексной плоскости.Пример
#include <stdio.h>
#include <complex.h>
int main(void)
{
double complex z = cacosh(0.5);
printf("cacosh(+0.5+0i) = %f%+fi\n", creal(z), cimag(z));
double complex z2 = conj(0.5); // or cacosh(CMPLX(0.5, -0.0)) in C11
printf("cacosh(+0.5-0i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2));
// in upper half-plane, acosh(z) = i*acos(z)
double complex z3 = casinh(1+I);
printf("casinh(1+1i) = %f%+fi\n", creal(z3), cimag(z3));
double complex z4 = I*casin(1+I);
printf("I*asin(1+1i) = %f%+fi\n", creal(z4), cimag(z4));
}Вывод:
cacosh(+0.5+0i) = 0.000000-1.047198i cacosh(+0.5-0i) (the other side of the cut) = 0.500000-0.000000i casinh(1+1i) = 1.061275+0.666239i I*asin(1+1i) = -1.061275+0.666239i
Ссылки
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.3.6.1 Функции cacosh (стр: 192)
- 7.25 Тип-обобщающая математика <tgmath.h> (стр: 373-375)
- G.6.2.1 Функции cacosh (стр: 539-540)
- G.7 Тип-обобщающая математика <tgmath.h> (стр: 545)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.3.6.1 Функции cacosh (стр: 174)
- 7.22 Тип-обобщающая математика <tgmath.h> (стр: 335-337)
- G.6.2.1 Функции cacosh (стр: 474-475)
- G.7 Тип-обобщающая математика <tgmath.h> (стр: 480)
См. также
|
(C99)(C99)(C99) |
вычисляет комплексную арккосинусу (функция) |
|
(C99)(C99)(C99) |
вычисляет комплексную обратную гиперболическую синус (функция) |
|
(C99)(C99)(C99) |
вычисляет комплексную обратную гиперболическую тангенс (функция) |
|
(C99)(C99)(C99) |
вычисляет комплексную гиперболическую косинусу (функция) |
|
(C99)(C99)(C99) |
вычисляет обратную гиперболическую косинусу (\({\small\operatorname{arcosh}{x} }\)arcosh(x)) (функция) |
Документация C++ для acosh |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/numeric/complex/cacosh