std::asinh(std::complex)
| Definiert in der Header-Datei <complex> |
||
| template< class T > complex<T> asinh( const complex<T>& z ); |
(seit C++11) | |
Berechnet den komplexen hyperbolischen Arkussinus eines komplexen Wertes z mit den Schnittkanten außerhalb des Intervalls [−i; +i] entlang der imaginären Achse.
Inhalt |
[bearbeiten] Parameter
| z | - | komplexer Wert |
[bearbeiten] Rückgabewert
Wenn keine Fehler auftreten, wird der komplexe hyperbolische Arkussinus von z zurückgegeben, im Bereich eines Streifens, der entlang der reellen Achse mathematisch unbeschränkt ist, und im Intervall [−iπ/2; +iπ/2] entlang der imaginären Achse.
[bearbeiten] Fehlerbehandlung und Sonderwerte
Fehler werden konsistent mit math_errhandling gemeldet.
Wenn die Implementierung IEEE-Gleitkomma-Arithmetik unterstützt,
- std::asinh(std::conj(z)) == std::conj(std::asinh(z))
- std::asinh(-z) == -std::asinh(z)
- Wenn z
(+0,+0)ist, ist das Ergebnis(+0,+0) - Wenn z
(x,+∞)ist (für jedes positive endliche x), ist das Ergebnis(+∞,π/2) - Wenn z
(x,NaN)ist (für jedes endliche x), ist das Ergebnis(NaN,NaN)und FE_INVALID kann ausgelöst werden - Wenn z
(+∞,y)ist (für jedes positive endliche y), ist das Ergebnis(+∞,+0) - Wenn z
(+∞,+∞)ist, ist das Ergebnis(+∞,π/4) - Wenn z
(+∞,NaN)ist, ist das Ergebnis(+∞,NaN) - Wenn z
(NaN,+0)ist, ist das Ergebnis(NaN,+0) - Wenn z
(NaN,y)ist (für jedes endliche von Null verschiedene y), ist das Ergebnis(NaN,NaN)und FE_INVALID kann ausgelöst werden - Wenn z
(NaN,+∞)ist, ist das Ergebnis(±∞,NaN)(das Vorzeichen des Realteils ist nicht spezifiziert) - Wenn z
(NaN,NaN)ist, ist das Ergebnis(NaN,NaN)
[bearbeiten] Hinweise
Obwohl der C++-Standard diese Funktion "komplexer hyperbolischer Arkussinus" nennt, sind die inversen Funktionen der hyperbolischen Funktionen die Areafunktionen. Ihr Argument ist die Fläche eines hyperbolischen Sektors, nicht eines Bogens. Der korrekte Name ist "komplexer inverser hyperbolischer Sinus" und, weniger gebräuchlich, "komplexer hyperbolischer Arealessinus".
Der inverse hyperbolische Sinus ist eine mehrdeutige Funktion und erfordert eine Schnittkante in der komplexen Ebene. Die Schnittkante wird konventionell an den Liniensegmenten (-i∞,-i) und (i,i∞) der imaginären Achse platziert.
Die mathematische Definition des Hauptwertes des inversen hyperbolischen Sinus ist asinh z = ln(z + √1+z2
).
| asin(iz) |
| i |
[bearbeiten] Beispiel
#include <complex> #include <iostream> int main() { std::cout << std::fixed; std::complex<double> z1(0.0, -2.0); std::cout << "asinh" << z1 << " = " << std::asinh(z1) << '\n'; std::complex<double> z2(-0.0, -2); std::cout << "asinh" << z2 << " (the other side of the cut) = " << std::asinh(z2) << '\n'; // for any z, asinh(z) = asin(iz) / i std::complex<double> z3(1.0, 2.0); std::complex<double> i(0.0, 1.0); std::cout << "asinh" << z3 << " = " << std::asinh(z3) << '\n' << "asin" << z3 * i << " / i = " << std::asin(z3 * i) / i << '\n'; }
Ausgabe
asinh(0.000000,-2.000000) = (1.316958,-1.570796) asinh(-0.000000,-2.000000) (the other side of the cut) = (-1.316958,-1.570796) asinh(1.000000,2.000000) = (1.469352,1.063440) asin(-2.000000,1.000000) / i = (1.469352,1.063440)
[bearbeiten] Siehe auch
| (C++11) |
berechnet den Area Hyperbolicus Kosinus einer komplexen Zahl (arcosh(z)) (function template) |
| (C++11) |
berechnet den Area Hyperbolicus Tangens einer komplexen Zahl (artanh(z)) (function template) |
| berechnet den hyperbolischen Sinus einer komplexen Zahl (sinh(z)) (function template) | |
| (C++11)(C++11)(C++11) |
berechnet den inversen hyperbolischen Sinus (arsinh(x)) (Funktion) |
| C-Dokumentation für casinh
| |