From *A.G. Sveshnokov, A.N. Tikhonov (1982). The theory of functions of a complex variable. Section 1.1*.

A complex number $z$ is characterized by a pair of real numbers $(a, b)$. The first number
$a$ of the pair $(a, b)$ is called the *real part* of the complex number $z$ and is denoted
by $a =\mathrm{Re}\, z$; the second number $b$ of the pair $(a, b)$ is called the
*imaginary part* of the complex number $z$ and is symbolized by $b=\mathrm{Im}\, z$.

Two complex numbers $z_1 = (a_1, b_1)$ and $z_2 = (a_2, b_2)$ are equal only when both the real and imaginary parts are equal, that is, $z_1 = z_2$ only when $a_1 = a_2$ and $b_1 = b_2$.

Let us now define algebraic operations involving complex numbers.

The sum of two complex numbers $z_1 = (a_1, b_1)$ and $z_2 = (a_2, b_2)$ is a complex number $z = (a, b)$, where $a = a_1 + a_2$, $b = b_1 + b_2$. The commutative and associative laws for addition, $z_1 + z_2 = z_2 + z_1$ and $z_1 + (z_2 + z_3) = (z_1 + z_2) + z_3$, hold true. As in the domain of real numbers, zero is a complex number $0$ such that the sum of it and any complex number $z$ is equal to $z$, that is, $z + 0 = z$. There is a unique complex number $0 = (0, 0)$ that possesses this property.

The *product* of the complex numbers $z_1 = (a_1, b_1)$ and $z_2 = (a_2, b_2)$ is a complex
number $z = (a, b)$ such that $a = a_1 a_2 - b_1 b_2$, $b = a_1 b_2 + a_2 b_1$. In this
definition of a product, we find that the commutative $[z_1 z_2 = z_2 z_1]$, associative
$[z_1 (z_2\cdot z_3) = (z_1\cdot z_2) z_3]$ and distributive $[(z_1 + z_2) z_3 = z_1 z_3 + z_2 z_3]$
laws hold.

Let us include the real numbers in the set of complex numbers and regard the real number $a$ as the complex number $a = (a, 0)$. Then, as follows from the definition of the operations of addition and miltiplication, the familiar rules involving real numbers hold true for complex numbers as well. Thus, the set of complex numbers is regarded as an extension of the set of real numbers. Note that multiplication by a real unit $(1, 0)$ does not change a complex number: $z\cdot 1 = z$.

A complex number of the form of the form $z = (0, b)$ is called a *pure imaginary* number (or just
imaginary number) and is symbolized as $z = ib$. The pure imaginary number $(0, b) = ib$ may be
regarded as the product of the imaginary unit $(0, 1)$ and real number $(b, 0)$. The imaginary
unit is commonly denoted by the symbol $(0, 1) = i$. By virtue of the definition of a product
of complex numbers, the following relation holds true: $i\cdot i = i^2 = -1$. It enables one
to attribute a direct algebraig meaning to the *real-imaginary form* of a complex number:

and perform operations of addition and multiplication of complex numbers in accordance with the usual rules of the algebra of polynomials.

The complex number $\bar{z} = a - ib$ is said to be the complex *conjugate* of $z = a + ib$.

The operation of substraction of complex numbers is defined as the inverse operation of addition.
A complex number $z = a + ib$ is termed the *difference* between the complex numbers $z_1 = a_1 + ib_1$
and $z_2 = a_2 + ib_2$ if $a = a_1 - a_2$, $b = b_1 - b_2$.

The operation of dividing complex numbers is defined as the inverse operation of multiplication. A complex number $z = a + ib$ is called the quotient of the complex numbers $z_1 = a_1 + ib_1$ and $z_2 = a_2 + ib_2 \neq = 0$ if $z_1 = z\cdot z_2$, whence it follows that the real part $a$ and the imaginary part $b$ of the quotient $z$ are found from the linear system of algebraic equations

\begin{align} &a_2 a - b_2 b = a_1\\ &b_2 a + a_2 b = b_1 \end{align}with the determinant $a_2^2 + b_2^2$ different from zero. Solving this system, we get

$$z = \frac{z_1}{z_2} = \frac{a_1 a_2 + b_1 b_2}{a_2^2 + b_2^2} + i \frac{b_1 a_2 - a_1 b_2}{a_2^2 + b_2^2}\, .$$```
In [1]:
```from sympy import *
init_printing()

```
In [2]:
```a, a1, a2, a3 = symbols("a a1 a2 a3", real=True)
b, b1, b2, b3 = symbols("b b1 b2 b3", real=True)

In SymPy the imaginary unit is represented by `I`

.

```
In [3]:
```I**2

```
Out[3]:
```

```
In [4]:
```z1 = a1 + b1*I
z2 = a2 + b2*I
z3 = a3 + b3*I
display(z1)
display(z2)
display(z3)

```
```

```
In [5]:
```# Real part
display(re(z1))
display(re(z2))

```
```

```
In [6]:
```# Imaginary part
display(im(z1))
display(im(z2))

```
```

```
In [7]:
```display(z1 + z2)
display(re(z1 + z2))
display(im(z1 + z2))

```
```

Addition is commutative

```
In [8]:
```display(z1 + z2)
display(z2 + z1)

```
```

Addition is also associative

```
In [9]:
```display(z1 + (z2 + z3))
display((z1 + z2) + z3)

```
```

```
In [10]:
```display(z1 * z2)
display(re(z1 * z2))
display(im(z1 * z2))

```
```

Multiplication is commutative

```
In [11]:
```display(z1 * z2)
display(z2 * z1)

```
```

Multiplication is associative

```
In [12]:
```display(expand(z1 * (z2 * z3)))
display(expand((z1 * z2) * z3))

```
```

Multiplication is distributive over addition

```
In [13]:
```display(expand((z1 + z2) * z3))
display(expand(z1 * z3 + z2 * z3))

```
```

```
In [14]:
```display(z1)
display(conjugate(z1))

```
```

```
In [15]:
```display(z1 - z2)
display(re(z1 - z2))
display(im(z1 - z2))

```
```

```
In [16]:
```display(z1 / z2)
display(factor(re(z1 / z2)))
display(factor(im(z1 / z2)))

```
```

The study of complex numbers is greatly facilitated by interpretating them geometrically.
Insofar as a complex number is defined as a pair of real numbers, it is natural to depict
the complex number $z = a + ib$ as a point in the $x$, $y$-plane with Cartesian coordinates
$x = a$ and $y = b$. The number $z=0$ corresponds to the origin of the plane. We shall henceforward
call this the *complex plane*; the axis of the abscissas is the *real* axis, the axis of
the ordinates is the *imaginary* axis of the complex plane. We have thus established a
reciprocal one-to-one correspondence between the set of all complex numbers and the set of
points the complex plane, and also between the set of al complex numbers $z = a + ib$ and the
set of free vectors, the projections $x$ and $y$ of which on the axis of abscissas and the
axis of ordinates are, respectively, equal to $a$ and $b$.

There is another extremely important form of representing complex numbers. It is possible to define the position of a point in the plane by means of polar coordinates $(\rho, \varphi)$, where $\rho$ is the distance of the point from the origin, and $\varphi$ is the angle between the radius vector with the positive direction of the axis of abscissas. The positive direction of the variation of the angle $\varphi$ is counterclockwise $(-\infty < \varphi < \infty)$. Taking advantage of the relationship between Cartesian and polar coordinates

\begin{align} &x = \rho \cos\varphi\\ &y = \rho \sin\varphi\, , \end{align}we get the so-called *trigonometric form* (or polar form) of a complex number:

```
In [17]:
```Abs(z1)

```
Out[17]:
```

```
In [ ]:
```

```
In [18]:
```from IPython.core.display import HTML
def css_styling():
styles = open('./styles/custom_barba.css', 'r').read()
return HTML(styles)
css_styling()

```
Out[18]:
```

```
In [ ]:
```