## Adding complex numbers

Just add the real and imaginary components independently as follows:

(a + i b)+(c + i d) = (a+c) + i (b+d)

## Multiplying complex numbers

To multiply just expand out the terms and group as follows:

(a + i b)*(c + i d) = (a*c - b*d) + i (a*d + b*c)

I don't know if multiplications are so costly in CPU time in modern computers, but if we do want to minimise multiplications we can do a complex multiplication using 3 floating point multiplications as follows:

multiply(other){

double t1= a * other.a;

double t2= b * other.b;

double t3= (a + b)*(other.a+other.b);

a = t1 - t2;

b = t3 - t1 - t2;

}

## Norm

This is the distance (r) of a + i b from the origin.

It is written as:

r = | a + i b |

by pythagorous:

r = | a + i b | = math.sqrt(a*a + b*b)

Check that:

|a + i b|*|c + i d| = |a*c - b*d + i (a*d + b*c)|

## Division

We don't tend to use the
notation for division, since complex multiplication is not commutative we need
to be able to distinguish between [a][b]^{-1} and [b]^{-1}[a].
So instead of a divide operation we tend to multiply by the inverse.

In order to calculate the inverse 1/b we multiply top and bottom by its conjugate as follows, conj(b)/b*conj(b). Multiplying a complex number by its conjugate gives a real number and we already know how to divide by a real number.

The conjugate of a + i b is a - i b

so (a + i b)*conj(a + i b) = a*a + b*b

so 1/(a + i b) = a/(a*a + b*b) - i b/(a*a + b*b)

## Representing Rotations using complex numbers

instead of a + i b the complex number could also be represented in what is known as the polar form:

r (cos(θ) + i sin(θ))

in other words replace:

- a = r cos(θ)
- b =r sin(θ)

we can use e^{i θ} = cos(θ)
+ i sin(θ) to give the exponential
form:

r e^{i θ}

If we want combine the result of two rotations, for example rotate by θ1 then rotate by θ2, then we multiply the corresponding complex numbers because:

e^{i (θ1+θ2)} = e^{i θ1} * e^{i θ2}

Or to combine two rotations by addition if we add the logarithms of the complex numbers.

## Complex Number Calculator

The following calculator allows you to calculate complex arithmetic. Enter the values into the top two complex numbers and then press "+ - or * " to display the result in the bottom number: