Stretching, Shrinking, and Reflecting Graphs

Multiplying a parent function changes its size and orientation: \(a\cdot f(x)\) rescales every output, and a negative factor flips the graph — a reflection.

By the end you'll be able to read \(a\cdot f(x)\) and \(f(bx)\) and say, without plotting a single point, whether the graph stretches, shrinks, and/or reflects — and by how much.

Predict: what does \(a=-2\) do to the graph? Set \(a=-2\) on the slider and check.

The faint dotted V is the parent parent function \(f(x)=|x|\). Drag a to plot \(a\cdot f(x)\) and watch the marked point at x = 1 track \(a\) exactly — its height is always \(a\cdot f(1) = a\). Push \(|a|\) above 1 to stretch, below 1 to shrink, and drag \(a\) negative to see the reflection emerge.

a = 2.0: g(x) = 2.0·|x|; point (1, 2.0); opens upward, same orientation as the parent; stretched ×2.0 vs f(x) = |x|.

g(x) = a·|x| — curve, parent ghost, and the tracked point at x = 1
g(x) = a·|x| point (1, a) f(x) = |x| (parent)

Where translations slide a graph, scalings resize it and reflections flip it — multiplication is the tool behind both, and the sign of the factor decides which one you get.

Visual

Picture the faint parent V, \(f(x)=|x|\), sitting at the origin. Multiplying the whole function by \(a\) grabs every point and pulls it toward or away from the x-axis: \(a=3\) triples every height (a steeper, narrower-looking V); \(a=0.25\) squashes every height to a quarter (a flatter V). Once \(a\) crosses zero into negative territory, every point that was above the x-axis lands the same distance below it — the V turns upside down. That's a reflection across the x-axis, riding along for free whenever \(a<0\).

Formal

Starting from a parent function \(f(x)\), multiplication does two different jobs depending on where it lands:

  • Vertical stretch/shrink: \(a\cdot f(x)\) multiplies every OUTPUT by \(a\). If \(|a| > 1\) the graph stretches vertically (taller); if \(0 < |a| < 1\) it shrinks (flatter). Here \(|a|\) is the size of the factor, separate from its sign.
  • Horizontal stretch/shrink: \(f(bx)\) multiplies the INPUT before \(f\) sees it. This one runs backwards from intuition: \(|b|>1\) compresses the graph horizontally, and \(0<|b|<1\) stretches it — because \(f(2x)\) reaches the parent's behavior in half the horizontal distance.
  • Reflection: a negative factor flips the graph across an axis. \(-f(x)\) negates outputs, reflecting across the x-axis; \(f(-x)\) negates inputs, reflecting across the y-axis.
Applied

An audio engineer scales a waveform's amplitude by a gain factor: turning the gain up (\(|a|>1\)) makes it louder (taller peaks), turning it down (\(0<|a|<1\)) makes it quieter, and flipping the gain negative inverts the signal — the exact same math as reflecting \(f(x)\) across the x-axis.

Worked example

Let the parent be \(f(x)=|x|\), and graph \(g(x)=-2|x|\). The factor is \(a=-2\): split it into size (2) and sign (negative). Vertical stretch by 2: every output doubles, so the parent point \((1,1)\) rises in size to \((1,2)\). Reflection by the negative: outputs negate, so \((1,2)\) becomes \((1,-2)\), flipping the V to open downward. Confirm: \(g(1)=-2|1|=-2\) and \(g(-3)=-2|-3|=-6\) — a downward V, twice as steep as the parent.

Your turn

Same parent, different factor: \(h(x) = -0.5|x|\). \(|a| = 0.5\), which is less than 1, so the graph shrinks toward the x-axis; and \(a\) is negative, so it's also reflected across the x-axis. Now finish it: \(h(2) = -0.5\cdot|2| = -0.5\cdot 2 =\) ____

Reveal the answer

\(h(2) = -0.5 \cdot 2 = \) -1. Set \(a = -0.5\) on the slider above and check the tracked point — at \(x=1\) it should read \((1, -0.5)\), half the parent's height and flipped below the axis.

More info — why f(bx) runs backwards from a·f(x)

\(a\cdot f(x)\) acts on the function's output, so bigger \(a\) means bigger outputs — intuitive. But \(f(bx)\) acts on the INPUT before \(f\) ever sees it: to reach the same output the parent reached at some \(x\), \(f(bx)\) only needs an input of \(x/b\). If \(b=2\), you get there in half the horizontal distance, so the whole graph looks squeezed toward the y-axis even though \(b>1\). This is the same shift-and-scale toolkit you'll use again once shifts are combined with scaling — see the Math is Fun link in Dive deeper for a live graph of both rules side by side.

Check your understanding

Question 1 of 4

For \(g(x) = 4|x|\), what is \(g(3)\)?

Question 2 of 4

How does \(h(x) = \dfrac{1}{4}f(x)\) compare to the parent \(f(x)\)?

Question 3 of 4

Given \(g(x) = -f(x)\) and \(h(x) = f(-x)\), which statement is correct?

Question 4 of 4

Compare \(y = -3\cdot f(x-1)\) to \(y = f(x-1)\).

Recap

  • \(a\cdot f(x)\) rescales OUTPUTS: \(|a|>1\) stretches vertically (taller); \(0<|a|<1\) shrinks (flatter).
  • \(f(bx)\) rescales INPUTS and runs backwards: \(|b|>1\) compresses horizontally; \(0<|b|<1\) stretches horizontally.
  • A negative factor reflects the graph: \(-f(x)\) flips across the x-axis (outputs negate); \(f(-x)\) flips across the y-axis (inputs negate).
  • A negative \(a\) both scales by \(|a|\) AND reflects — don't lose the flip while tracking the size.

Dive deeper

Sources

  • Stretching, Shrinking, and Reflecting Graphs