Namespaces
Variants

catanhf, catanh, catanhl

From cppreference.net
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 im Header <tgmath.h>
#define atanh( z )
(4) (seit C99)
1-3) Berechnet den komplexen Areahyperbeltangens von z mit Verzweigungsschnitten außerhalb des Intervalls [−1; +1] entlang der reellen Achse.
4) Typgenerisches Makro: Wenn z den Typ long double complex hat, wird catanhl aufgerufen. Wenn z den Typ double complex hat, wird catanh aufgerufen. Wenn z den Typ float complex hat, 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, implementiert die Formel atanh(iy) = i atan(y) , und der Rückgabetyp ist imaginär.

Inhaltsverzeichnis

Parameter

z - komplexes Argument

Rückgabewert

Wenn keine Fehler auftreten, wird der komplexe Areatangens Hyperbolicus von z zurückgegeben, im Bereich eines mathematisch entlang der reellen Achse unbeschränkten Halbstreifens und im Intervall [−iπ/2; +iπ/2] entlang der imaginären Achse.

Fehlerbehandlung und spezielle Werte

Fehler werden gemeldet konsistent mit math_errhandling

Wenn die Implementierung IEEE-Gleitkommaarithmetik unterstützt,

  • catanh ( conj ( z ) ) == conj ( catanh ( z ) )
  • catanh ( - z ) == - catanh ( z )
  • Wenn z gleich +0+0i ist, ist das Ergebnis +0+0i
  • Wenn z gleich +0+NaNi ist, ist das Ergebnis +0+NaNi
  • Wenn z gleich +1+0i ist, ist das Ergebnis +∞+0i und FE_DIVBYZERO wird ausgelöst
  • Wenn z gleich x+∞i ist (für jedes endliche positive x), ist das Ergebnis +0+iπ/2
  • Wenn z gleich x+NaNi ist (für jedes endliche x ungleich Null), ist das Ergebnis NaN+NaNi und FE_INVALID kann ausgelöst werden
  • Wenn z gleich +∞+yi ist (für jedes endliche positive y), ist das Ergebnis +0+iπ/2
  • Wenn z gleich +∞+∞i ist, ist das Ergebnis +0+iπ/2
  • Wenn z gleich +∞+NaNi ist, ist das Ergebnis +0+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 ±0+iπ/2 (das Vorzeichen des Realteils ist nicht spezifiziert)
  • 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, nicht ein Bogen. Der korrekte Name ist "komplexer inverser hyperbolischer Tangens" und, weniger gebräuchlich, "komplexer Areatangens Hyperbolicus".

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

The mathematical definition of the principal value of the inverse hyperbolic tangent is atanh z =
ln(1+z)-ln(z-1)
2
.


For any z, atanh(z) =
atan(iz)
i

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

Referenzen

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

Siehe auch

(C99) (C99) (C99)
berechnet den komplexen Areahyperbelsinus
(Funktion)
(C99) (C99) (C99)
berechnet den komplexen Areahyperbelkosinus
(Funktion)
(C99) (C99) (C99)
berechnet den komplexen hyperbolischen Tangens
(Funktion)
(C99) (C99) (C99)
berechnet den Areahyperbeltangens ( artanh(x) )
(Funktion)