Imaginary Numbers in Numpy Arrays

  1. Use the numpy.complex Class to Store Imaginary Numbers in Numpy Arrays
  2. Use the dtype Parameter to Store Imaginary Numbers in Numpy Arrays

In Python, we can work with real numbers as well as imaginary numbers.

To represent a complex number, we simply add j at the end. For example, the following string represents an imaginary number.

a = 5 + 2j
print(a, type(a))

Output:

(5+2j) <class 'complex'>

In this tutorial, we will learn how to deal with imaginary numbers in numpy arrays.

As discussed earlier, we can simply create a complex literal by adding j. We can broadcast this literal to an array using different functions like numpy.array(), numpy.arange() and more. See the code below for various examples of complex numbers in numpy arrays.

arr_1 = 1j * np.arange(5)
arr_2 = np.array([2+1j,3+4j,5+2j])
print(arr_1)
print(arr_2)

Output:

[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 the numpy.complex Class to Store Imaginary Numbers in Numpy Arrays

Another method of creating complex objects is using by using the complex class provided by the numpy module. This returns a complex object which again can be stored in arrays as discussed in the previous method.

For example,

a = np.complex(1+1j) 
c = a * np.arange(5)
print(c)

Output:

[0.+0.j 1.+1.j 2.+2.j 3.+3.j 4.+4.j]

Use the dtype Parameter to Store Imaginary Numbers in Numpy Arrays

Another method of initiating imaginary numbers in arrays is by specifying the dtype parameter in some numpy array functions. As we know, we can use the numpy.zeros() and numpy.ones() functions to create arrays of 0s and 1s, respectively. Here we can specify the dtype parameter as complex to get a resultant array with complex values.

The following code explains this.

z = np.ones(4, dtype=complex)*2
print(z)

Output:

[2.+0.j 2.+0.j 2.+0.j 2.+0.j]
Contribute
DelftStack is a collective effort contributed by software geeks like you. If you like the article and would like to contribute to DelftStack by writing paid articles, you can check the write for us page.