complex number multiplication

(idea) by ariels Fri Mar 31 2000 at 7:40:31

Multiplying complex numbers is easy - just open the brackets and use what you know: (a+bi)*(c+di) = ac + bci + adi + bdi2 = (ac-bd) + (bc+ad)i.

But suppose multiplications are expensive, while additions (and subtractions) are cheap. Can we use fewer multiplications?

Define these three values:

  • A = (a+b)*(c+d) = ac+ad+bc+bd
  • B = a*c
  • C = b*d

Then (a+bi)*(c+di) = (B-C) + (A-B-C)i, which only requires 3 multiplications!

A related method is the Strassen algorithm for matrix multiplication, or the Strassen algorithm for polynomial multiplication.

xriso points out some people prefer polar notation. You don't even need to open brackets, it's so much easier: (r*(cosθ+isinθ)) * (s*(cosφ+isinφ)) = (r*s)*(cos(θ+φ)+isin(θ+φ)).

Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.