Namespaces
Variants

cacoshf, cacosh, cacoshl

From cppreference.net
Definiert im Header <complex.h>
float complex cacoshf ( float complex z ) ;
(1) (seit C99)
double complex cacosh ( double complex z ) ;
(2) (seit C99)
long double complex cacoshl ( long double complex z ) ;
(3) (seit C99)
Definiert im Header <tgmath.h>
#define acosh( z )
(4) (seit C99)
1-3) Berechnet den komplexen Areakosinus Hyperbolicus eines komplexen Wertes z mit einem Verzweigungsschnitt bei Werten kleiner als 1 entlang der reellen Achse.
4) Typgenerisches Makro: Wenn z den Typ long double complex hat, wird cacoshl aufgerufen. Wenn z den Typ double complex hat, wird cacosh aufgerufen. Wenn z den Typ float complex hat, wird cacoshf aufgerufen. Wenn z reell oder ganzzahlig ist, ruft das Makro die entsprechende reelle Funktion auf ( acoshf , acosh , acoshl ). Wenn z imaginär ist, ruft das Makro die entsprechende komplexe Version auf und der Rückgabetyp ist komplex.

Inhaltsverzeichnis

Parameter

z - komplexes Argument

Rückgabewert

Der komplexe Areakosinus Hyperbolicus von z im Intervall [0; ∞) entlang der reellen Achse und im Intervall [−iπ; +iπ] entlang der imaginären Achse.

Fehlerbehandlung und spezielle Werte

Fehler werden gemeldet konsistent mit math_errhandling

Wenn die Implementierung IEEE-Gleitkommaarithmetik unterstützt,

  • cacosh ( conj ( z ) ) == conj ( cacosh ( z ) )
  • Wenn z gleich ±0+0i ist, ist das Ergebnis +0+iπ/2
  • Wenn z gleich +x+∞i ist (für jedes endliche x), ist das Ergebnis +∞+iπ/2
  • Wenn z gleich +x+NaNi ist (für nicht-null endliches x), ist das Ergebnis NaN+NaNi und FE_INVALID kann ausgelöst werden.
  • Wenn z gleich 0+NaNi ist, ist das Ergebnis NaN±iπ/2 , wobei das Vorzeichen des Imaginärteils nicht spezifiziert ist
  • Wenn z gleich -∞+yi ist (für jedes positive endliche y), ist das Ergebnis +∞+iπ
  • Wenn z gleich +∞+yi ist (für jedes positive endliche y), ist das Ergebnis +∞+0i
  • Wenn z gleich -∞+∞i ist, ist das Ergebnis +∞+3iπ/4
  • Wenn z gleich +∞+∞i ist, ist das Ergebnis +∞+iπ/4
  • Wenn z gleich ±∞+NaNi ist, ist das Ergebnis +∞+NaNi
  • Wenn z gleich NaN+yi ist (für jedes endliche y), ist das Ergebnis NaN+NaNi und FE_INVALID kann ausgelöst werden.
  • Wenn z gleich NaN+∞i ist, ist das Ergebnis +∞+NaNi
  • Wenn z gleich NaN+NaNi ist, ist das Ergebnis NaN+NaNi

Hinweise

Obwohl der C-Standard diese Funktion als "komplexen Areakosinus Hyperbolicus" bezeichnet, sind die Umkehrfunktionen der hyperbolischen Funktionen die Areafunktionen. Ihr Argument ist die Fläche eines hyperbolischen Sektors, kein Bogen. Der korrekte Name ist "komplexer inverser hyperbolischer Kosinus" und, weniger gebräuchlich, "komplexer Areakosinus Hyperbolicus".

Der inverse hyperbolische Kosinus ist eine mehrwertige Funktion und erfordert einen Verzweigungsschnitt in der komplexen Ebene. Der Verzweigungsschnitt wird konventionell auf dem Liniensegment (-∞,+1) der reellen Achse platziert.

Die mathematische Definition des Hauptwerts des Areakosinus Hyperbolicus ist acosh z = ln(z + z+1 z-1 )

For any z, acosh(z) =
z-1
1-z
acos(z)
, or simply i acos(z) in the upper half of the complex plane.

Beispiel

#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));
}

Ausgabe:

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

Referenzen

  • C11-Standard (ISO/IEC 9899:2011):
  • 7.3.6.1 The cacosh functions (S. 192)
  • 7.25 Type-generic math <tgmath.h> (S. 373-375)
  • G.6.2.1 The cacosh functions (S. 539-540)
  • G.7 Type-generic math <tgmath.h> (S. 545)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.3.6.1 The cacosh functions (S. 174)
  • 7.22 Type-generic math <tgmath.h> (S. 335-337)
  • G.6.2.1 The cacosh functions (S. 474-475)
  • G.7 Type-generic math <tgmath.h> (S. 480)

Siehe auch

(C99) (C99) (C99)
berechnet den komplexen Arkuskosinus
(Funktion)
(C99) (C99) (C99)
berechnet den komplexen Areasinushyperbolicus
(Funktion)
(C99) (C99) (C99)
berechnet den komplexen Areatangenshyperbolicus
(Funktion)
(C99) (C99) (C99)
berechnet den komplexen Kosinushyperbolicus
(Funktion)
(C99) (C99) (C99)
berechnet den Areakosinushyperbolicus ( arcosh(x) )
(Funktion)