On this page
The expansion of |z₁ + z₂|² looks like the algebra identity (a + b)² = a² + b² + 2ab, but the middle term is different, and that difference is where marks are lost. Here is the proof, the picture, the perpendicularity test and two examples you can check by hand.
How do you expand |z₁ + z₂|²?
You need three facts about the conjugate, all listed in the complex conjugate reference:
A complex number times its conjugate is the square of its modulus: z z̄ = |z|².
The conjugate of a sum is the sum of the conjugates, and the conjugate of a product is the product of the conjugates.
The real part of z is (z + z̄)/2, so z + z̄ = 2Re(z).
Now the proof, one step per line:
|z₁ + z₂|² = (z₁ + z₂)(z̄₁ + z̄₂), using z z̄ = |z|² and the conjugate of a sum.
Multiply out: z₁z̄₁ + z₂z̄₂ + z₁z̄₂ + z̄₁z₂ = |z₁|² + |z₂|² + z₁z̄₂ + z̄₁z₂.
The last two terms are conjugates of each other, because the conjugate of z₁z̄₂ is z̄₁z₂. A number plus its conjugate is twice its real part, so |z₁ + z₂|² = |z₁|² + |z₂|² + 2Re(z₁z̄₂).
Put −z₂ in place of z₂ and you get the twin: |z₁ − z₂|² = |z₁|² + |z₂|² − 2Re(z₁z̄₂). For more practice, see our post on using z z̄ = |z|² to simplify complex number problems.
What does 2Re(z₁z̄₂) mean geometrically?
Write z₁ = r₁(cos θ₁ + i sin θ₁) and z₂ = r₂(cos θ₂ + i sin θ₂). Then z₁z̄₂ has modulus r₁r₂ and argument θ₁ − θ₂, so Re(z₁z̄₂) = r₁r₂ cos(θ₁ − θ₂). The expansion becomes |z₁ + z₂|² = r₁² + r₂² + 2r₁r₂ cos(θ₁ − θ₂), which is the cosine rule for the triangle with sides z₁ and z₂ placed head to tail. The plus sign appears because the angle inside that triangle is π minus the angle between the two arrows.
So Re(z₁z̄₂) acts like the dot product of the two arrows from the origin. For the diagonal picture, read the geometric meaning of adding complex numbers; for why arguments subtract, see the argument of a product and quotient.
Add the two expansions and the cross terms cancel: |z₁ + z₂|² + |z₁ − z₂|² = 2(|z₁|² + |z₂|²). This is the parallelogram law: the squares of the two diagonals add up to the squares of the four sides.
When is |z₁ + z₂| = |z₁ − z₂|?
Subtract the two expansions: |z₁ + z₂|² − |z₁ − z₂|² = 4Re(z₁z̄₂). The two moduli are equal exactly when Re(z₁z̄₂) = 0. For non-zero z₁ and z₂, this condition has four equivalent forms:
Re(z₁z̄₂) = 0, or equivalently z₁z̄₂ + z̄₁z₂ = 0.
z₁/z₂ is purely imaginary, since z₁/z₂ = z₁z̄₂/|z₂|².
arg z₁ − arg z₂ = ±π/2 (up to multiples of 2π).
The lines from the origin to z₁ and z₂ are perpendicular.
In the picture, z₁ + z₂ and z₁ − z₂ are the diagonals of the parallelogram with sides z₁ and z₂, and a parallelogram has equal diagonals only when it is a rectangle (the figure at the top). If z₁ or z₂ is zero, the equality holds trivially; mention that case too.
A worked example you can check by hand
Example 1: z₁ = 3 + 4i, z₂ = 1 + 2i.
|z₁|² = 9 + 16 = 25 and |z₂|² = 1 + 4 = 5.
z₁z̄₂ = (3 + 4i)(1 − 2i) = 3 − 6i + 4i + 8 = 11 − 2i, so Re(z₁z̄₂) = 11.
|z₁ + z₂|² = 25 + 5 + 22 = 52. Check: z₁ + z₂ = 4 + 6i, and 16 + 36 = 52.
|z₁ − z₂|² = 25 + 5 − 22 = 8. Check: z₁ − z₂ = 2 + 2i, and 4 + 4 = 8.
Example 2: z₁ = 2 + i, z₂ = −1 + 2i.
z₁z̄₂ = (2 + i)(−1 − 2i) = −2 − 4i − i + 2 = −5i, so Re(z₁z̄₂) = 0.
So |z₁ + z₂| = |z₁ − z₂|. Check: 1 + 3i and 3 − i both have modulus √10.
Also z₁/z₂ = −5i/5 = −i, purely imaginary.
What mistakes cost marks here?
Writing 2z₁z₂ or 2Re(z₁z₂) as the cross term. The conjugate on one factor is essential: for Example 1, Re(z₁z₂) = −5, not 11.
Dropping the Re. The cross term must be real, like every other term.
Saying |z₁ + z₂| = |z₁ − z₂| means arg z₁ = arg z₂. That is the condition for |z₁ + z₂| = |z₁| + |z₂|, the equality case of the triangle inequality, not this one.
If you stall when a question hides this identity inside a locus problem, the Fermi Problem Library has worked problems with a step-by-step solver that explains the reasoning rather than printing an answer. If the conjugate rules themselves feel shaky, the Fermi Concept Library gives each concept in mathematics its own lesson.
Try it now: pick z₂ = 3 − 2i, set z₁ = iz₂, and confirm both moduli match.



