Partager via


sqrt

Calcule la racine carrée d'un nombre complexe.

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

Paramètres

  • _ComplexNum
    Nombre complexe dont la racine carrée doit être recherchée.

Valeur de retour

Retourne la racine carrée d'un nombre complexe.

Notes

La racine carrée a un angle de phase dans l'intervalle semi-ouvert (- pi/2, pi/2].

Les intersections de branche dans le plan complexe sont le long de l'axe réel négatif.

La racine carrée d'un nombre complexe aura un modulo qui est la racine carrée du nombre d'entrée et un argument représentant la moitié de celui du nombre d'entrée.

Exemple

// 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;
}
  

Configuration requise

En-tête :: <complexe>

Espace de noms : std