Show how to multiply the complex numbers \(a + bi\) and \(c + di\) using only three multiplications of real numbers. The algorithm should take \(a, b, c,\) and \(d\) as input and produce the real component \(ac-bd\) and the imaginary component \(ad + bc\) separately.
Recall that \(i^2 = -1\). In order to obtain our desired output we will reframe the technique Strassen used but in one less dimension:
IMAGINARY-MULTIPLICATION(a, b, c, d)
01 x = a · c
02 y = b · d
03 z = (a + b) · (c + d)
04 real = x - y
05 imaginary = z - x - y
Which yields:
\[\begin{equation} \begin{split} \text{ real} & = x - y \\ & = ac - bd \\ \text{imaginary} & = z - x - y \\ & = ac + ad + bc + bd - ac - bd \\ & = ad + bc \\ \end{split} \end{equation}\]