Complex Numbers in Python
Not only real numbers, Python can also handle complex numbers and its associated functions using the file “cmath”. Complex numbers have their uses in many applications related to mathematics and python provides useful tools to handle and manipulate them.
Converting real numbers to complex number
An complex number is represented by “ x + yi “. Python converts the real numbers x and y into complex using the function complex(x,y). The real part can be accessed using the function real() and imaginary part can be represented by imag().
# Python code to demonstrate the working of # complex(), real() and imag() # importing "cmath" for complex number operations import cmath # Initializing real numbers x = 5 y = 3 # converting x and y into complex number z = complex (x,y); # printing real and imaginary part of complex number print ( "The real part of complex number is : " ,end = "") print (z.real) print ( "The imaginary part of complex number is : " ,end = "") print (z.imag) |
Output:
The real part of complex number is : 5.0 The imaginary part of complex number is : 3.0
Phase of complex number
Geometrically, the phase of a complex number is the angle between the positive real axis and the vector representing complex number. This is also known as argument of complex number. Phase is returned using phase(), which takes complex number as argument. The range of phase lies from -pi to +pi. i.e from -3.14 to +3.14.
# Python code to demonstrate the working of # phase() # importing "cmath" for complex number operations import cmath # Initializing real numbers x = - 1.0 y = 0.0 # converting x and y into complex number z = complex (x,y); # printing phase of a complex number using phase() print ( "The phase of complex number is : " ,end = "") print (cmath.phase(z)) |
Output:
The phase of complex number is : 3.141592653589793
Converting from polar to rectangular form and vice versa
Conversion to polar is done using polar(), which returns a pair(r,ph) denoting the modulus r and phase angle ph. modulus can be displayed using abs() and phase using phase().
A complex number converts into rectangular coordinates by using rect(r, ph), where r is modulus and ph is phase angle. It returns a value numerically equal to r * (math.cos(ph) + math.sin(ph)*1j)
# Python code to demonstrate the working of # polar() and rect() # importing "cmath" for complex number operations import cmath import math # Initializing real numbers x = 1.0 y = 1.0 # converting x and y into complex number z = complex (x,y); # converting complex number into polar using polar() w = cmath.polar(z) # printing modulus and argument of polar complex number print ( "The modulus and argument of polar complex number is : " ,end = "") print (w) # converting complex number into rectangular using rect() w = cmath.rect( 1.4142135623730951 , 0.7853981633974483 ) # printing rectangular form of complex number print ( "The rectangular form of complex number is : " ,end = "") print (w) |
Output:
The modulus and argument of polar complex number is : (1.4142135623730951, 0.7853981633974483) The rectangular form of complex number is : (1.0000000000000002+1j)
Some more important functions and constants are discussed in this article.
Operations on complex numbers :
1. exp() :- This function returns the exponent of the complex number mentioned in its argument.
2. log(x,b) :- This function returns the logarithmic value of x with the base b, both mentioned in its arguments. If base is not specified, natural log of x is returned.
# Python code to demonstrate the working of # exp(), log() # importing "cmath" for complex number operations import cmath import math # Initializing real numbers x = 1.0 y = 1.0 # converting x and y into complex number z = complex (x, y); # printing exponent of complex number print ( "The exponent of complex number is : " , end = "") print (cmath.exp(z)) # printing log form of complex number print ( "The log(base 10) of complex number is : " , end = "") print (cmath.log(z, 10 )) |
Output:
The exponent of complex number is : (1.4686939399158851+2.2873552871788423j) The log(base 10) of complex number is : (0.15051499783199057+0.3410940884604603j)
3. log10() :- This function returns the log base 10 of a complex number.
4. sqrt() :- This computes the square root of a complex number.
# Python code to demonstrate the working of # log10(), sqrt() # importing "cmath" for complex number operations import cmath import math # Initializing real numbers x = 1.0 y = 1.0 # converting x and y into complex number z = complex (x, y); # printing log10 of complex number print ( "The log10 of complex number is : " , end = "") print (cmath.log10(z)) # printing square root form of complex number print ( "The square root of complex number is : " , end = "") print (cmath.sqrt(z)) |
Output:
The log10 of complex number is : (0.15051499783199057+0.3410940884604603j) The square root of complex number is : (1.09868411346781+0.45508986056222733j)
5. isfinite() :- Returns true if both real and imaginary part of complex number are finite, else returns false.
6. isinf() :- Returns true if either real or imaginary part of complex number is/are infinite, else returns false.
7. isnan() :- Returns true if either real or imaginary part of complex number is NaN , else returns false.
# Python code to demonstrate the working of # isnan(), isinf(), isfinite() # importing "cmath" for complex number operations import cmath import math # Initializing real numbers x = 1.0 y = 1.0 a = math.inf b = math.nan # converting x and y into complex number z = complex (x,y); # converting x and a into complex number w = complex (x,a); # converting x and b into complex number v = complex (x,b); # checking if both numbers are finite if cmath.isfinite(z): print ( "Complex number is finite" ) else : print ( "Complex number is infinite" ) # checking if either number is/are infinite if cmath.isinf(w): print ( "Complex number is infinite" ) else : print ( "Complex number is finite" ) # checking if either number is/are infinite if cmath.isnan(v): print ( "Complex number is NaN" ) else : print ( "Complex number is not NaN" ) |
Output:
Complex number is finite Complex number is infinite Complex number is NaN
Constants
There are two constants defined in cmath module, “pi”, which returns the numerical value of pi. The second one is “e” which returns the numerical value of exponent.
# Python code to demonstrate the working of # pi and e # importing "cmath" for complex number operations import cmath import math # printing the value of pi print ( "The value of pi is : " , end = "") print (cmath.pi) # printing the value of e print ( "The value of exponent is : " , end = "") print (cmath.e) |
Output:
The value of pi is : 3.141592653589793 The value of exponent is : 2.718281828459045
Last Updated on March 1, 2022 by admin