IB Maths AA HL Topic 2 — Functions Paper 1 & 2 HL only ~8 min read

Modulus Transformations

Two distinct transformations apply the modulus to a function. y = |f(x)| takes the modulus of the output — anything below the x-axis flips up. y = f(|x|) takes the modulus of the input — the right side is kept and reflected across the y-axis. Don’t confuse them: the first changes negative y-values, the second forces symmetry about the y-axis.

📘 What you need to know

y = |f(x)| — reflect parts below the x-axis

Rule parts of f on or above x-axis stay; parts below are reflected in the x-axis
y = |f(x)| — flipping the negative parts up
x y y = f(x) x y y = |f(x)| cusp

The reflection happens at every x-intercept of f. At those points, the gradient changes sign abruptly — creating a cusp. Maxima above the axis stay as maxima; minima below the axis become maxima after the flip.

y = f(|x|) — make symmetric about the y-axis

Rule keep the part of f on or to the right of the y-axis; reflect it in the y-axis to make the left side
y = f(|x|) — discarding the left, mirroring the right
x y y = f(x) x y y = f(|x|) cusp at x = 0

The original left side is discarded entirely — replaced by a mirror image of the right side. Whatever was on the original left, including any features there, vanishes from the new graph.

Key differences

y = |f(x)|
no parts below x-axis
not necessarily symmetric
flips the output — affects negative y-values
y = f(|x|)
can have parts below x-axis
always symmetric about y-axis
flips the input — only the right side matters
Quick test: a graph with parts below the x-axis cannot be y = |f(x)| — those parts would have been reflected up. A graph that isn’t symmetric about the y-axis cannot be y = f(|x|).

Composite transformations — order matters

Functions like y = a|f(x)| + b or y = |af(x) + b| chain the modulus with stretches and translations. The order is dictated by the brackets:

y = a|f(x)| + b
f → |f| → a|f| → a|f| + b
take modulus first, then stretch and shift
y = |af(x) + b|
f → af → af + b → |af + b|
stretch and shift first, then take modulus
Read the brackets carefully. The modulus only affects what’s inside it — anything outside the modulus signs has already been computed before the absolute value is taken.

🧭 Recipe — sketch a modulus transformation

  1. Identify which transformation: y = |f(x)| (modulus around f) or y = f(|x|) (modulus around x).
  2. Sketch y = f(x) first, marking key points (intercepts, vertex, asymptotes).
  3. Apply the rule: reflect parts below the x-axis up (for |f(x)|) or reflect the right side across the y-axis (for f(|x|)).
  4. Mark new cusps sharply — at x-intercepts (for |f|) or at x = 0 (for f(|x|)) if the gradient changes there.
  5. Apply outer transformations (stretches, translations) after the modulus, in their stated order.
  6. Label key points on the final graph — both originals that remained and any new ones created by the reflection.

Worked examples

WE 1

Sketch y = |f(x)| for a quadratic

Sketch the graph of y = |x2 − 4|, identifying all key features.

Step 1: Sketch f(x) = x² − 4 parabola opening up; vertex (0, −4); roots at x = ±2 Step 2: Apply |f(x)| — reflect parts below x-axis up f < 0 on −2 < x < 2 → reflect this piece vertex (0, −4) reflects to (0, 4) — now a local max Step 3: Mark cusps at x-intercepts cusps at (−2, 0) and (2, 0) y-int (0, 4) — local max; cusps at (±2, 0); range y ≥ 0 graph looks like a parabola for |x| > 2, plus an inverted parabola for −2 ≤ x ≤ 2 — joined sharply at the cusps
WE 2

Sketch y = f(|x|) for an asymmetric quadratic

Given f(x) = x2 + 2x − 3, sketch y = f(|x|), identifying all key features.

Step 1: Sketch f(x) — original parabola roots at x = −3 and x = 1; vertex (−1, −4); y-int (0, −3) Step 2: Apply f(|x|) — keep right side (x ≥ 0), reflect across y-axis right side starts at (0, −3), passes through (1, 0), rises left side is mirror image — passes through (−1, 0), down to (0, −3) Step 3: Identify new key features y-int (0, −3) — now a local min (cusp from the two reflections) x-intercepts at (±1, 0); original vertex (−1, −4) is gone y-int (0, −3); x-ints (±1, 0); cusp at (0, −3); symmetric about y-axis the original vertex on the left of the y-axis is replaced — only what’s on the right (and its reflection) remain
WE 3

Compare y = |f(x)| and y = f(|x|) using key points

The function y = f(x) has a local maximum at A(2, 4) and a local minimum at B(−3, −2). Describe the position and type of these features on:
(a) y = |f(x)|
(b) y = f(|x|).

(a) y = |f(x)| A(2, 4): y > 0 → unchanged → still local max at (2, 4) B(−3, −2): y < 0 → reflected up → local max at (−3, 2) (a) max at (2, 4); max at (−3, 2) (b) y = f(|x|) A(2, 4): on right side → unchanged → still local max at (2, 4) A also reflected to (−2, 4) → another local max B(−3, −2): on left side → discarded entirely (b) max at (2, 4); max at (−2, 4); B disappears the modulus changes a min on the negative side into a max — the curvature still bends the original way, but now away from the axis
WE 4

Modulus of a cubic

Sketch the graph of y = |x3 − 3x|, identifying the cusps and any local maxima.

Step 1: Factorise and find roots of f(x) = x³ − 3x x(x² − 3) = 0 → x = 0, ±√3 Step 2: Find original local extrema f'(x) = 3x² − 3 = 0 → x = ±1 f(1) = 1 − 3 = −2 (local min) f(−1) = −1 + 3 = 2 (local max) Step 3: Apply |f(x)| f < 0 on x < −√3 and 0 < x < √3 → reflect these regions cusps form at all three roots: x = 0, ±√3 (1, −2) reflects to (1, 2) → local max (−1, 2) is on a positive region → unchanged → local max cusps at (0, 0), (±√3, 0); two local maxima at (±1, 2) |f| of an odd function is even — the result is symmetric about the y-axis even when f wasn’t
WE 5

Composite transformation — track key points

The function f has a local minimum at (3, −4) and a local maximum at (−1, 2). Find the position and type of these features on the graph of y = 2|f(x)| − 1.

Step 1: Apply transformations in order — |f| → 2|f| → 2|f| − 1 Step 2: Track (3, −4) |f|: y = |−4| = 4 → (3, 4); was min, now max ×2: (3, 8) −1: (3, 7) Step 3: Track (−1, 2) |f|: y = 2 → (−1, 2); still max ×2: (−1, 4) −1: (−1, 3) (3, 7) — local max; (−1, 3) — local max order matters: |f| first reflects negative outputs; then ×2 stretches; then −1 shifts. Doing them in a different order would give a different graph
WE 6

Double modulus — sketch y = ||x| − 3|

Sketch y = ||x| − 3|, identifying all cusps and the y-intercept.

Step 1: Sketch the inner f(x) = |x| − 3 V-shape with vertex (0, −3); x-intercepts (±3, 0) Step 2: Apply outer modulus — reflect parts below x-axis up f < 0 on −3 < x < 3 — reflect this section vertex (0, −3) reflects to (0, 3) — new local max Step 3: Identify cusps and intercepts cusps appear at the x-intercepts of f: (−3, 0) and (3, 0) cusp at the original vertex (now at (0, 3)) where reflection meets reflection cusps at (−3, 0), (0, 3), (3, 0); y-int (0, 3); range y ≥ 0 final shape is an “M” — two V’s joined at a peak, all built from straight-line segments

💡 Top tips

⚠ Common mistakes

Modulus transformations are the bridge to solving modulus equations and inequalities — the next note. With the graph in hand, you can read off solutions to |f(x)| = k by finding where horizontal lines cross the modulus graph, and inequalities by reading off intervals where one curve sits above another.

Need help with Modulus Transformations?

Get 1-on-1 help from an IB examiner who knows exactly what Paper 1 & 2 are looking for.

Book Free Session →