Share via


sqrt

Calcula la raíz cuadrada de un número complejo.

template<class Type>
   complex<Type> sqrt(
      const complex<Type>& _ComplexNum
   );

Parámetros

  • _ComplexNum
    El número complejo cuyo sqrt debe encontrar.

Valor devuelto

La raíz cuadrada de un número complejo.

Comentarios

La raíz cuadrada tendrá un ángulo de fase en el intervalo entre abierto (- pi/2, pi/2].

Los cortes de bifurcación en el plano complejo están a lo largo del eje real negativo.

La raíz cuadrada de un número complejo tendrá un módulo que es la raíz cuadrada del número de entrada y un argumento que sea la mitad del número de entrada.

Ejemplo

// complex_sqrt.cpp
// compile with: /EHsc
#include <complex>
#include <iostream>

int main( )
{
   using namespace std;
   double pi = 3.14159265359;

   // Complex numbers can be entered in polar form with
   // modulus and argument parameter inputs but are
   // stored in Cartesian form as real & imag coordinates
   complex <double> c1 ( polar ( 25.0 , pi / 2 ) );
   complex <double> c2 = sqrt ( c1 );
   cout << "c1 = polar ( 5.0 ) = " << c1 << endl;
   cout << "c2 = sqrt ( c1 ) = " << c2 << endl;


   // The modulus and argument of a complex number can be recovered
   double absc2 = abs ( c2 );
   double argc2 = arg ( c2 );
   cout << "The modulus of c2 is recovered from c2 using: abs ( c2 ) = "
        << absc2 << endl;
   cout << "Argument of c2 is recovered from c2 using:\n arg ( c2 ) = "
        << argc2 << " radians, which is " << argc2 * 180 / pi
        << " degrees." << endl;
   
   // The modulus and argument of c2 can be directly calculated
   absc2 = sqrt( abs ( c1 ) );
   argc2 = 0.5 * arg ( c1 );
   cout << "The modulus of c2 = sqrt( abs ( c1 ) ) =" << absc2 << endl;
   cout << "The argument of c2 = ( 1 / 2 ) * arg ( c1 ) ="
        << argc2 << " radians,\n which is " << argc2 * 180 / pi
        << " degrees." << endl;
}
  
  

Requisitos

encabezado: <complejo>

espacio de nombres: std