Understanding Why Complex Multiplication Works

Seeing imaginary numbers as rotations was one of my favorite aha moments:


This is a companion discussion topic for the original entry at http://betterexplained.com/articles/understanding-why-complex-multiplication-works/

Kalid, I really enjoy reading about your fresh perspective on mathematical analogies. I love mathematics, but I hate practicing it just to get an understanding of how it works. That’s why your articles are a great relief. I’m currently writing a series of articles on learning programming intuitively, and I would really appreciate if you would read them and find any flaws! =D

Great article! That said: “FOIL (first, inside, outside, last)”?

Kalid, I love the way you solve algebraic problems using geometry!

For example, traditionally we prove that the magnitude of the product of two complex numbers is the product of the magnitudes of the two complex numbers (I love this description =D) as follows:

X = (a + bi)
Y = (c + di)

|X| = sqrt(a ^ 2 + b ^ 2)
|Y| = sqrt(c ^ 2 + d ^ 2)

Z = X * Y
Z = (a + bi) * (c + di)
Z = (ac - bd) + (ad + bc)i

|Z| = sqrt((ac - bd) ^ 2 + (ad + bc) ^ 2)

m = (ac - bd) ^ 2 = (a ^ 2 * c ^ 2) - 2abcd + (b ^ 2 * d ^ 2)
n = (ad + bc) ^ 2 = (a ^ 2 * d ^ 2) + 2abcd + (b ^ 2 * c ^ 2)

m + n = (a ^ 2 * c ^ 2) + (b ^ 2 * d ^ 2) + (a ^ 2 * d ^ 2) + (b ^ 2 * c ^ 2)
m + n = a ^ 2 (c ^ 2 + d ^ 2) + b ^ 2 (c ^ 2 + d ^ 2)
m + n = (a ^ 2 + b ^ 2) * (c ^ 2 + d ^ 2)

|Z| = sqrt((a ^ 2 + b ^ 2) * (c ^ 2 + d ^ 2))
|Z| = sqrt(a ^ 2 + b ^ 2) * sqrt(c ^ 2 + d ^ 2)
|Z| = |X| * |Y|

However, from Kalid’s analysis (Side Effects May Including Scaling) we have:

|Z| = |X| * sqrt(c ^ 2 + d ^ 2)
|Z| = |X| * |Y|

Although both the methods follow the same analogy (Kalid’s formula is simply an expanded version of the magnitude formula), yet Kalid’s method is more intuitive.

By visualizing the problem on a graph paper and solving it using geometry we understood how complex number multiplication works; and by breaking it down in simpler components (FOIL), we avoided most of the long calculations above! ;D

@David Rysdam - FOIL refers to the formula:

Z = (a + bi) * (c + di)
Z = (a * c) + (bi * c) + (a * di) + (bi * di)

(a * c) is First
(bi * c) is Inside
(a * di) is Outside
(bi * di) is Last

This corresponds to the path given in the figure alongside. Cheers! =D

@David Rsydam - “I can be contacted by email by replacing the first dot in my URL with an @ and the stripping away the extra stuff.” - Pro analogy dude! =D

Edit: By visualizing the problem on a graph paper and solving it using geometry we avoided most of the long calculations above; and by breaking it down in simpler components (FOIL), we understood how complex number multiplication works! ;D

Great explanations. Thanks a lot!

Just one… in The Fun Explanation, the Quick example is 4 (3+i), “If we wanted only scaling we’d multiply by plain old 3.” is plain old 4?

I think David means, if the order is

  • First
  • Inside
  • Outside
  • Last
    Then, it may be FIOL instead of FOIL in the order of the characters.

@Hitoshi - My mistake, in all probability (bi * c) is outside and (a * di) is inside; but I have no clue as to how Kalid decided upon that naming convention. Perhaps he can shed some light! =)

@Hitoshi - I skipped back to the quick example in the fun explanation section, and in a sense you’re correct:

4 * (3 + i) only scales (3 + i); but taken the other way around (3 + i) scales and rotates 4!

Kalid specifically mentioned that 4 is made 3 times larger and then rotated! =D

@Hitoshi - Wow, late realization - I finally understood what you were trying to say:

“If we wanted only scaling we’d multiply by plain old 3.” is plain old 4?

No, it’s definitely plain old 3!

To scale and rotate 4, we multiply it with (3 + i). Thus if we only wish to scale it, we only multiply it with 3. Similarly if we only wish to rotate it, we only multiply it with i.

@David: Whoops! Yep, that was out of order, fixed now.

@Hitoshi: Ah, thanks for the catch! I meant it to read “if we only want the scaling effect from (3 + i) we’d multiply by plain old 3”. I’l clarify this.

@Aadit: Thanks! I can check out your posts and give some feedback for sure :). Definitely appreciate the algebra breakdown, it’s good to have it as a sanity check – but as you say, I don’t find raw algebra the most intuitive (you can get the results but don’t see them!).

FOIL is supposed to be first (ac), inside (bic), outside (a * di), last (bi * di) but I mistyped it :).

I think people just lap up whatever you dish out. Your explanation is no more vivid than that is given in any iit-jee tutorial guide.

Hi,
I can’t understand ‘But What About the Angles?’ part.what is that we are trying to achieve there ,especially this part 'In the normal case, we start with a triangle (3 + 4i) and plop on the other (2 + 3i) to get the combined angle.'Would be glad if you could explain that more.thanks ! and try to write more frequently !!

@Nandeesh: Everyone has a different style :). I just write things as I wish they were told to me (specifically, nobody had shown me why the angles were added, aside from the sine/cosine argument).

@vasanth: Great question, I need to clarify.

The question was to figure out if the angles really were added.

Normal way to add angles: start with the blue triangle (3 + 4i) and put the green one (2 + 3i) on top. We get some angle (marked in purple).

Multiplication way to add angles: Do the multiplication (3 + 4i) times (2 + 3i) and notice we’ve made a “bigger” triangle with sides 2x and 3x (where x is the length of the first triangle). We’re putting a similar triangle on top of our original blue one, so the angles must stay the same (although we’re further away than the normal case, where we just put green on top of blue).

I’ve definitely been writing too infrequently – I plan to start going faster :slight_smile:

Alternate explanation for multiplication of two complex numbers

(3 + 4i) · (2 + 3i) = ?

Note: I am not able to draw triangles. so I am just explaining in words.

First (3+4i)*2

From O the origin, draw triange OAB to represent 3+4i with B as the vertex.

At B, place another triange BCD in the same orientation with D as the tip.

Now we have multiplied 3+4i twice to get to the point D.

Next: (3+4i)*3i = (-4+3i)*3

We have to add 3 triangles each representing (-4+3i).

At D, draw a triange DEF to represent (-4+3i).

From F place a similar triangle FGH to get to the tip H.

From H place a similar triangle HIJ to get to the tip H.

The tip J represents (3 + 4i) · (2 + 3i).

We have traversed from O to H via A,B,C,D,E,F & G.

The hirizontal displacement is 3+3-4-4-4 = -6.
The vertical displacement is 4+4+3+3+3 = 17.

So H is (-6,17).

Sorry
We have traversed from O to J via A,B,C,D,E,F, G & H.

The hirizontal displacement is 3+3-4-4-4 = -6.
The vertical displacement is 4+4+3+3+3 = 17.

"@vasanth: Great question, I need to clarify.

The question was to figure out if the angles really were added.

Normal way to add angles: start with the blue triangle (3 + 4i) and put the green one (2 + 3i) on top. We get some angle (marked in purple).

Multiplication way to add angles: Do the multiplication (3 + 4i) times (2 + 3i) and notice we’ve made a “bigger” triangle with sides 2x and 3x (where x is the length of the first triangle). We’re putting a similar triangle on top of our original blue one, so the angles must stay the same (although we’re further away than the normal case, where we just put green on top of blue).

I’ve definitely been writing too infrequently — I plan to start going faster "

Thank you !

Dear Kalid,
I have been following your articles since long and I insist on my kids to read your articles.

You are doing a great philanthropic work by transforming bookish math concepts into intuitions.

I just want to confirm whether your articles are getting updated in view of the typo or readers’ inputs.

I am deeply sorry if I have made any harsh comment.

@NANDEESH: Oh, no offense taken – and thank you for the awesome writeups! Sometimes it’s nice to convert to geometry notation, I had forgotten entirely about labeling points!

I definitely take reader corrections / fixes, it’s how I learn too! :slight_smile:

@vasanth: You’re welcome!