std::acosh(std::complex)(3)
πΈ std::acosh(std::complex) πΈ
okay bestie, this is the std::acosh(std::complex)(3) page from the C++ Standard Libary manual, and we are gonna get you through it with zero confusion and maximum sparkle. π
π NAME π
std::acosh(std::complex) β literally std::acosh(std::complex), no cap. β¨
πΈ Synopsis πΈ
Defined in header <complex>.
template< class T > (since C++11)
complex<T> acosh( const complex<T>& z );
okay so this computes the complex arc hyperbolic cosine of a complex value z, with branch cut at values less than 1 along the real axis. That's the whole vibe. π¦
π«Ά Parameters π«Ά
zβ complex value.
π Return value π
If no errors occur, the complex arc hyperbolic cosine of z is returned, in the range of a half-strip of nonnegative values along the real axis and in the interval [βiΟ; +iΟ] along the imaginary axis. π
π Error handling and special values π
Errors are reported consistent with math_errhandling.
If the implementation supports IEEE floating-point arithmetic, then:
std::acosh(std::conj(z)) == std::conj(std::acosh(z)).- If
zis(Β±0,+0), the result is(+0,Ο/2). - If
zis(x,+β)(for any finitex), the result is(+β,Ο/2). - If
zis(x,NaN)(for any^[1] finitex), the result is(NaN,NaN)andFE_INVALIDmay be raised. - If
zis(-β,y)(for any positive finitey), the result is(+β,Ο). - If
zis(+β,y)(for any positive finitey), the result is(+β,+0). - If
zis(-β,+β), the result is(+β,3Ο/4). - If
zis(Β±β,NaN), the result is(+β,NaN). - If
zis(NaN,y)(for any finitey), the result is(NaN,NaN)andFE_INVALIDmay be raised. - If
zis(NaN,+β), the result is(+β,NaN). - If
zis(NaN,NaN), the result is(NaN,NaN).
- β per C11 DR471, this holds for non-zero
xonly. Ifzis(0,NaN), the result should be(NaN,Ο/2).
π§ Notes π§
Although the C++ standard names this function "complex arc hyperbolic cosine", the inverse functions of the hyperbolic functions are the area functions. Their argument is the area of a hyperbolic sector, not an arc. The correct name is "complex inverse hyperbolic cosine", and, less common, "complex area hyperbolic cosine". π
Inverse hyperbolic cosine is a multivalued function and requires a branch cut on the complex plane. The branch cut is conventionally placed at the line segment (-β,+1) of the real axis.
The mathematical definition of the principal value of the inverse hyperbolic cosine is:
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.
π Example π
The page says // Run this code, so run this code, bestie:
#include <complex>
#include <iostream>
int main()
{
std::cout << std::fixed;
std::complex<double> z1(0.5, 0);
std::cout << "acosh" << z1 << " = " << std::acosh(z1) << '\n';
std::complex<double> z2(0.5, -0.0);
std::cout << "acosh" << z2 << " (the other side of the cut) = "
<< std::acosh(z2) << '\n';
// in upper half-plane, acosh = i acos
std::complex<double> z3(1, 1), i(0, 1);
std::cout << "acosh" << z3 << " = " << std::acosh(z3) << '\n'
<< "i*acos" << z3 << " = " << i*std::acos(z3) << '\n';
}
π Output π
It prints this, fr fr:
acosh(0.500000,0.000000) = (0.000000,-1.047198)
acosh(0.500000,-0.000000) (the other side of the cut) =
(0.000000,1.047198)
acosh(1.000000,1.000000) = (1.061275,0.904557)
i*acos(1.000000,1.000000) = (1.061275,0.904557)
π See also π
acos(std::complex)β computes arc cosine of a complex number;(C++11);\({\small\arccos{z}}\)arccos(z);(function template).asinh(std::complex)β computes area hyperbolic sine of a complex number;(C++11);\({\small\operatorname{arsinh}{z}}\)arsinh(z);(function template).atanh(std::complex)β computes area hyperbolic tangent of a complex number;(C++11);\({\small\operatorname{artanh}{z}}\)artanh(z);(function template).cosh(std::complex)β computes hyperbolic cosine of a complex number;(C++11);\({\small\cosh{z}}\)cosh(z);(function template).acosh,acoshf,acoshlβ computes the inverse hyperbolic cosine;\({\small\operatorname{arcosh}{x}}\)arcosh(x);(C++11),(function),(C++11),(C++11).- C documentation for
cacosh.
okay that's the whole page, bestie β source/version is http://cppreference.com, dated 2024.06.10 πβ¨
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms