Equivalent j in NumPy

What is the equivalent of Octave j in NumPy? How to use j in Python?

In octave:

 octave:1> j ans = 0 + 1i octave:1> j*pi/4 ans = 0.00000 + 0.78540i 

But in Python:

 >>> import numpy as np >>> np.imag <function imag at 0x2368140> >>> np.imag(3) array(0) >>> np.imag(3,2) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: imag() takes exactly 1 argument (2 given) >>> np.imag(32) array(0) >>> >>> 0+np.imag(1) 1 
+7
python numpy complex-numbers
source share
2 answers

In Python, 1j or 0+1j is a literal of complex type. You can pass this to an array using expressions like

 In [17]: 1j * np.arange(5) Out[17]: array([ 0.+0.j, 0.+1.j, 0.+2.j, 0.+3.j, 0.+4.j]) 

Create an array of literals:

 In [18]: np.array([1j]) Out[18]: array([ 0.+1.j]) 

Note that the published Michael9 creates a complex rather than complex array:

 In [21]: np.complex(0,1) Out[21]: 1j In [22]: type(_) Out[22]: complex 
+15
source share

You can create it if necessary, or use 1j , which instance of a complex class

  >>> 1j #complex object 1j >>> type(1j) <class 'complex'> >>> j = np.complex(0,1) #create complex number >>> j 1j 
+4
source share

All Articles