Maths - Complex Arithmetic

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:

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;


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


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:

we can use ei θ = cos(θ) + i sin(θ) to give the exponential form:

r ei θ

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:

ei (θ1+θ2) = ei θ1 * ei θ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:

real i
real i
real i  

metadata block
see also:


Correspondence about this page Open Forum

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

coverus uk de jp fr ca Complex Numbers

cover Engineering Mathematics - This book has been going for a long time and it is now in its 5th edition, so it is tried and tested.

Terminology and Notation

Specific to this page here:


This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2023 Martin John Baker - All rights reserved - privacy policy.