std::acos(std::complex)
De cppreference.com
Definido en el archivo de encabezado <complex>
|
||
template< class T > complex<T> acos( const complex<T>& z ); |
(desde C++11) | |
Calcula el arco coseno complejo de un valor complejo z
. El punto de ramificación existe fuera del intervalo [−1 ; +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 complejo de z
, en el rango de una franja ilimitada a lo largo del eje imaginario y en el intervalo [0; +π] a lo largo del eje real.
[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::acos(std::conj(z)) == std::conj(std::acos(z)).
- Si
z
es(±0,+0)
, el resultado es(π/2,-0)
. - Si
z
es(±0,NaN)
, el resultado es(π/2,NaN)
. - Si
z
es(x,+∞)
(para cualquierx
finita), el resultado es(π/2,-∞)
. - Si
z
es(x,NaN)
(para cualquierx
finita distinta de cero), 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(+∞,+∞)
, el resultado es(π/4,-∞)
. - Si
z
es(±∞,NaN)
, el resultado es(NaN,±∞)
(el signo de la parte imaginaria no está especificado). - 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)
.
[editar] Notas
El coseno inverso (o arco coseno) 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 los segmentos de línea (-∞,-1) y (1,∞) del eje real.
La definición matemática del valor principal del arco coseno es acos z =1 |
2 |
).
Para cualquier z, acos(z) = π - acos(-z).
[editar] Ejemplo
Ejecuta este código
#include <iostream> #include <cmath> #include <complex> int main() { std::cout << std::fixed; std::complex<double> z1(-2, 0); std::cout << "acos" << z1 << " = " << std::acos(z1) << '\n'; std::complex<double> z2(-2, -0.0); std::cout << "acos" << z2 << " (el otro lado de la ramificación) = " << std::acos(z2) << '\n'; // para cualquier z, acos(z) = pi - acos(-z) const double pi = std::acos(-1); std::complex<double> z3 = pi - std::acos(z2); std::cout << "cos(pi - acos" << z2 << ") = " << std::cos(z3) << '\n'; }
Salida:
acos(-2.000000,0.000000) = (3.141593,-1.316958) acos(-2.000000,-0.000000) (el otro lado de la ramificación) = (3.141593,1.316958) cos(pi - acos(-2.000000,-0.000000)) = (2.000000,0.000000)
[editar] Véase también
(C++11) |
Calcula el arco seno de un número complejo (arcsin(z)). (plantilla de función) |
(C++11) |
Calcula la arco tangente de un número complejo (arctan(z)). (plantilla de función) |
Calcula el coseno de un número complejo (cos(z)). (plantilla de función) | |
(C++11)(C++11) |
Calcula el arco coseno (arccos(x)) (función) |
Se aplica la función std::acos a cada elemento de valarray. (plantilla de función) | |
Documentación de C para cacos
|