# 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:

,

wherea, b € Randbis known as the imaginary part of the complex number and

- The polar form of complex number
**Z**is:

where,

ris known as modules of a complex number and

is the angle made with the positiveXaxis.

- 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: .

- , which is known as the
- 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.

- Find the real part of the complex number by adding two real parts
- 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.

- Find the real part of the complex number by subtracting two real parts
- 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))` |

## Javascript

`// JavaScript program for the above approach` `// Function to find the polar form` `// of the given Complex Number` `function` `get_polar_form(z){` ` ` `// Z is in cartesian form` ` ` `let re = z[0];` ` ` `let im = z[1];` ` ` `// Stores the modulo of complex number` ` ` `let r = (re * re + im * im) ** 0.5;` ` ` ` ` `// If r is greater than 0` ` ` `if` `(r){` ` ` `let theta = Math.asin(im / r);` ` ` `return` `[r, theta];` ` ` `}` ` ` `// Otherwise` ` ` `else` `{` ` ` `return` `[0, 0];` ` ` `}` ` ` `}` ` ` `// Function to add two complex numbers` `function` `Addition(z1, z2){` ` ` `// Z is in polar form` ` ` `let r1 = z1[0];` ` ` `let theta1 = z1[1];` ` ` `let r2 = z2[0];` ` ` `let theta2 = z2[1];` ` ` `// console.log(r1, r2, theta1, theta2)` ` ` `// Real part of complex number` ` ` `let a = r1 * Math.cos(theta1) + r2 * Math.cos(theta2);` ` ` ` ` `// Imaginary part of complex Number` ` ` `let b = r1 * Math.sin(theta1) + r2 * Math.sin(theta2);` ` ` `console.log(a, b)` ` ` `// Find the polar form` ` ` `return` `get_polar_form([a, b]);` `}` ` ` `// Function to subtract two` `// given complex numbers` `function` `Subtraction(z1, z2){ ` ` ` `// Z is in polar form` ` ` `let r1 = z1[0];` ` ` `let theta1 = z1[1];` ` ` `let r2 = z2[0];` ` ` `let theta2 = z2[1];` ` ` `// Real part of the complex number` ` ` `let a = r1 * Math.cos(theta1) - r2 * Math.cos(theta2);` ` ` ` ` `// Imaginary part of complex number` ` ` `let 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` `function` `Multiplication(z1, z2){` ` ` `// z is in polar form` ` ` `let r1 = z1[0];` ` ` `let theta1 = z1[1];` ` ` `let r2 = z2[0];` ` ` `let theta2 = z2[1];` ` ` `// Return the multiplication of Z1 and Z2` ` ` `return` `[r1 * r2, theta1 + theta2];` `}` `// Function to divide two complex numbers` `function` `Division(z1, z2){` ` ` `// Z is in the polar form` ` ` `let r1 = z1[0];` ` ` `let theta1 = z1[1];` ` ` `let r2 = z2[0];` ` ` `let theta2 = z2[1];` ` ` `// Return the division of Z1 and Z2` ` ` `return` `[r1 / r2, theta1-theta2];` `}` ` ` `// Driver Code` `z1 = [2, 3];` `z2 = [4, 6];` `// Convert into Polar Form` `z1_polar = get_polar_form(z1)` `z2_polar = get_polar_form(z2)` `console.log(` `"Polar form of the first"` `);` `console.log(` `"Complex Number: "` `, z1_polar);` `console.log(` `"Polar form of the Second"` `);` `console.log(` `"Complex Number: "` `, z2_polar);` `console.log(` `"Addition of two complex"` `);` `console.log(` `"Numbers: "` `, Addition(z1_polar, z2_polar));` `console.log(` `"Subtraction of two "` `);` `console.log(` `"complex Numbers: "` `,` ` ` `Subtraction(z1_polar, z2_polar));` `console.log(` `"Multiplication of two "` `);` `console.log(` `"Complex Numbers: "` `,` ` ` `Multiplication(z1_polar, z2_polar));` `console.log(` `"Division of two complex "` `);` `console.log(` `"Numbers: "` `, Division(z1_polar, z2_polar));` `// The code is contributed by Gautam goel (gautamgoel962)` |

**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)

**Time Complexity:** O(1)**Auxiliary Space:** O(1)