Espacios de nombres
Variantes
Acciones

std::acos(std::complex)

De cppreference.com
< cpp‎ | numeric‎ | complex
 
 
 
std::complex
Funciones miembro
Funciones no miembro
Funciones exponenciales
Funciones de potencias
Funciones trigonométricas
(C++11)
acos
(C++11)
(C++11)
Funciones hiperbólicas
(C++11)
(C++11)
(C++11)
 
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 cualquier x finita), el resultado es (π/2,-∞).
  • Si z es (x,NaN) (para cualquier x finita distinta de cero), el resultado es (NaN,NaN) y se puede generar FE_INVALID.
  • Si z es (-∞,y) (para cualquier y finita positiva), el resultado es (π,-∞).
  • Si z es (+∞,y) (para cualquier y 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 cualquier y 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
π + iln(iz + 1-z2
)
.

Para cualquier z, acos(z) = π - acos(-z).

[editar] Ejemplo

#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

Calcula el arco seno de un número complejo (arcsin(z)).
(plantilla de función) [editar]
Calcula la arco tangente de un número complejo (arctan(z)).
(plantilla de función) [editar]
Calcula el coseno de un número complejo (cos(z)).
(plantilla de función) [editar]
(C++11)(C++11)
Calcula el arco coseno (arccos(x))
(función) [editar]
Se aplica la función std::acos a cada elemento de valarray.
(plantilla de función) [editar]