Study materials · photonresources.comClasses with our teachers · Photon AcademyFor IB Diploma students worldwide

Maths IA · Algebra and functions · topic 13 of 97

The Mandelbrot set: which numbers stay bounded? · IB Maths IA idea: guide, sample graph and step-by-step plan

prove it, then draw it

Square a number, add a constant, repeat. For some constants the numbers blow up, for others they stay put, and the border between them is infinitely detailed. You're going to find part of that border exactly.

Difficulty●●● Stretch
KitPython or a spreadsheet for iteration, Desmos, your GDC
TimeAbout 14 to 16 hours
FitsAA SL1 of 3AA HL3 of 3AI SL1 of 3AI HL2 of 3
  • ✓ you like complex numbers and want a use for them
  • ✓ you want to prove something about a picture
  • ✓ you can write or adapt a few lines of code to count iterations

The big idea

Pick a complex number c and iterate z → z² + c starting from 0. The Mandelbrot set is every c for which the sequence stays bounded. A clean proof shows that once |z| passes 2 the sequence escapes for ever, so software only has to test against 2. Then you can do what software cannot: find parts of the boundary by algebra. Where a fixed point stops being stable you get a cardioid, and where a two-step cycle stops being stable you get a circle. Polar and Euler forms do the work. Test your exact boundaries against pixel counts, then estimate the area by random sampling and judge how many iterations are enough.

Make it yours: pick one twist

Copying a classic won't show your choices. Pick one of these (or invent your own) and your IA becomes yours.

Swipe for more twists →

Prove the escape radius

Show that if |c| ≤ 2 and |z| > 2 then |z²+c| > |z|, and that the sequence grows without bound.

→ A proof by inequality, then a test: the escape rule you give your program is something you proved.
Find the main cardioid

Solve z² + c = z for the fixed point, say when it is stable, and find the boundary in polar and Euler form.

→ A curve you derive and plot over your own pixel image. Compare the two and say where they differ.
Find the big circle

Find where a two-step cycle appears and when it is stable.

→ A second exact region and a second algebra problem. Does it touch the cardioid where your algebra says it should?
Estimate the area

Count random points that stay bounded after N steps, and see how the estimate moves as N grows.

→ A probability and error question: what is the margin of error, and which way is the bias?
Explore Julia sets

Fix c, then colour starting values z by whether they escape. Compare c inside and outside the Mandelbrot set.

→ A link between one picture and many: connected and dust-like shapes. Keep it to one clear comparison.
Zoom and count

Measure how the iteration count needed grows as you zoom towards the boundary.

→ A fitted model for the cost of accuracy, with a sensible limit stated.

Your Maths IA research question: run the check

exact or estimated?

Write your own question first. Then make sure it ticks every box:

  • Defines the iteration, the starting value and what 'bounded' means with a clear test.
  • Says which boundary or quantity you will find exactly and which you will estimate.
  • States how you will compare algebra with a picture: pixels counted, points sampled, with the sample size.
  • Says how many iterations you use and why, and what you do about points that are not decided.
  • Is narrow enough for 12 to 20 pages, with every proof on the page and not hidden in code.
Stuck on your question?Get an RQ Check: each question is scored on 5 points, with what to fix. Your first one is free.
Get an RQ Check

The set-up

One rule, one starting point, one question. Draw your own orbit for a value of c you choose and mark where it ends up.

ReIm|z| = 2z0 = 0escapedzn+1 = zn² + cc = −0.3 + 0.3i: staysc = −0.5 + 0.7i: escapeswhich c stay inside?those c make up theMandelbrot setno way back once |z| > 2

How your Maths IA could be laid out

The usual order for a topic like this, what each part needs to show, and roughly how much of your 12 to 20 pages it takes. The words are all yours.

Aim and context~1 page
The iteration, what 'bounded' means and what you predict before running any code.
Complex numbers you need~1.5 pages
Cartesian, polar and Euler forms, with modulus and argument defined and used.
The escape test~2 pages
The proof that |z| > 2 escapes, with every inequality justified.
Exact regions~3 pages
Fixed points, two-step cycles and the stability condition leading to the cardioid and the disc.
Picture against algebra~2 pages
Your pixel image with the exact curves drawn over it, and a measured gap.
Area estimate~1.5 pages
The sampling method, the estimate for several iteration limits and a margin of error.
Conclusion~1 page
Back to your aim: what you proved, what you only estimated, with numbers.
Evaluation~2 pages, the biggest part!
Finite iterations, floating-point rounding, a boundary that is never fully pinned down. Say which limit matters most.
Bibliographynot counted
Where every definition, picture and published value came from.

What your Maths IA graph could look like

plot against N

A made-up data set to show the form of a strong graph, not the answer: an area estimate against the iteration limit, with the exact area of two regions as a floor. Yours will look different. example only

01002003004005001.21.31.41.51.61.71.8Iteration limit N (number of steps)Estimated area (square units)model: area falls towards a limitexact area of cardioid and discyour sampled estimates (made-up)estimate stays abovethe exact floorILLUSTRATIVE · MADE-UP DATA
  • The estimate depends on N, so plot it against N rather than quoting one number.
  • Axis labels say what is counted and in what unit, even if the unit is only square units of the c-plane.
  • Mark the exact area of the regions you derived. It is a floor, not a result.
  • Plot the error bars from your sample size. A dot with no error bar is half an answer.
  • Another graph to consider: the number of steps to escape along a line through the plane.

The maths in action

worked through, not sketched!

The graph above was a sketch with made-up numbers. This figure works the idea through from the model itself, so you can see what a finished figure looks like. The source line under it says where every number comes from.

Left: the black Mandelbrot set on a blue background, with a red curve round the large heart-shaped region and an orange circle round the disc on its left. Right: a falling curve levelling off near 1.51, above a dashed line at 1.374.
(a) The Mandelbrot set in black with the exact cardioid and disc boundaries drawn over it. (b) A random-sampling estimate of the area against the iteration limit N: 1.51 at N = 2000, above the exact 1.374 for the cardioid and disc together.Source: Computed here: escape-time iteration and a seeded random sample of 200 000 points in the box (no published data).

Your game plan

Tick steps off as you go. We'll remember on this device.

0 of 10 done

  1. Read and predictFind out what the Mandelbrot set is. Before coding, guess whether c = 1, c = −1 and c = i stay bounded, then iterate by hand to check.
  2. Set up the complex numbersReview modulus, argument and Euler form. Say which form you will use for the fixed-point work and why.
  3. Prove the escape testProve that once |z| > 2 the sequence escapes. Write down the inequality in each line.
  4. Trial run (1 lesson)Code or build the iteration for a grid of 20 by 20 values of c. Check three points against your hand work before going on.
  5. Find the fixed-point boundarySolve for the fixed point, state when it is stable and get the cardioid in Euler form.
  6. Find the two-step boundaryFind the two-step cycle, state when it is stable and get the circle.
  7. Draw them over the picturePlot your exact curves over a fine image and measure how well they agree.
  8. Go further, with a reasonEstimate the area by sampling, or compare Julia sets for two values of c. HL: justify the sample size and say which way the estimate is biased.
  9. Reflect as you goAfter every result, write one line on what is proved, what is estimated and what is assumed. These lines become your evaluation.
  10. Cut, check, then sendCheck every proof is complete, every graph has labelled axes and the conclusion answers your aim. Then send your teacher one draft.

The maths you'll use

  • Complex numbers in polar and Euler form – Write for the boundary of stability and expand into .
  • Inequalities and proof – Prove with the triangle inequality that if and then , so the orbit escapes.
  • Quadratic equations – Solve for the fixed points, and for the points of a two-step cycle.
  • Moduli of complex numbers – Find when the multiplier of a cycle has modulus less than 1: for a fixed point and for a two-step cycle.
  • Probability and sampling – Estimate area as the fraction of random points that stay bounded times the box area, with a margin of error from the binomial model.

Key equations

Syllabus links

  • 1.12Complex numbers in Cartesian formHL
  • 1.13Polar and Euler forms of complex numbersHL
  • 1.14Conjugate roots, De Moivre's theorem, roots of complex numbersHL
  • 1.15Proof by induction, contradiction and counterexampleHL
  • 2.7Quadratic equations, inequalities and the discriminant
  • 4.5Basic probability and expected frequency

Read up first

Data and sources to start from

Iterate the map in Python or a spreadsheet over a grid or random sample of c values, and compare counts with the exact regions.

References to cite

  1. Peitgen, H.-O., & Richter, P. H. (1986). The beauty of fractals: Images of complex dynamical systems. Springer.
  2. Devaney, R. L. (2003). An introduction to chaotic dynamical systems (2nd ed.). Westview Press.
  3. Mandelbrot, B. B. (1980). Fractal aspects of the iteration of z → λz(1 − z) for complex λ and z. Annals of the New York Academy of Sciences, 357, 249–259.

Cite what you actually use, in your own format, and say where each number came from.

Traps to avoid in this Maths IA

survived N steps is not proof
  • Treating a pretty picture as the maths. The proofs and the exact curves are the marks.
  • Testing against 2 without proving why 2 is enough.
  • Reporting an area from one iteration limit, when the estimate moves as the limit changes.
  • Calling a point 'inside' because it survived N steps. It might escape later.
  • Mixing up the c-plane (the Mandelbrot set) with the z-plane (a Julia set).
  • Using a graphing tool's colours as evidence, with no count of what is actually in the set.

More Maths IA ideas like this

Make sure it's yours

This guide shows how a topic like this is usually approached. It is not an IA. Your question, choices, data, analysis and words must be your own: change something, tell your teacher where the idea came from, and follow your school's rules on outside help.

Get your RQ checked · first one free