HOWTO · NumPy
Números imaginários em NumPy Arrays
Este tutorial demonstra como armazenar números imaginários em NumPy Arrays.
Nesta página
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]