std::acosh(std::complex)
Definido en el archivo de encabezado <complex> | ||
template<class T > complex<T> acosh(const complex<T>& z ); | (desde C++11) | |
Calcula el arco coseno hiperbólico complejo de un valor complejo z
con puntos de ramificación en los valores menores que 1 a lo largo del eje real.
Contenido |
[editar]Parámetros
z | - | El valor complejo. |
[editar]Valor de retorno
Si no se producen errores, se devuelve el arco coseno hiperbólico complejode z
, en el rango de una media franja de valores no negativos a lo largo del eje real y en el intervalo [−iπ; +iπ] a lo largo del eje imaginario.
[editar]Manejo de errores y valores especiales
Los errores se informan de acuerdo con math_errhandling.
Si la implementación es compatible con la aritmética de punto flotante IEEE,
- std::acosh(std::conj(z))==std::conj(std::acosh(z)).
- Si
z
es(±0,+0)
, el resultado es(+0,π/2)
. - Si
z
es(x,+∞)
(para cualquierx
finita), el resultado es(+∞,π/2)
. - Si
z
es(x,NaN)
(para cualquier[1]x
finita), el resultado es(NaN,NaN)
y se puede generar FE_INVALID. - Si
z
es(-∞,y)
(para cualquiery
finita positiva), el resultado es(+∞,π)
. - Si
z
es(+∞,y)
(para cualquiery
finita positiva), el resultado es(+∞,+0)
. - Si
z
es(-∞,+∞)
, el resultado es(+∞,3π/4)
. - Si
z
es(±∞,NaN)
, el resultado es(+∞,NaN)
. - Si
z
es(NaN,y)
(para cualquiery
finita), el resultado es(NaN,NaN)
y se puede generar FE_INVALID. - Si
z
es(NaN,+∞)
, el resultado es(+∞,NaN)
. - Si
z
es(NaN,NaN)
, el resultado es(NaN,NaN)
.
- ↑De acuerdo con C11 DR471, esto es cierto solo para
x
distinta de cero. Siz
es(0,NaN)
, el resultado deberá ser(NaN,π/2)
[editar]Notas
Aunque el estándar de C++ denomina esta a función "arco coseno hiperbólico complejo", las funciones inversas de las funciones hiperbólicas son las funciones de área. Su argumento es el área de un sector hiperbólico, no un arco. El nombre correcto es "coseno hiperbólico complejo inverso", y, menos común, "coseno hiperbólico complejo de área".
El coseno hiperbólico inverso es una función multivaluada y requiere un punto de ramificación en el plano complejo. El punto de ramificación se coloca convencionalmente en el segmento de línea (-∞,+1) del eje real.
La definición matemática del valor principal del coseno hiperbólico inverso es acosh z = ln(z + √z+1√z-1).
Para cualquierz
, acosh(z) = √z-1 |
√1-z |
[editar]Ejemplo
#include <iostream>#include <complex> 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 <<" (el otro lado de la ramificación) = "<<std::acosh(z2)<<'\n'; // en el medio plano superior, 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';}
Salida:
acosh(0.500000,0.000000) = (0.000000,-1.047198) acosh(0.500000,-0.000000) (el otro lado de la ramificación) = (0.000000,1.047198) acosh(1.000000,1.000000) = (1.061275,0.904557) i*acos(1.000000,1.000000) = (1.061275,0.904557)
[editar]Véase también
(C++11) | Calcula el arco coseno de un número complejo (arccos(z)). (plantilla de función) |
(C++11) | Calcula el área del seno hiperbólico de un número complejo (arsinh(z)). (plantilla de función) |
(C++11) | Calcula el área de la tangente hiperbólica de un número complejo (artanh(z)). (plantilla de función) |
Calcula el coseno hiperbólico de un número complejo (cosh(z)). (plantilla de función) | |
(C++11)(C++11)(C++11) | Calcula el coseno hiperbólico inverso (arcosh(x)) (función) |
Documentación de C para cacosh |