Convert given Complex Numbers into polar form and perform all arithmetic operations
Given two Complex Numbers Z1 and Z2 in the Cartesian form, the task is to convert the given complex number into polar form and perform all the arithmetic operations ( addition, subtraction, multiplication, and division ) on them.
Examples:
Input: Z1 = (2, 3), Z2 = (4, 6)
Output:
Polar form of the first Complex Number: (3.605551275463989, 0.9827937232473292)
Polar form of the Second Complex Number: (7.211102550927978, 0.9827937232473292)
Addition of two Complex Numbers: (10.816653826391967, 0.9827937232473292)
Subtraction of two Complex Numbers: (3.605551275463989, -0.9827937232473292)
Multiplication of two Complex Numbers: (25.999999999999996, 1.9655874464946583)
Division of two Complex Numbers: (0.5, 0.0)Input: Z1 = (1, 1), Z2 = (2, 2)
Output:
Polar form of the first Complex Number: (1.4142135623730951, 0.7853981633974482)
Polar form of the Second Complex Number: (2.8284271247461903, 0.7853981633974482)
Addition of two Complex Numbers: (4.242640687119286, 0.7853981633974482)
Subtraction of two Complex Numbers: (1.4142135623730951, -0.7853981633974482)
Multiplication of two Complex Numbers: (4.000000000000001, 1.5707963267948963)
Division of two Complex Numbers: (0.5, 0.0)
Approach: The given problem can be solved based on the following properties of Complex Numbers:
- A complex number Z in Cartesian form is represented as:
,
where a, b € R and b is known as the imaginary part of the complex number and
- The polar form of complex number Z is:
where, r is known as modules of a complex number and
is the angle made with the positive X axis.
- In the expression of complex number in polar form taking r as common performing
the expression turn into:
, which is known as the Eulerian form of the Complex Number.
- The eulerian and polar forms both are represented as:
.
- The multiplication and divisions of two complex numbers can be done using the eulerian form:
For Multiplication:
=>For Division:
=>
Follow the steps below to solve the problem:
- Convert the complex numbers into polar using the formula discussed-above and print it in the form for
.
- Define a function say Addition(Z1, Z2) to perform addition operation:
- Find the real part of the complex number by adding two real parts Z1 and Z2, and store it in a variable say a.
- Find the imaginary part of the complex number by adding two imaginary parts of the complex numbers Z1 and Z2 and store it in a variable say b.
- Convert the Cartesian form of the complex to polar form and print it.
- Define a function say Subtraction(Z1, Z2) to perform subtraction operation:
- Find the real part of the complex number by subtracting two real parts Z1 and Z2, and store it in a variable say a.
- Find the imaginary part of the complex number by subtracting two imaginary parts of the complex numbers Z1 and Z2 and store it in a variable say b.
- Convert the Cartesian form of the complex to polar form and print it.
- Print the multiplication of two complex number Z1 and Z2 as
- Print the Division of two complex number Z1 and Z2 as
Below is the implementation of the above approach:
Python3
# Python program for the above approach import math # Function to find the polar form # of the given Complex Number def get_polar_form(z): # Z is in cartesian form re, im = z # Stores the modulo of complex number r = (re * re + im * im) * * 0.5 # If r is greater than 0 if r: theta = math.asin(im / r) return (r, theta) # Otherwise else : return ( 0 , 0 ) # Function to add two complex numbers def Addition(z1, z2): # Z is in polar form r1, theta1 = z1 r2, theta2 = z2 # Real part of complex number a = r1 * math.cos(theta1) + r2 * math.cos(theta2) # Imaginary part of complex Number b = r1 * math.sin(theta1) + r2 * math.sin(theta2) # Find the polar form return get_polar_form((a, b)) # Function to subtract two # given complex numbers def Subtraction(z1, z2): # Z is in polar form r1, theta1 = z1 r2, theta2 = z2 # Real part of the complex number a = r1 * math.cos(theta1) - r2 * math.cos(theta2) # Imaginary part of complex number b = r1 * math.sin(theta1) - r2 * math.sin(theta2) # Converts (a, b) to polar # form and return return get_polar_form((a, b)) # Function to multiply two complex numbers def Multiplication(z1, z2): # z is in polar form r1, theta1 = z1 r2, theta2 = z2 # Return the multiplication of Z1 and Z2 return (r1 * r2, theta1 + theta2) # Function to divide two complex numbers def Division(z1, z2): # Z is in the polar form r1, theta1 = z1 r2, theta2 = z2 # Return the division of Z1 and Z2 return (r1 / r2, theta1 - theta2) # Driver Code if __name__ = = "__main__" : z1 = ( 2 , 3 ) z2 = ( 4 , 6 ) # Convert into Polar Form z1_polar = get_polar_form(z1) z2_polar = get_polar_form(z2) print ( "Polar form of the first" ) print ( "Complex Number: " , z1_polar) print ( "Polar form of the Second" ) print ( "Complex Number: " , z2_polar) print ( "Addition of two complex" ) print ( "Numbers: " , Addition(z1_polar, z2_polar)) print ( "Subtraction of two " ) print ( "complex Numbers: " , Subtraction(z1_polar, z2_polar)) print ( "Multiplication of two " ) print ( "Complex Numbers: " , Multiplication(z1_polar, z2_polar)) print ( "Division of two complex " ) print ( "Numbers: " , Division(z1_polar, z2_polar)) |
Polar form of the first Complex Number: (3.605551275463989, 0.9827937232473292) Polar form of the Second Complex Number: (7.211102550927978, 0.9827937232473292) Addition of two complex Numbers: (10.816653826391967, 0.9827937232473292) Subtraction of two complex Numbers: (3.605551275463989, -0.9827937232473292) Multiplication of two Complex Numbers: (25.999999999999996, 1.9655874464946583) Division of two complex Numbers: (0.5, 0.0)
Time Complexity: O(1)
Auxiliary Space: O(1)