La biblioteca compleja implementa la clase compleja para contener números complejos en forma cartesiana y varias funciones y sobrecargas para operar con ellos.
- real() – Devuelve la parte real del número complejo.
- imag() – Devuelve la parte imaginaria del número complejo.
// Program illustrating the use of real() and
// imag() function
#include <iostream>
// for std::complex, std::real, std::imag
#include <complex>
using
namespace
std;
// driver function
int
main()
{
// defines the complex number: (10 + 2i)
std::complex<
double
> mycomplex(10.0, 2.0);
// prints the real part using the real function
cout <<
"Real part: "
<< real(mycomplex) << endl;
cout <<
"Imaginary part: "
<< imag(mycomplex) << endl;
return
0;
}
Producción:
Real part: 10 Imaginary part: 2
- abs() – Devuelve el absoluto del número complejo.
- arg() – Devuelve el argumento del número complejo.
// Program illustrating the use of arg() and abs()
#include <iostream>
// for std::complex, std::abs, std::atg
#include <complex>
using
namespace
std;
// driver function
int
main()
{
// defines the complex number: (3.0+4.0i)
std::complex<
double
> mycomplex (3.0, 4.0);
// prints the absolute value of the complex number
cout <<
"The absolute value of "
<< mycomplex <<
" is: "
;
cout <<
abs
(mycomplex) << endl;
// prints the argument of the complex number
cout <<
"The argument of "
<< mycomplex <<
" is: "
;
cout << arg(mycomplex) << endl;
return
0;
}
Producción:
The absolute value of (3,4) is: 5 The argument of (3,4) is: 0.927295
- polar() : construye un número complejo a partir de la magnitud y el ángulo de fase.
real = magnitud*coseno(ángulo de fase)
imaginario = magnitud*seno(ángulo de fase)// Program illustrating the use of polar()
#include <iostream>
// std::complex, std::polar
#include <complex>
using
namespace
std;
// driver function
int
main()
{
cout <<
"The complex whose magnitude is "
<< 2.0;
cout <<
" and phase angle is "
<< 0.5;
// use of polar()
cout <<
" is "
<< polar (2.0, 0.5) << endl;
return
0;
}
Producción:
The complex whose magnitude is 2 and phase angle is 0.5 is (1.75517,0.958851)
- norm() : se utiliza para encontrar la norma (valor absoluto) del número complejo. Si z = x + iy es un número complejo con parte real x y parte imaginaria y, el complejo conjugado de z se define como z'(z bar) = x – iy, y el valor absoluto, también llamado norma, de z Se define como :
// example to illustrate the use of norm()
#include <iostream>
// for std::complex, std::norm
#include <complex>
using
namespace
std;
// driver function
int
main()
{
// initializing the complex: (3.0+4.0i)
std::complex<
double
> mycomplex (3.0, 4.0);
// use of norm()
cout <<
"The norm of "
<< mycomplex <<
" is "
<< norm(mycomplex) <<endl;
return
0;
}
Producción:
The norm of (3,4) is 25.
- conj() – Devuelve el conjugado del número complejo x. El conjugado de un número complejo (real,imag) es (real,-imag).
// Illustrating the use of conj()
#include <iostream>
using
namespace
std;
// std::complex, std::conj
#include <complex>
// driver program
int
main()
{
std::complex<
double
> mycomplex (10.0,2.0);
cout <<
"The conjugate of "
<< mycomplex <<
" is: "
;
// use of conj()
cout << conj(mycomplex) << endl;
return
0;
}
Producción:
The conjugate of (10,2) is (10,-2)
- proj() – Devuelve la proyección de z(número complejo) sobre la esfera de Riemann. La proyección de z es z, excepto para los infinitos complejos, que se asignan al valor complejo con un componente real de INFINITY y un componente imaginario de 0,0 o -0,0 (donde se admita), según el signo del componente imaginario de z.
// Illustrating the use of proj()
#include <iostream>
using
namespace
std;
// For std::complex, std::proj
#include <complex>
// driver program
int
main()
{
std::complex<
double
> c1(1, 2);
cout <<
"proj"
<< c1 <<
" = "
<< proj(c1) << endl;
std::complex<
double
> c2(INFINITY, -1);
cout <<
"proj"
<< c2 <<
" = "
<< proj(c2) << endl;
std::complex<
double
> c3(0, -INFINITY);
cout <<
"proj"
<< c3 <<
" = "
<< proj(c3) << endl;
}
Producción:
proj(1,2) = (1,2) proj(inf,-1) = (inf,-0) proj(0,-inf) = (inf,-0)
- sqrt() : devuelve la raíz cuadrada de x utilizando la rama principal, cuyos cortes están a lo largo del eje real negativo.
// Illustrating the use of sqrt()
#include <iostream>
using
namespace
std;
// For std::ccomplex, stdc::sqrt
#include <complex>
// driver program
int
main()
{
// use of sqrt()
cout <<
"Square root of -4 is "
<<
sqrt
(std::complex<
double
>(-4, 0)) << endl
<<
"Square root of (-4,-0), the other side of the cut, is "
<<
sqrt
(std::complex<
double
>(-4, -0.0)) << endl;
}
Producción:
Square root of -4 is (0,2) Square root of (-4,-0), the other side of the cut, is (0,-2)
Artículo siguiente: Números complejos en C++ | conjunto 2
Este artículo es una contribución de Shambhavi Singh . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA