Complex Numbers
Level: 3 — From-scratch derivations, code-from-memory, explain-out-loud Time limit: 45 minutes Total marks: 60
Instructions: Show all reasoning. Where a "derive from scratch" or "explain out loud" prompt is given, write the full chain of reasoning as though teaching it. Use for inline math and for displayed math.
Question 1 — Euler's formula from scratch (10 marks)
(a) Starting from the Taylor series of , and , derive Euler's formula . Show the term-by-term regrouping explicitly. (7)
(b) Hence evaluate and state its geometric meaning in the Argand plane. (3)
Question 2 — De Moivre's theorem, proof + application (12 marks)
(a) State De Moivre's theorem and prove it for positive integer by induction. (6)
(b) Use De Moivre's theorem to derive the identity for in terms of only. (4)
(c) Explain out loud (2–3 sentences) why De Moivre's theorem fails to give all values directly when is a fraction. (2)
Question 3 — nth roots and roots of unity (12 marks)
(a) Find all cube roots of in exponential form and in rectangular form. (6)
(b) Show that the sum of all distinct th roots of unity is for . (4)
(c) Describe the geometric arrangement of the roots of unity in the Argand plane. (2)
Question 4 — Algebra & conjugates (10 marks)
(a) Compute , giving the answer as . (4)
(b) Prove the conjugate property using . (4)
(c) Evaluate using the power cycle of . (2)
Question 5 — Code from memory (8 marks)
Write pseudocode (or Python) for a function nth_roots(r, theta, n) that returns the list of all th roots of the complex number , each as a pair. Annotate the two key formulas used. (8)
Question 6 — Polynomial with complex roots (8 marks)
The polynomial has one real root.
(a) Find the real root and hence factor completely over . (5)
(b) Explain out loud why non-real roots of a real-coefficient polynomial must occur in conjugate pairs. (3)
Answer keyMark scheme & solutions
Question 1 (10)
(a) Series (1 mark for all three): Substitute (1): Use powers of : (1). Then: (separating even/odd : 2 marks). Recognise real part , imaginary part (1):
(b) (1), so (1). Geometrically: rotating the point by radians about the origin lands at on the negative real axis (1).
Question 2 (12)
(a) Statement (1): . Base trivially true (1). Assume true for (1): . Multiply both sides by (1): Expand and use angle-addition formulas (1): Hence true for ; by induction true for all positive integers (1).
(b) . Expand LHS (1): Real part (1): . Sub (1):
(c) For fractional the expression is multivalued: adding to leaves the base unchanged but changes the fractional-power result, so De Moivre's single-value form captures only one of the distinct roots (2).
Question 3 (12)
(a) : modulus , argument (or ) (1). Write (1). Cube roots: modulus , arguments for (1):
- :
- :
- :
(exponential forms 1.5, rectangular 1.5).
(b) The th roots of unity are , (1). These are a geometric series with ratio (1): since (2).
(c) They lie equally spaced on the unit circle, forming vertices of a regular -gon, one vertex at (2).
Question 4 (10)
(a) Multiply by conjugate (1): Numerator: (1). Denominator (1).
(b) Let , . Product (1): Also (1). Equal, QED (1).
(c) , so (1). , so sum (1).
Question 5 (8)
import cmath, math
def nth_roots(r, theta, n):
roots = []
R = r ** (1.0/n) # modulus of each root = r^(1/n)
for k in range(n):
ang = (theta + 2*math.pi*k) / n # arguments spaced by 2π/n
roots.append((R, ang))
return rootsMarks: correct signature/loop (2), modulus formula annotated (2), argument formula annotated (2), returns pairs for (2).
Question 6 (8)
(a) Try rational roots. (1), so is the real root (1). Divide: (1). Full factorisation:
(b) If has real coefficients and , then taking conjugates (since conjugation distributes over sums/products and fixes real coefficients). Hence is also a root — non-real roots pair up (3).
[
{"claim":"e^{iπ}+1=0","code":"import sympy as sp; result = sp.simplify(sp.exp(sp.I*sp.pi)+1)==0"},
{"claim":"cos3θ=4cos^3θ-3cosθ","code":"th=sp.symbols('th'); result = sp.simplify(sp.cos(3*th)-(4*sp.cos(th)**3-3*sp.cos(th)))==0"},
{"claim":"(3+2i)/(1-4i)=-5/17+14/17 i","code":"z=(3+2*sp.I)/(1-4*sp.I); result = sp.simplify(z-(sp.Rational(-5,17)+sp.Rational(14,17)*sp.I))==0"},
{"claim":"cube roots of -8i are sqrt3-i, 2i, -sqrt3-i","code":"vals=[sp.simplify(v**3) for v in [sp.sqrt(3)-sp.I, 2*sp.I, -sp.sqrt(3)-sp.I]]; result = all(sp.simplify(v-(-8*sp.I))==0 for v in vals)"},
{"claim":"p(x)=(x-2)(x^2+9) and i^2025+i^-2025=0","code":"x=sp.symbols('x'); p=x**3-2*x**2+9*x-18; f=sp.expand((x-2)*(x**2+9)); c1=sp.simplify(p-f)==0; c2=sp.simplify(sp.I**2025+sp.I**(-2025))==0; result = c1 and c2"}
]