Namensräume
Varianten
Aktionen

cacoshf, cacosh, cacoshl

Von cppreference.com
< c‎ | numeric‎ | complex
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 in Header <tgmath.h>
#define acosh( z )
(4) (seit C99)
1-3) Berechnet den komplexen Arkushyperbelkosinus eines komplexen Werts z mit dem Schnitt bei Werten kleiner als 1 entlang der reellen Achse.
4) Typ-generische 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 komplexwertige Version auf und der Rückgabetyp ist komplex.

Inhalt

[bearbeiten] Parameter

z - complex argument

[bearbeiten] Rückgabewert

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

[bearbeiten] Fehlerbehandlung und Spezialwerte

Fehler werden konsistent mit math_errhandling gemeldet.

Wenn die Implementierung IEEE-Gleitkomma-Arithmetik unterstützt,

  • cacosh(conj(z)) == conj(cacosh(z))
  • Wenn z ±0+0i ist, ist das Ergebnis +0+iπ/2
  • Wenn z +x+∞i ist (für ein beliebiges endliches x), ist das Ergebnis +∞+iπ/2
  • Wenn z +x+NaNi ist (für ein nicht-null endliches x), ist das Ergebnis NaN+NaNi und FE_INVALID kann ausgelöst werden.
  • Wenn z 0+NaNi ist, ist das Ergebnis NaN±iπ/2, wobei das Vorzeichen des imaginären Teils nicht spezifiziert ist.
  • Wenn z -∞+yi ist (für ein beliebiges positives endliches y), ist das Ergebnis +∞+iπ
  • Wenn z +∞+yi ist (für ein beliebiges positives endliches y), ist das Ergebnis +∞+0i
  • Wenn z -∞+∞i ist, ist das Ergebnis +∞+3iπ/4
  • Wenn z +∞+∞i ist, ist das Ergebnis +∞+iπ/4
  • Wenn z ±∞+NaNi ist, ist das Ergebnis +∞+NaNi
  • Wenn z NaN+yi ist (für ein beliebiges endliches y), ist das Ergebnis NaN+NaNi und FE_INVALID kann ausgelöst werden.
  • Wenn z NaN+∞i ist, ist das Ergebnis +∞+NaNi
  • Wenn z NaN+NaNi ist, ist das Ergebnis NaN+NaNi.

[bearbeiten] Anmerkungen

Obwohl der C-Standard diese Funktion "komplexer Arkushyperbelkosinus" nennt, sind die Umkehrfunktionen der hyperbolischen Funktionen die Areafunktionen. Ihr Argument ist die Fläche eines hyperbolischen Sektors, nicht eines Bogens. Der korrekte Name ist "komplexer inverser hyperbolischer Kosinus" und seltener "komplexer Arealhyperbelkosinus".

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

Die mathematische Definition des Hauptwerts des inversen hyperbolischen Kosinus ist acosh z = ln(z + z+1 z-1)

Für jedes z gilt: acosh(z) =
z-1
1-z
acos(z)
, oder einfach i acos(z) in der oberen Halbebene der komplexen Ebene.

[bearbeiten] 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

[bearbeiten] Referenzen

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

[bearbeiten] Siehe auch

(C99)(C99)(C99)
berechnet den komplexen Arkuskosinus
(Funktion) [bearbeiten]
(C99)(C99)(C99)
berechnet den komplexen inversen hyperbolischen Sinus
(Funktion) [bearbeiten]
(C99)(C99)(C99)
berechnet den komplexen inversen hyperbolischen Tangens
(Funktion) [bearbeiten]
(C99)(C99)(C99)
berechnet den komplexen hyperbolischen Kosinus
(Funktion) [bearbeiten]
(C99)(C99)(C99)
berechnet inversen Kosinus hyperbolicus (arcosh(x))
(Funktion) [bearbeiten]