Números imaginarios en matrices NumPy
-
Utilice la clase
numpy.complex
para almacenar números imaginarios en arrays de NumPy -
Utilice el parámetro
dtype
para almacenar números imaginarios en matrices NumPy
En Python, podemos trabajar tanto con números reales como con números imaginarios.
Para representar un número complejo, simplemente agregamos j
al final. Por ejemplo, la siguiente cadena representa un número imaginario.
a = 5 + 2j
print(a, type(a))
Producción :
(5+2j) <class 'complex'>
En este tutorial, aprenderemos cómo lidiar con números imaginarios en arrays de numpy.
Como se discutió anteriormente, simplemente podemos crear un número complejo agregando j
. Podemos transmitir este literal a un array usando diferentes funciones como numpy.array()
, numpy.arange()
y más. Consulte el código a continuación para ver varios ejemplos de números complejos en arrays de numpy.
arr_1 = 1j * np.arange(5)
arr_2 = np.array([2 + 1j, 3 + 4j, 5 + 2j])
print(arr_1)
print(arr_2)
Producción :
[0.+0.j 0.+1.j 0.+2.j 0.+3.j 0.+4.j]
[2.+1.j 3.+4.j 5.+2.j]
Utilice la clase numpy.complex
para almacenar números imaginarios en arrays de NumPy
Otro método para crear objetos complejos es utilizar la clase complex
proporcionada por el módulo numpy. Esto devuelve un objeto complejo que nuevamente se puede almacenar en arrays como se discutió en el método anterior.
Por ejemplo,
a = np.complex(1 + 1j)
c = a * np.arange(5)
print(c)
Producción :
[0.+0.j 1.+1.j 2.+2.j 3.+3.j 4.+4.j]
Utilice el parámetro dtype
para almacenar números imaginarios en matrices NumPy
Otro método para iniciar números imaginarios en arrays es especificando el parámetro dtype
en algunas funciones de array de numpy. Como sabemos, podemos usar las funciones numpy.zeros()
y numpy.ones()
para crear arrays de 0 y 1, respectivamente. Aquí podemos especificar el parámetro dtype
como complex
para obtener un array resultante con valores complejos.
El siguiente código explica esto.
z = np.ones(4, dtype=complex) * 2
print(z)
Producción :
[2.+0.j 2.+0.j 2.+0.j 2.+0.j]
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn