Namensräume
Varianten
Aktionen

catanhf, catanh, catanhl

Von cppreference.com
< c‎ | numeric‎ | complex
Definiert im Header <complex.h>
float complex       catanhf( float complex z );
(1) (seit C99)
double complex      catanh( double complex z );
(2) (seit C99)
long double complex catanhl( long double complex z );
(3) (seit C99)
Definiert in Header <tgmath.h>
#define atanh( z )
(4) (seit C99)
1-3) Berechnet den komplexen Arkushyperbeltangens von z mit Schnittlinien außerhalb des Intervalls [−1; +1] entlang der reellen Achse.
4) Typ-generische Makro: Wenn z vom Typ long double complex ist, wird catanhl aufgerufen. Wenn z vom Typ double complex ist, wird catanh aufgerufen. Wenn z vom Typ float complex ist, wird catanhf aufgerufen. Wenn z reell oder ganzzahlig ist, ruft das Makro die entsprechende reelle Funktion auf (atanhf, atanh, atanhl). Wenn z imaginär ist, ruft das Makro die entsprechende reelle Version von atan auf und implementiert die Formel atanh(iy) = i atan(y). Der Rückgabetyp ist imaginär.

Inhalt

[edit] Parameter

z - complex argument

[edit] Rückgabewert

Wenn keine Fehler auftreten, wird der komplexe Arkushyperbeltangens von z zurückgegeben. Der Wertebereich ist ein Halbstreifen, der entlang der reellen Achse mathematisch unbeschränkt ist, und entlang der imaginären Achse im Intervall [−iπ/2; +iπ/2] liegt.

[edit] Fehlerbehandlung und Sonderwerte

Fehler werden konsistent mit math_errhandling gemeldet.

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

  • catanh(conj(z)) == conj(catanh(z))
  • catanh(-z) == -catanh(z)
  • Wenn z +0+0i ist, ist das Ergebnis +0+0i.
  • Wenn z +0+NaNi ist, ist das Ergebnis +0+NaNi.
  • Wenn z +1+0i ist, ist das Ergebnis +∞+0i und FE_DIVBYZERO wird ausgelöst.
  • Wenn z x+∞i ist (für ein beliebiges endliches positives x), ist das Ergebnis +0+iπ/2.
  • Wenn z x+NaNi ist (für ein beliebiges endliches ungleiches x), ist das Ergebnis NaN+NaNi und FE_INVALID kann ausgelöst werden.
  • Wenn z +∞+yi ist (für ein beliebiges endliches positives y), ist das Ergebnis +0+iπ/2.
  • Wenn z +∞+∞i ist, ist das Ergebnis +0+iπ/2.
  • Wenn z +∞+NaNi ist, ist das Ergebnis +0+NaNi.
  • Wenn z NaN+yi ist (für jedes endliche y), ist das Ergebnis NaN+NaNi und FE_INVALID kann ausgelöst werden.
  • Wenn z NaN+∞i ist, ist das Ergebnis ±0+iπ/2 (das Vorzeichen des Realteils ist nicht spezifiziert).
  • Wenn z NaN+NaNi ist, ist das Ergebnis NaN+NaNi.

[edit] Anmerkungen

Obwohl der C-Standard diese Funktion "komplexer Arkushyperbeltangens" 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 Hyperbeltangens" und seltener "komplexer Area-Hyperbeltangens".

Der inverse Hyperbeltangens ist eine mehrwertige Funktion und erfordert eine Schnittlinie in der komplexen Ebene. Die Schnittlinie wird konventionell auf den Liniensegmenten (-∞,-1] und [+1,+∞) der reellen Achse platziert.

Die mathematische Definition des Hauptwertes des inversen Hyperbeltangens ist atanh z =
ln(1+z)-ln(z-1)
2
.


Für jedes z gilt atanh(z) =
atan(iz)
i
.

[edit] Beispiel

#include <stdio.h>
#include <complex.h>
 
int main(void)
{
    double complex z = catanh(2);
    printf("catanh(+2+0i) = %f%+fi\n", creal(z), cimag(z));
 
    double complex z2 = catanh(conj(2)); // or catanh(CMPLX(2, -0.0)) in C11
    printf("catanh(+2-0i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2));
 
    // for any z, atanh(z) = atan(iz)/i
    double complex z3 = catanh(1+2*I);
    printf("catanh(1+2i) = %f%+fi\n", creal(z3), cimag(z3));
    double complex z4 = catan((1+2*I)*I)/I;
    printf("catan(i * (1+2i))/i = %f%+fi\n", creal(z4), cimag(z4));
}

Ausgabe

catanh(+2+0i) = 0.549306+1.570796i
catanh(+2-0i) (the other side of the cut) = 0.549306-1.570796i
catanh(1+2i) = 0.173287+1.178097i
catan(i * (1+2i))/i = 0.173287+1.178097i

[edit] Referenzen

  • C11-Standard (ISO/IEC 9899:2011)
  • 7.3.6.3 Die catanh-Funktionen (S. 193)
  • 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
  • G.6.2.3 Die catanh-Funktionen (S. 540-541)
  • G.7 Type-generic math <tgmath.h> (S: 545)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.3.6.3 Die catanh-Funktionen (S. 175)
  • 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
  • G.6.2.3 Die catanh-Funktionen (S. 475-476)
  • G.7 Type-generic math <tgmath.h> (S: 480)

[edit] Siehe auch

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