Complex numbers in python Complex numbers in python python python

Complex numbers in python


In python, you can put ‘j’ or ‘J’ after a number to make it imaginary, so you can write complex literals easily:

>>> 1j1j>>> 1J1j>>> 1j * 1j(-1+0j)

The ‘j’ suffix comes from electrical engineering, where the variable ‘i’ is usually used for current. (Reasoning found here.)

The type of a complex number is complex, and you can use the type as a constructor if you prefer:

>>> complex(2,3)(2+3j)

A complex number has some built-in accessors:

>>> z = 2+3j>>> z.real2.0>>> z.imag3.0>>> z.conjugate()(2-3j)

Several built-in functions support complex numbers:

>>> abs(3 + 4j)5.0>>> pow(3 + 4j, 2)(-7+24j)

The standard module cmath has more functions that handle complex numbers:

>>> import cmath>>> cmath.sin(2 + 3j)(9.15449914691143-4.168906959966565j)


The following example for complex numbers should be self explanatory including the error message at the end

>>> x=complex(1,2)>>> print x(1+2j)>>> y=complex(3,4)>>> print y(3+4j)>>> z=x+y>>> print x(1+2j)>>> print z(4+6j)>>> z=x*y>>> print z(-5+10j)>>> z=x/y>>> print z(0.44+0.08j)>>> print x.conjugate()(1-2j)>>> print x.imag2.0>>> print x.real1.0>>> print x>yTraceback (most recent call last):  File "<pyshell#149>", line 1, in <module>    print x>yTypeError: no ordering relation is defined for complex numbers>>> print x==yFalse>>>