TOPIC

Transformations of functions: Horizontal stretches

MY PROGRESS

Pug Score

0%

Study Points

+0

Overview

Watch

Read

Next Steps


Get Started

Get unlimited access to all videos, practice problems, and study tools.

Unlimited practice
Full videos

Back to Menu

Topic Progress

Pug Score

0%

Videos Watched

0/0

Read

Not viewed


Study Points

+0

Read

Horizontal Stretch and Compression of Functions

This topic covers horizontal stretches and compressions of function graphs: the rule y equals f of x over b, how the stretch factor works, why it feels backwards compared to vertical stretches, and how to spot and graph these transformations with worked examples.

What Is a Horizontal Stretch?

A horizontal stretch (or compression) changes the width of a graph without changing its height. It happens whenever you replace \(x\) with \(x\) divided by a number, or with \(x\) multiplied by a number, inside a function. If \(y = f(x)\) is the original graph, then the transformed graph is written as:

\( y = f\left(\dfrac{x}{b}\right) \)

Here \(b\) controls how wide or narrow the graph becomes. Unlike a vertical stretch, which multiplies the whole output, a horizontal stretch only affects the input, so it changes the \(x\)-coordinates of every point while leaving the \(y\)-coordinates exactly where they were.

The Rule for Horizontal Stretches and Compressions

For \(y = f\left(\dfrac{x}{b}\right)\), with \(b > 0\):

  • If \(b > 1\), the graph is stretched horizontally by a factor of \(b\), so it becomes wider.
  • If \(0 < b < 1\), the graph is compressed horizontally, so it becomes narrower.

This same idea is often written as \(y = f(kx)\), where \(k = \dfrac{1}{b}\). In that form, \(k > 1\) compresses the graph and \(0 < k < 1\) stretches it. Both versions describe the same transformation; only the way the factor is written changes, so always check whether the number is dividing \(x\) or multiplying it before deciding whether the graph gets wider or narrower.

This is the part students find backwards at first: with a horizontal transformation, dividing \(x\) by a number bigger than 1 makes the graph wider, while multiplying \(x\) by a number bigger than 1 makes it narrower. Vertical stretches work the way you would expect (multiplying the output makes the graph taller), but horizontal transformations work inside the function, so the effect on the \(x\)-axis is the opposite of the effect on the \(y\)-axis. If the factor is negative, the stretch or compression is also flipped left to right, which is the same effect described in reflection across the y axis.

It also helps to compare this with shifting a graph sideways rather than resizing it, which is covered separately in horizontal translations.

Worked Example 1: Stretching a Parabola by a Factor of 2

Start with \(f(x) = x^2\). To stretch this graph horizontally by a factor of 2, replace \(x\) with \(\dfrac{x}{2}\):

\( g(x) = f\left(\dfrac{x}{2}\right) = \left(\dfrac{x}{2}\right)^2 = \dfrac{x^2}{4} \)

Every point on \(f\) moves twice as far from the y axis. The point \((1, 1)\) on \(f\) becomes \((2, 1)\) on \(g\), and \((-1, 1)\) becomes \((-2, 1)\). Notice the \(y\)-values do not change at all.

Graph of f of x equals x squared Plot of y = x**2 for x in [-3, 3] -3 -2 -1 0 1 2 3 0 2 4 6 8 10 x y (1, 1) (-1, 1)
Original graph of \(f(x) = x^2\)
Graph of g of x equals x over 2 squared, showing a horizontal stretch by factor 2 Plot of y = (x/2)**2 for x in [-6, 6] -6 -4 -2 0 2 4 6 0 2 4 6 8 10 x y (2, 1) (-2, 1)
Graph of \(g(x) = f\left(\dfrac{x}{2}\right)\), stretched horizontally by a factor of 2

Worked Example 2: Horizontal Compression

Now start with \(f(x) = |x|\) and multiply the input by 3:

\( g(x) = f(3x) = |3x| \)

Because the input is multiplied by a number greater than 1, the graph is compressed horizontally by a factor of \(\dfrac{1}{3}\). The point \((3, 3)\) on \(f\) moves to \((1, 3)\) on \(g\): the \(x\)-coordinate shrinks by a factor of 3, while the \(y\)-coordinate stays the same.

Graph of f of x equals the absolute value of x Plot of y = abs(x) for x in [-4, 4] -4 -2 0 2 4 0 1 2 3 4 x y (3, 3)
Original graph of \(f(x) = |x|\)
Graph of g of x equals the absolute value of 3 x, showing a horizontal compression by factor one third Plot of y = abs(3*x) for x in [-2, 2] -2 -1 0 1 2 0 1 2 3 4 5 6 x y (1, 3)
Graph of \(g(x) = f(3x) = |3x|\), compressed horizontally by a factor of \(\dfrac{1}{3}\)

How Horizontal Stretches Affect Domain and Range

Because a horizontal stretch or compression only changes \(x\)-coordinates, the range of the function usually stays the same, but the domain can change. For example, if the original domain of \(f\) is \([0, 4]\) and the graph is stretched by a factor of 2, the domain of \(g(x) = f\left(\dfrac{x}{2}\right)\) becomes \([0, 8]\), since every \(x\)-value doubles. If you need a refresher on describing these sets, see how to write domain and range.

Common Mistakes

  • Mixing up the roles of \(b\): forgetting whether the graph is described as \(f\left(\dfrac{x}{b}\right)\) or \(f(bx)\) leads to stretching when you meant to compress, or the reverse.
  • Applying the factor to the \(y\)-coordinates instead of the \(x\)-coordinates.
  • Forgetting that a negative factor also reflects the graph across the y axis.
  • Confusing a horizontal stretch with a horizontal shift; a stretch changes width, a shift changes position, and the two are applied differently inside the function.

Quick Reference

y = f(x ÷ b) y = f(b·x) b > 1 stretch (wider) b > 1 compress (narrower) 0 < b < 1 compress (narrower) 0 < b < 1 stretch (wider)

Once this pattern feels comfortable, it connects well with related ideas such as 1 to 1 functions, since horizontal stretches preserve one-to-one behavior as long as the original function was one-to-one.

Related lessons