Números imaginários em NumPy Arrays
-
Use a classe
numpy.complex
para armazenar números imaginários em NumPy Arrays -
Use o parâmetro
dtype
para armazenar números imaginários em NumPy Arrays
Em Python, podemos trabalhar com números reais e também com números imaginários.
Para representar um número complexo, simplesmente adicionamos j
no final. Por exemplo, a seguinte string representa um número imaginário.
a = 5 + 2j
print(a, type(a))
Resultado:
(5+2j) <class 'complex'>
Neste tutorial, aprenderemos como lidar com números imaginários em NumPy Arrays.
Conforme discutido anteriormente, podemos simplesmente criar um número complexo adicionando j
. Podemos transmitir esse literal para um array usando diferentes funções como numpy.array()
, numpy.arange()
e muito mais. Veja o código abaixo para vários exemplos de números complexos em NumPy Arrays.
arr_1 = 1j * np.arange(5)
arr_2 = np.array([2 + 1j, 3 + 4j, 5 + 2j])
print(arr_1)
print(arr_2)
Resultado:
[0.+0.j 0.+1.j 0.+2.j 0.+3.j 0.+4.j]
[2.+1.j 3.+4.j 5.+2.j]
Use a classe numpy.complex
para armazenar números imaginários em NumPy Arrays
Outro método de criação de objetos complexos é usando a classe complex
fornecida pelo módulo numpy. Isso retorna um objeto complexo que novamente pode ser armazenado em arrays, conforme discutido no método anterior.
Por exemplo,
a = np.complex(1 + 1j)
c = a * np.arange(5)
print(c)
Resultado:
[0.+0.j 1.+1.j 2.+2.j 3.+3.j 4.+4.j]
Use o parâmetro dtype
para armazenar números imaginários em NumPy Arrays
Outro método de iniciar números imaginários em matrizes é especificando o parâmetro dtype
em algumas funções de NumPy Arrays. Como sabemos, podemos usar as funções numpy.zeros()
e numpy.ones()
para criar matrizes de 0s e 1s, respectivamente. Aqui podemos especificar o parâmetro dtype
como complexo
para obter um array resultante com valores complexos.
O código a seguir explica isso.
z = np.ones(4, dtype=complex) * 2
print(z)
Resultado:
[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