Spec-Zone.ru › C

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)
1-3) Вычисляет комплексную обратную гиперболическую косинусу комплексного значения z с разрывом ветви в значениях меньше 1 вдоль вещественной оси.
4) Макрос обобщённого типа: Если 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)

См. также

cacoscacosfcacosl
(C99)(C99)(C99)
вычисляет комплексную арккосинусу
(функция)
casinhcasinhfcasinhl
(C99)(C99)(C99)
вычисляет комплексную обратную гиперболическую синус
(функция)
catanhcatanhfcatanhl
(C99)(C99)(C99)
вычисляет комплексную обратную гиперболическую тангенс
(функция)
ccoshccoshfccoshl
(C99)(C99)(C99)
вычисляет комплексную гиперболическую косинусу
(функция)
acoshacoshfacoshl
(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

Spec-Zone.ru

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