Theorems linearabsvaluegraphs, standardformgraph, linearmononialgraphs, linearlaurentlgraphs, linearrootgraphs and linearrationalpowergraphs all describe ways in which the graph of a function can changed, or ‘transformed’ to obtain the graph of a related function. The results and proofs of each of these theorems are virtually identical, and with the language of function composition, we can see better why.

Consider, for instance, Theorem linearrationalpowergraphs, in which we describe how to transform the graph of \(f(x) = x^r\) to \(F(x) = a(bx-h)^r +k\). We may think of \(F\) as being build up from \(f\) by composing \(f\) with linear functions. Specifically, if we let \(i(x) = bx-h\), then \((f\circ i)(x) = f(i(x)) = f(bx-h) = (bx-h)^r\). If, additionally, we let and \(j(x) = ax+k\), then \((j \circ (f \circ i))(x) = j( (f \circ i)(x)) = j((bx-h)^r) = a(bx-h)^r+k = F(x)\). Hence, we can view \(F = j \circ f \circ i\).

In this section, our goal is to generalize the aforementioned theorems to the graphs of all functions. Along the way, you’ll see some very familiar arguments, but, additionally, we hope this section affords the reader an opportunity to not only see how these transformations work they way they do, but why.

Our motivational example for the results in this section is the graph of \(y = f(x)\) below. While we could formulate an expression for \(f(x)\) as a piecewise-defined function consisting of linear and constant parts, we wish to focus more on the geometry here. That being said, we do record some of the function values - the ‘key points’ if you will - to track through each transformation.

Figure 1: \(y=f(x)\)
Show Alt Text Graph of a piecewise linear function passing through the points \((0,1)\), \((2,3)\), \((4,3)\), and \((5,5)\). The graph rises from \((0,1)\) to \((2,3)\), remains horizontal from \((2,3)\) to \((4,3)\), then rises again to \((5,5)\).
\[ \begin{array}{|c||c|c|} \hline x & (x,f(x)) & f(x) \\ \hline 0 & (0,1)& 1 \\ \hline 2 & (2,3) & 3 \\ \hline 4 & (4,3) & 3 \\ \hline 5 & (5,5) & 5 \\ \hline \end{array} \]

1 Vertical and Horizontal Shifts

Suppose we wished to graph \(g(x) = f(x) + 2\). From a procedural point of view, we start with an input \(x\) to the function \(f\) and we obtain the output \(f(x)\). The function \(g\) takes the output \(f(x)\) and adds \(2\) to it. Using the sample values for \(f\) from the table above we can create a table of values for \(g\) below, hence generating points on the graph of \(g\).

\[ \begin{array}{|c||c|c|c|c|} \hline x & (x,f(x)) & f(x) & g(x)=f(x)+2 & (x, g(x)) \\ \hline 0 & (0,1)& 1 & 1+2 = 3 &(0, 3) \\ \hline 2 & (2,3) & 3 & 3 + 2 = 5 &(2,5) \\ \hline 4 & (4,3) & 3 & 3 + 2 = 5 &(4, 5) \\ \hline 5 & (5,5) & 5 & 5+2 = 7 &( 5 ,7) \\ \hline \end{array} \]

In general, if \((a,b)\) is on the graph of \(y=f(x)\), then \(f(a) = b\). Hence, \(g(a) = f(a) +2 = b+2\), so the point \((a,b+2)\) is on the graph of \(g\). In other words, to obtain the graph of \(g\), we add \(2\) to the \(y\)-coordinate of each point on the graph of \(f\).

Geometrically, adding \(2\) to the \(y\)-coordinate of a point moves the point \(2\) units above its previous location. Adding \(2\) to every \(y\)-coordinate on a graph en masse is moves or ‘shifts’ the entire graph of \(f\) up \(2\) units. Notice that the graph retains the same basic shape as before, it is just \(2\) units above its original location. In other words, we connect the four ‘key points’ we moved in the same manner in which they were connected before.

Figure 2: Graphs of \(y=f(x)\) (left) and \(y=g(x)=f(x)+2\) (right).
Show Alt Text Two graphs illustrate a vertical shift. The graph on the left passes through the points \((0,1)\), \((2,3)\), \((4,3)\), and \((5,5)\). The graph on the right passes through the points \((0,3)\), \((2,5)\), \((4,5)\), and \((5,7)\). An arrow indicates that the graph is shifted up \(2\) units by adding \(2\) to each \(y\)-coordinate.

You’ll note that the domain of \(f\) and the domain of \(g\) are the same, namely \([0,5]\), but that the range of \(f\) is \([1,5]\) while the range of \(g\) is \([3,7]\). In general, shifting a function vertically like this will leave the domain unchanged, but could very well affect the range.

You can easily imagine what would happen if we wanted to graph the function \(j(x) = f(x) - 2\). Instead of adding \(2\) to each of the \(y\)-coordinates on the graph of \(f\), we’d be subtracting \(2\). Geometrically, we would be moving the graph down \(2\) units. We leave it to the reader to verify that the domain of \(j\) is the same as \(f\), but the range of \(j\) is \([-1,3]\). In general, we have:

To prove Theorem 1, we first note that \(f\) and \(F\) have the same domain (why?) Let \(c\) be an element in the domain of \(F\) and, hence, the domain of \(f\). The fact that \(f\) and \(F\) are functions guarantees there is exactly one point on each of their graphs corresponding to \(x=c\). On \(y=f(x)\), this point is \((c, f(c))\); on \(y = F(x)\), this point is \((c, F(c)) = (c, f(c)+k)\). This sets up a nice correspondence between the two graphs and shows that each of the points on the graph of \(F\) can be obtained to by adding \(k\) to each of the \(y\)-coordinates of the corresponding point on the graph of \(f\). This proves Theorem 1. In the language of ‘inputs’ and ‘outputs’, Theorem 1 says adding to the output of a function causes the graph to shift vertically.

Keeping with the graph of \(y=f(x)\) above, suppose we wanted to graph \(g(x) = f(x+2)\). In other words, we are looking to see what happens when we add \(2\) to the input of the function. Let’s try to generate a table of values of \(g\) based on those we know for \(f\). We quickly find that we run into some difficulties. For instance, when we substitute \(x=4\) into the formula \(g(x)=f(x+2)\), we are asked to find \(f(4+2)=f(6)\) which doesn’t exist because the domain of \(f\) is only \([0,5]\). The same thing happens when we attempt to find \(g(5)\).

\[ \begin{array}{|c||c|c|c|c|} \hline x & (x,f(x)) & f(x)& g(x)=f(x+2) & (x, g(x)) \\ \hline 0 & (0,1)& 1 & g(0) = f(0+2) = f(2) = 3 &(0, 3) \\ \hline 2 & (2,3) & 3 & g(2) = f(2+2) = f(4) = 3 &(2,3) \\ \hline 4 & (4,3) & 3 & g(4) = f(4+2) = f(6) = ? & \\ \hline 5 & (5,5) & 5 & g(5) = f(5+2) = f(7) = ? & \\ \hline \end{array} \]

What we need here is a new strategy. We know, for instance, \(f(0) = 1\). To determine the corresponding point on the graph of \(g\), we need to figure out what value of \(x\) we must substitute into \(g(x) = f(x+2)\) so that the quantity \(x+2\), works out to be \(0\). Solving \(x+2=0\) gives \(x=-2\), and \(g(-2) = f((-2)+2) = f(0) = 1\) so \((-2,1)\) on the graph of \(g\). To use the fact \(f(2) = 3\), we set \(x+2 = 2\) to get \(x=0\). Substituting gives \(g(0) = f(0+2) = f(2) = 3\). Continuing in this fashion, we produce the table below.

\[ \begin{array}{|r||c|c|c|} \hline x & x+2 & g(x)=f(x+2) & (x, g(x)) \\ \hline -2 & 0 & g(-2)=f(-2+2) = f(0) = 1 &(-2, 1) \\ \hline 0 & 2 & g(0)=f(0+2) = f(2) = 3 &(0,3) \\ \hline 2 & 4 & g(2)=f(2+2) = f(4) = 3 & (2,3)\\ \hline 3 & 5 & g(3)=f(3+2) = f(5) = 5 & (3,5) \\ \hline \end{array} \]

In summary, the points \((0,1)\), \((2,3)\), \((4,3)\) and \((5,5)\) on the graph of \(y=f(x)\) give rise to the points \((-2,1)\), \((0,3)\), \((2,3)\) and \((3,5)\) on the graph of \(y=g(x)\), respectively. In general, if \((a,b)\) is on the graph of \(y=f(x)\), then \(f(a) = b\). Solving \(x+2 = a\) gives \(x = a-2\) so that \(g(a-2) = f((a-2)+2) = f(a) = b\). As such, \((a-2,b)\) is on the graph of \(y=g(x)\). The point \((a-2,b)\) is exactly \(2\) units to the left of the point \((a,b)\) so the graph of \(y=g(x)\) is obtained by shifting the graph \(y=f(x)\) to the left \(2\) units, as pictured below.

Figure 3: Graphs of \(y=f(x)\) (left) and \(y=g(x)=f(x+2)\) (right).
Show Alt Text Two graphs illustrate a horizontal shift. The graph on the left passes through the points \((0,1)\), \((2,3)\), \((4,3)\), and \((5,5)\). The graph on the right passes through \((-2,1)\), \((0,3)\), \((2,3)\), and \((3,5)\). An arrow indicates that the graph is shifted left \(2\) units by subtracting \(2\) from each \(x\)-coordinate.

Note that while the ranges of \(f\) and \(g\) are the same, the domain of \(g\) is \([-2,3]\) whereas the domain of \(f\) is \([0,5]\). In general, when we shift the graph horizontally, the range will remain the same, but the domain could change. If we set out to graph \(j(x) = f(x-2)\), we would find ourselves adding \(2\) to all of the \(x\) values of the points on the graph of \(y=f(x)\) to effect a shift to the right \(2\) units. Generalizing these notions produces the following result.

To prove Theorem 2, we first note the domains of \(f\) and \(F\) may be different. If \(c\) is in the domain of \(f\), then the only number we know for sure is in the domain of \(F\) is \(c+h\), since \(F(c+h) = f((c+h)-h) = f(c)\). This sets up a nice correspondence between the domain of \(f\) and the domain of \(F\) which spills over to a correspondence between their graphs, The point \((c, f(c))\) is the one and only point on the graph of \(y = f(x)\) corresponding to \(x=c\) just as the point \((c+h, F(c+h)) = (c+h, f(c))\) is the one and only point on the graph of \(y = F(x)\) corresponding to \(x=c+h\). This correspondence shows we may obtain the graph of \(F\) by adding \(h\) to each \(x\)-coordinate of each point on the graph of \(f\), which establishes the theorem. In words, Theorem 2 says that subtracting from the input to a function amounts to shifting the graph horizontally.

Theorems 1 and 2 present a theme which will run common throughout the section: changes to the outputs from a function result in some kind of vertical change; changes to the inputs to a function result in some kind of horizontal change. We demonstrate Theorems 1 and 2 in the example below.

2 Reflections about the Coordinate Axes

We now turn our attention to reflections. We know from Section ?? that to reflect a point \((x,y)\) across the \(x\)-axis, we replace \(y\) with \(-y\). If \((x,y)\) is on the graph of \(f\), then \(y=f(x)\), so replacing \(y\) with \(-y\) is the same as replacing \(f(x)\) with \(-f(x)\). Hence, the graph of \(y=-f(x)\) is the graph of \(f\) reflected across the \(x\)-axis. Similarly, the graph of \(y=f(-x)\) is the graph of \(y = f(x)\) reflected across the \(y\)-axis.

The proof of Theorem 3 follows in much the same way as the proofs of Theorems 1 and 2. If \(c\) is an element of the domain of \(f\) and \(F(x) = -f(x)\), then the point \((c, f(c))\) corresponds to the point \((c, F(c)) = (c,-f(c))\). Comparing the corresponding points \((c, f(c))\) and \((c, -f(c))\), we see they only difference is the \(y\)-coordinates are the exact opposite - indicating they are mirror-images across the \(x\)-axis. Similarly, if \(c\) is an element in the domain of \(f\), then \(c\) corresponds to the element \(-c\) in the domain of \(F(x) = f(-x)\) since \(F(-c) = f(-(-c)) = f(c)\). Hence, the corresponding points here are \((c, f(c))\) and \((-c, F(-c)) = (-c, f(c))\). Comparing \((c, f(c))\) with \((-c, f(c))\), we see they are reflections about the \(y\)-axis.

Using the language of inputs and outputs, Theorem 3 says that multiplying the outputs from a function by \(-1\) reflects its graph across the horizontal axis, while multiplying the inputs to a function by \(-1\) reflects the graph across the vertical axis.

Applying Theorem 3 to the graph of \(y=f(x)\) given at the beginning of the section, we can graph \(y=-f(x)\) by reflecting the graph of \(f\) about the \(x\)-axis.

\[ \begin{array}{|c||c|c|c|c|} \hline x & (x,f(x)) & f(x) & g(x)=-f(x) & (x, g(x)) \\ \hline 0 & (0,1)& 1 & -1 &(0, -1) \\ \hline 2 & (2,3) & 3 & -3 &(2,-3) \\ \hline 4 & (4,3) & 3 & -3&(4, -3) \\ \hline 5 & (5,5) & 5 & -5 &( 5 ,-5) \\ \hline \end{array} \]

Figure 10: Graphs of \(y=f(x)\) (left) and \(y=-f(x)\) (right).
Show Alt Text Two graphs illustrate a reflection across the \(x\)-axis. The graph on the left is a piecewise linear function passing through the points \((0,1)\), \((2,3)\), \((4,3)\), and \((5,5)\). The graph on the right is obtained by reflecting the first graph across the \(x\)-axis. The corresponding points are \((0,-1)\), \((2,-3)\), \((4,-3)\), and \((5,-5)\).

By reflecting the graph of \(f\) across the \(y\)-axis, we obtain the graph of \(y=f(-x)\).

\[ \begin{array}{|r||c|c|c|} \hline x & -x & g(x)=f(-x) & (x, g(x)) \\ \hline 0 & 0 & g(0)=f(-(-0)) = f(0) = 1 &(0, 1) \\ \hline -2 & 2 & g(-2)=f(-(-2)) = f(2) = 3 &(-2,3) \\ \hline -4 & 4 & g(-4)=f(-(-4)) = f(4) = 3 & (-4,3)\\ \hline -5 & 5 & g(-5)=f(-(-5)) = f(5) = 5 & (-5,5) \\ \hline \end{array} \]

Figure 11: Graphs of \(y=f(x)\) (left) and \(y=f(-x)\) (right).
Show Alt Text Two graphs illustrate a reflection across the \(y\)-axis. The graph on the left is a piecewise linear function passing through the points \((0,1)\), \((2,3)\), \((4,3)\), and \((5,5)\). The graph on the right is obtained by reflecting the first graph across the \(y\)-axis. The corresponding points are \((0,1)\), \((-2,3)\), \((-4,3)\), and \((-5,5)\).

Some remarks about Example 2 are in order. In number 1(iii) above, to find a point on the graph of \(y=f(-x+8)\), we took the given \(x\)-coordinate on our starting graph, \(2\), and subtracted \(8\) first then multiplied by \(-1\). If this seems somehow ‘backwards’ it should.

When evaluating the expression \(-x+8\), the order of operations mandates we multiply by \(-1\) first then add \(8\). Here, however, we weren’t evaluating an expression - we were solving an equation: \(-x+8 = 2\), which meant we did the exact opposite steps in the opposite order. This exemplifies a larger theme with transformations: when adjusting inputs, the resulting points on the graph are obtained by applying the opposite operations indicated by the formula in the opposite order of operations.

On the other hand, when it came to multiple transformations involving the \(y\)-coordinates, we followed the order of operations. As in 4(ii) above, when it came to applying a reflection about the \(x\)-axis and a vertical shift, we applied the reflection first, then the shift. This is because instead of solving an equation to find the new \(y\)-coordinates, we were simplifying an expression. Again, this is an example of a much larger theme: when adjusting outputs, the resulting points on the graph are obtained by applying the stated operations in the usual order.

Last but not least, in number 5, to find \(f\) in terms of \(g\), we reversed the steps used to transform \(f\) into \(g\). Another tact is to approach the problem in the same way we approached transforming \(f\) into \(g\): namely, starting with the graph of \(g\), determine values \(h\) and \(k\) and signs \(\pm \) so that \(f(x) = \pm g(\pm x - h) + k\). We leave this to the reader.

3 Scalings

We now turn our attention to our last class of transformations: scalings. A thorough discussion of scalings can get complicated because they are not as straight-forward as the previous transformations. A quick review of what we’ve covered so far, namely vertical shifts, horizontal shifts and reflections, will show you why those transformations are known as rigid transformations.

Simply put, rigid transformations preserve the distances between points on the graph - only their position and orientation in the plane change. If, however, we wanted to make a new graph twice as tall as a given graph, or one-third as wide, we would be affecting the distance between points. These sorts of transformations are hence called non-rigid. As always, we motivate the general theory with an example.

Suppose we wish to graph the function \(g(x) =2 f(x)\) where \(f(x)\) is the function whose graph is given at the beginning of the section. From its graph, we can build a table of values for \(g\) as before.

Figure 20: \(y=f(x)\)
Show Alt Text Graph of a piecewise linear function passing through the points \((0,1)\), \((2,3)\), \((4,3)\), and \((5,5)\). The graph rises from \((0,1)\) to \((2,3)\), remains horizontal from \((2,3)\) to \((4,3)\), then rises again to \((5,5)\).
\[ \begin{array}{|c||c|c|c|c|} \hline x & (x,f(x)) & f(x) & g(x)=2f(x) & (x, g(x)) \\ \hline 0 & (0,1)& 1 & 2 &(0, 2) \\ \hline 2 & (2,3) & 3 & 6 &(2,6) \\ \hline 4 & (4,3) & 3 & 6 &(4, 6) \\ \hline 5 & (5,5) & 5 & 10 &( 5 ,10) \\ \hline \end{array} \]

Graphing, we get:

Figure 21: Graphs of \(y=f(x)\) and \(y=2f(x)\)
Show Alt Text A piecewise linear function passing through the points \((0,1)\), \((2,3)\), \((4,3)\), and \((5,5)\) is vertically stretched by a factor of \(2\). The transformed graph passes through the points \((0,2)\), \((2,6)\), \((4,6)\), and \((5,10)\).

In general, if \((a,b)\) is on the graph of \(f\), then \(f(a) = b\) so that \(g(a) = 2 f(a) = 2b\) puts \((a,2b)\) on the graph of \(g\). In other words, to obtain the graph of \(g\), we multiply all of the \(y\)-coordinates of the points on the graph of \(f\) by \(2\). Multiplying all of the \(y\)-coordinates of all of the points on the graph of \(f\) by \(2\) causes what is known as a ‘vertical scaling by a factor of \(2\).’

If we wish to graph \(y = \frac {1}{2} f(x)\), we multiply the all of the \(y\)-coordinates of the points on the graph of \(f\) by \(\frac {1}{2}\). This creates a ‘vertical scaling by a factor of \(\frac {1}{2}\)’ as seen below.

Figure 22: Graphs of \(y=f(x)\) and \(y=\frac {1}{2}f(x)\)
Show Alt Text A piecewise linear function passing through the points \((0,1)\), \((2,3)\), \((4,3)\), and \((5,5)\) is vertically compressed by a factor of \(\frac {1}{2}\). The transformed graph passes through the points \(\left (0,\frac {1}{2}\right )\), \(\left (2,\frac {3}{2}\right )\), \(\left (4,\frac {3}{2}\right )\), and \(\left (5,\frac {5}{2}\right )\).

These results are generalized in the following theorem.

The proof of Theorem 4 mimics the proofs of Theorems 1 and 3. If \(c\) is in the domain of \(f\), then \((c, f(c))\) is on the graph of \(f\) and the corresponding point on the graph of \(F(x)=af(x)\) is \((c, F(c)) = (c, a f(c))\). Comparing the points \((c, f(c))\) and \((c, a f(c))\) proves the theorem.

A few remarks about Theorem 4 are in order. First, a note about the verbiage. To the authors, the words ‘stretch’, ‘expansion’, and ‘dilation’ all indicate something getting bigger. Hence, ‘stretched by a factor of \(2\)’ makes sense if we are scaling something by multiplying it by \(2\). Similarly, we believe words like ‘shrink’, ‘compression’ and ‘contraction’ all indicate something getting smaller, so if we scale something by a factor of \(\frac {1}{2}\), we would say it ‘shrinks by a factor of \(2\)’ - not ‘shrinks by a factor of \(\frac {1}{2}\)’. This is why we have written the descriptions ‘stretch by a factor of \(a\)’ and ‘shrink by a factor of \(\frac {1}{a}\)’ in the statement of the theorem.

Second, in terms of inputs and outputs, Theorem 4 says multiplying the outputs from a function by positive number \(a\) causes the graph to be vertically scaled by a factor of \(a\). It is natural to ask what would happen if we multiply the inputs of a function by a positive number. This leads us to our last transformation of the section.

Referring to the graph of \(f\) given at the beginning of this section, suppose we want to graph \(g(x) = f(2x)\). In other words, we are looking to see what effect multiplying the inputs to \(f\) by \(2\) has on its graph. If we attempt to build a table directly, we quickly run into the same problem we had in our discussion leading up to Theorem 2, as seen in the table on the left below.

We solve this problem in the same way we solved this problem before. For example, if we want to determine the point on \(g\) which corresponds to the point \((2,3)\) on the graph of \(f\), we set \(2x =2 \) so that \(x=1\). Substituting \(x=1\) into \(g(x)\), we obtain \(g(1) = f(2 \cdot 1) = f(2) = 3\), so that \((1,3)\) is on the graph of \(g\). Continuing in this fashion, we obtain the table on the lower right.

\( \begin{array}{|c||c|c|c|c|} \hline x & (x,f(x)) & f(x)& g(x)=f(2x) & (x, g(x)) \\ \hline 0 & (0,1)& 1 & f(2 \cdot 0) = f(0) = 1 &(0, 1) \\ \hline 2 & (2,3) & 3 & f(2\cdot 2) = f(4) = 3 &(2,3) \\ \hline 4 & (4,3) & 3 & f(2 \cdot 4) = f(8) = ? & \\ \hline 5 & (5,5) & 5 & f(2 \cdot 5) = f(10) = ? & \\ \hline \end{array} \) \( \begin{array}{|r||c|c|c|} \hline x & 2x & g(x)=f(2x) & (x, g(x)) \\ \hline 0 & 0 & g(0)= f(2 \cdot 0) = f(0) = 1 &(0, 0) \\ \hline 1 & 2 & g(1)=f(2 \cdot 1) = f(2) = 3 &(1,3) \\ \hline 2 & 4 & g(2)=f(2 \cdot 2) = f(4) = 3 & (2,3)\\ \hline \frac {5}{2} & 5 & g\left (\frac {5}{2}\right )=f\left (2 \cdot \frac {5}{2} \right ) = f(5) = 5 & \left (\frac {5}{2},5\right ) \\ \hline \end{array} \)

In general, if \((a,b)\) is on the graph of \(f\), then \(f(a) = b\). Hence \(g\left (\frac {a}{2}\right ) = f\left (2 \cdot \frac {a}{2}\right ) = f(a) = b\) so that \(\left (\frac {a}{2}, b\right )\) is on the graph of \(g\). In other words, to graph \(g\) we divide the \(x\)-coordinates of the points on the graph of \(f\) by \(2\). This results in a horizontal scaling by a factor of \(\frac {1}{2}\).

Figure 23: Graphs of \(y=f(x)\) and \(y=f(2x)\)
Show Alt Text A piecewise linear function passing through the points \((0,1)\), \((2,3)\), \((4,3)\), and \((5,5)\) is horizontally scaled by a factor of \(\frac {1}{2}\). The transformed graph passes through the points \((0,1)\), \((1,3)\), \((2,3)\), and \(\left (\frac {5}{2},5\right )\).

If, on the other hand, we wish to graph \(y = f\left ( \frac {1}{2} x\right )\), we end up multiplying the \(x\)-coordinates of the points on the graph of \(f\) by \(2\) which results in a horizontal scaling by a factor of \(2\), as demonstrated below.

Figure 24: Graphs of \(y=f(x)\) and \(y=f(\frac {1}{2}x)\)
Show Alt Text A piecewise linear function passing through the points \((0,1)\), \((2,3)\), \((4,3)\), and \((5,5)\) is horizontally scaled by a factor of \(2\). The transformed graph passes through the points \((0,1)\), \((4,3)\), \((8,3)\), and \((10,5)\).

We have the following theorem.

The proof of Theorem 5 follows closely the spirit of the proof of Theorems 2 and 3. If \(c\) is an element of the domain of \(f\), them the number \(\frac {c}{b}\) corresponds to a domain element of \(F(x)= f(bx)\) since \(F\left (\frac {c}{b} \right ) = f\left ( b \cdot \frac {c}{b} \right ) = f(c)\). Hence, there is a correspondence between the point \((c, f(c))\) on the graph of \(f\) and the point \(\left ( \frac {c}{b}, F\left (\frac {c}{b}\right ) \right )= \left ( \frac {c}{b}, f(c) \right )\) on the graph of \(F\). We can obtain \( \left ( \frac {c}{b}, f(c) \right )\) by dividing the \(x\)-coordinate of \((c, f(c))\) by \(b\) and the result follows.

Theorem 5 tells us that if we multiply the input to a function by \(b\), the resulting graph is scaled horizontally by a factor of \(\frac {1}{b}\). The next example explores how vertical and horizontal scalings sometimes interact with each other and with the other transformations introduced in this section.

4 Transformations in Sequence

Now that we have studied three basic classes of transformations: shifts, reflections, and scalings, we present a result below which provides one algorithm to follow to transform the graph of \(y=f(x)\) into the graph of \(y=af(bx-h)+k\) without the need of using Theorems 1, 2, 3, 4 and 5 individually.

Theorem 6 is the ultimate generalization of Theorems ??, ??, ??, ??, ?? and ??. We note the underlying assumption here is that regardless of the order or number of shifts, reflections and scalings applied to the graph of a function \(f\), we can always represent the final result in the form \(g(x) = a f(bx-h)+k\). Since each of these transformations can ultimately be traced back to composing \(f\) with linear functions, this fact is verified by showing compositions of linear functions results in a linear function.

Theorem 6 can be established by generalizing the techniques developed in this section. Suppose \((c,f(c))\) is on the graph of \(f\). To match up the inputs of \(f(bx-h)\) and \(f(c)\), we solve \(bx-h = c\) and solve.

We first add the \(h\) (causing the horizontal shift) and then divide by \(b\). If \(b\) is a positive number, this induces only a horizontal scaling by a factor of \(\frac {1}{b}\). If \(b<0\), then we have a factor of \(-1\) in play, and dividing by it induces a reflection about the \(y\)-axis. So we have \(x = \frac {c+h}{b}\) as the input to \(g\) which corresponds to the input \(x=c\) to \(f\).

We now evaluate \(g\left ( \frac {c+h}{b}\right ) = a f\left (b \cdot \frac {c+h}{b} -h \right ) + K = a f(c+h-h) = a f(c)+k\). We notice that the output from \(f\) is first multiplied by \(a\). As with the constant \(b\), if \(a > 0\), this induces only a vertical scaling. If \(a < 0\), then the \(-1\) induces a reflection across the \(x\)-axis. Finally, we add \(k\) to the result, which is our vertical shift.

A less precise, but more intuitive way to paraphrase Theorem 6 is to think of the quantity \(bx-h\) is the ‘inside’ of the function \(f\). What’s happening inside \(f\) affects the inputs or \(x\)-coordinates of the points on the graph of \(f\). To find the \(x\)-coordinates of the corresponding points on \(g\), we undo what has been done to \(x\) in the same way we would solve an equation.

What’s happening to the output can be thought of as things happening ‘outside’ the function, \(f\). Things happening outside affect the outputs or \(y\)-coordinates of the points on the graph of \(f\). Here, we follow the usual order of operations to simplify the new \(y\)-value: we first multiply by \(a\) then add \(k\) to find the corresponding \(y\)-coordinates on the graph of \(g\).

It needs to be stressed that our approach to handling multiple transformations, as summarized in Theorem 6 is only one approach. Your instructor may have a different algorithm. As always, the more you understand, the less you’ll ultimately need to memorize, so whatever algorithm you choose to follow, it is worth thinking through each step both algebraically and geometrically.

We make good use of Theorem 6 in the following example.

The reader is strongly encouraged to graph the series of functions which shows the gradual transformation of the graph of \(f\) into the graph of \(g\) in Example 4. We have outlined the sequence of transformations in the above exposition; all that remains is to plot the five intermediate stages. Our next example turns the tables and asks for the formula of a function given a desired sequence of transformations.

It is instructive to show that the expression \(g(x)\) in Example 4 can be written as \(g(x) = a f(bx-h)+k\).

One way is to compare the graphs of \(f\) and \(g\) and work backwards. A more methodical way is to repeat the work of Example 4, but never substitute the formula for \(f(x)\) as follows:

  1. Per Theorem 1, \(g_{1}(x) = f(x) + 2\).
  2. Per Theorem 3, \(g_{2}(x) = -g_{1}(x) = -[f(x) + 2] = -f(x)-2\).
  3. Per Theorem 2, \(g_{3}(x) = g_{2}(x-1) = -f(x-1)-2\).
  4. Per Theorem 5, \(g_{4}(x) = g_{3}(2x) =-f(2x-1)-2\).
  5. Per Theorem 1, \(g_{5}(x) = g_{4}(x)+3 = -f(2x-1)-2 + 3 = -f(2x-1)+1\).
  6. Per Theorem 3, \(g_{6}(x) = g_{5}(-x) = -f(2(-x)-1)+1 = -f(-2x-1)+1\).

Hence \(g(x) = -f(-2x-1)+1\). Note we can show \(f\) is even, so \(f(-2x-1) = f(-(2x+1)) = f(2x+1)\) and obtain \(g(x) = -f(2x+1)+1\).

At the beginning of this section, we discussed how all of the transformations we’d be discussing are the result of composing given functions with linear functions. Not all transformations, not even all rigid transformations, fall into these categories.

For example, consider the graphs of \(y=f(x)\) and \(y=g(x)\) below.

Figure 26: Graphs of \(y=f(x)\) and \(y=g(x)\)
Show Alt Text The graph on the left is a piecewise linear function connecting the points \((0,-5)\), \((2,0)\), \((4,3)\), and \((5,3)\). The graph rises from left to right and then remains horizontal from \((4,3)\) to \((5,3)\).

The graph on the right is a piecewise linear function connecting the points \((0,5)\), \((2,0)\), \((4,3)\), and \((5,3)\). The graph decreases from \((0,5)\) to \((2,0)\), then increases to \((4,3)\), and remains horizontal from \((4,3)\) to \((5,3)\).

In Exercise ??, we explore a non-linear transformation and revisit the pair of functions \(f\) and \(g\) then.