Composition of functions is the name for plugging the value (or expression) for one function in for *x* in another function. You take some *x*-value, plug it into the first function, evaluate, and then plug that result into the other function, and evaluate that.

Content Continues Below

Advertisement

The notation for composition of functions is an open circle, kind of like a "degree" symbol, but a little bigger and more in the middle of the line's height. You can see the difference here:

degrees: °C

composition: B ∘ C

When you write the "composition" symbol, make sure that the circle is open, not closed (that is, no filled in).

composition: *f*(*x*) ∘ *g*(*x*)

multiplication: *f*(*x*) **⋅** *g*(*x*)

The filled-in (and somewhat smaller) dot indicates multiplication, which is totally *not* what we're doing here.

In addition to the open-circle notation for function composition, there is also the more intuitive notation, where the one function is explicitly plugged into the other one:

open-circle notation: *f* (*x*) ∘ *g*(*x*) = (*f* ∘ *g*)(*x*)

intuitive notation: *f* (*g*(*x*))

Affiliate

The open-circle notation is read as "eff compose gee of eks"; the intuitive notation is read as "eff of gee of eks".

There is no difference between "the composition of *g* and *f*" and "the composition of *g* with *f*". Each means the same thing; each expression can be written in any of the following equivalent ways:

*g*(*f*(*x*))- (
*g*∘*f*)(*x*) *g*(*x*) ∘*f*(*x*)

Let's start simple, by composing functions that are defined not by formulas or rules, but by sets of (*x*, *y*) points.

A function can be a set of points. Actually, all functions are sets of points. It's just that these sets are almost always written in terms of the rules that associate the *x*'s and the *y*'s. Nearly all functions have infinitely many points, so we use the rule instead of a never-ending list of points. As long as they have output *y*-values for every input value and no input *x*-value is repeated, then, yes, a set of points is indeed a function.

Suppose we have functions *f* and *g*, where each function is defined by a set of (*x*, *y*) points. To do the composition *g*(*f*(*x*))), we follow these steps:

- Choose a point in the set for
*f*. - Take the
*x*-value of that point as the input into*f*. - The output of
*f*is the*y*-value from that same point. - Find the point in the set for
*g*that has the same value for its*x*-value as the*y*-value from*f*. (If there is no such point, then the composition fails; it is "not well defined".) - Plug this value into
*g*. - The output of
*g*is the*y*-value from that same point.

As an example, let's suppose we have these two functions:

*f* = {(1, 3), (3, 4)}

*g* = {(2, 1), (3, 4)}

Then the composition *f*(*g*(2)) starts by finding the point in the set for *g* that has 2 as its *x*-value. This point is (2, 1).

The output (or *y*-value) of this point in *g* is 1; *g*(2) = 1.

We're plugging *g* into *f*, so we need to find a point in *f* that has 1 as its *x*-value. This point is (1, 3).

The output (or *y*-value) of this point in *f* is 3; *f*(*g*(2)) = *f*(1) = 3.

This tracing of values from *x*-value to *y*-value to *x*-value, etc, etc, is all there is to composing functions that are (finite) sets of points.

- Let
*f*= {(−2, 3), (−1, 1), (0, 0), (1, −1), (2, −3)}

and let*g*= {(−3, 1), (−1, −2), (0, 2), (2, 2), (3, 1)}.

Find the following: *f*(1)*g*(−1)- (
*g*∘*f*)(1)

This type of exercise is meant to emphasize that the (*x*, *y*) points in the first set are really (*x*, *f* (*x*)) points.

(*i*) To find *f* (1), I need to find the (*x*, *y*) point in the set of (*x*, *f* (*x*)) points that has a first coordinate of *x* = 1. Then *f* (1) is the *y*-value of that point. In this case, the point with *x* = 1 is (1, −1), so:

*f* (1) = −1

(*ii*) The point in the *g*(*x*) set of points with *x* = −1 is the point (−1, −2), so:

*g*(−1) = −2

(*iii*) What is "(*g* ∘ *f* )(1)"? This is read as "*g*-compose-*f* of 1", and means "plug 1 into *f*, evaluate, and then plug the result into *g*". The computation can feel a lot easier if I use the following, more intuitive, formatting:

(*g* ∘ *f* )(1) = *g*(* f*(1))

Now I'll work in steps, keeping in mind that, while I may be used to doing things from the left to the right (because that's how we read), composition works from the right to the left (or, if you prefer, from the inside out). So I'll start with the *x* = 1. I am plugging this into *f*(*x*), so I look in the set of *f*(*x*) points for a point with *x* = 1. The point is (1, −1). This tells me that *f*(1) = −1, so now I have:

(*g* ∘ *f* )(1) = *g*(*f* (1)) = *g*(−1)

Working from the right back toward the left, I am now plugging *x* = −1 (from "*f*(1) = −1") into *g*(*x*), so I look in the set of *g*(*x*) points for a point with *x* = −1. That point is (−1, −2). This tells me that *g*(−1) = −2, so now I have my answer:

(*g* ∘ *f* )(1) = *g*(*f* (1)) = *g*(−1) = −2

Note that they never told us what were the formulas, if any, for *f*(*x*) or *g*(*x*); we were only given a list of points for each. But these lists are sufficient for answering the question, as long as we keep careful track of our *x*- and *y*-values.

Content Continues Below

- Let
*f*= {(−2, 3), (−1, 1), (0, 0), (1, −1), (2, −3)} and

let*g*= {(−3, 1), (−1, −2), (0, 2), (2, 2), (3, 1)}.

Find the following: - (
*f*∘*g*)(0) - (
*f*∘*g*)(−1) - (
*g*∘*f*)(−1)

(*i*) To find (*f* ∘ *g*)(0), ("*f*-compose-*g* of zero"), I'll rewrite the expression as:

(*f* ∘ *g*)(0) = *f*(*g*(0))

This tells me that I'm going to plug zero into *g*(*x*), simplify, and then plug the result into *f*(*x*).

Looking at the list of *g*(*x*) points, I find (0, 2), so *g*(0) = 2, and I need now to find *f*(2). Looking at the list of *f*(*x*) points, I find (2, −3), so *f*(2) = −3.

(*f* ∘ *g*)(0) = *f*(*g*(0)) = *f*(2) = −3

(*ii*) The second part works the same way:

(*f* ∘ *g*)(−1) = *f*(*g*(−1)) = *f*(−2) = 3

(*iii*) I can rewrite the composition as (*g* ∘ *f* )(−1) = *g*(*f*(−1)) = *g*(1).

Uh-oh; there is no *g* point with *x* = 1, so it is nonsense to try to find the value of *g*(1). In math-speak, *g*(1) is "not defined"; that is, the function has been given no definition for this input value; mathematically, the expression is nonsense. Then (*g* ∘ *f* )(−1) is also nonsense, so the answer is:

(*g* ∘ *f* )(−1) is undefined.

Part (*iii*) of the above example points out an important consideration regarding domains and ranges. It may be that your composed function (the result you get after composing two other functions) will have a restricted domain, or at least a domain that is more restricted than you might otherwise have expected. This will be more important when we deal with composing functions symbolically later on.

Another exercise of this type gives you two graphs, rather than two sets of points, and has you read the points (that is, the functions' values) from these graphs.

- Given
*f*(*x*) and*g*(*x*) as shown below, find (*f*∘*g*)(−1).

*f*(*x*)

*g*(*x*)

For this exercise, I will need to read the points from the graphs. (One up-side? I can safely assume that all labelled points have integer coordinates. It wouldn't be fair to ask me to work from a picture if the unlabelled points didn't have nice coordinates.)

I've been asked to find (*f* ∘ *g*)(−1) = *f* (*g*(−1)). This means that I first need to find *g*(−1).

So I look on the graph of *g*(*x*), and find *x* = −1. Tracing up from *x* = −1 to the point on the graph of *g*(*x*), I arrive at *y* = 3. This means that the point (−1, 3) is on the graph of *g*(*x*), and *g*(−1) = 3.

Now I take the output of *g* and use it as the input to *f*. To do this, I plug the value *x* = 3 into *f* (*x*).

To do this, I look at the graph of *f*(*x*) and find *x* = 3. Tracing up from *x* = 3 to the graph of *f* (*x*), I arrive at *y* = 3. Then the point (3, 3) is on the graph of *f* (*x*), and *f* (3) = 3.

(*f* ∘ *g*)(−1) = *f* (*g*(−1)) = *f*(3) = 3

- Given
*f*(*x*) and*g*(*x*) as shown in the graphs below, find (*g*∘*f*)(*x*) for integral values of*x*on the interval −3 ≤*x*≤ 3.

*f*(*x*)

*g*(*x*)

Affiliate

When the instructions for this exerise refer to "integral values", it means that they're only going to be asking me to work with the clearly-marked points which have integer coordinates; I won't have to try to guess values from the less-clear portions of the graphs.

The "on the interval" part is telling me that they want me to find the compositional values for all *x*-values between (and including) −3 and +3. In other words, it's a cutesy way to turn this exercise into a seven-part question. Joy. 🙄

This is asking me for all the values of (*g* ∘ *f* )(*x*) = *g*(*f* (*x*)) for *x* = −3, −2, −1, 0, 1, 2, and 3. So I'll just follow the points on the graphs and compute all the values.

Working from left to right, the first compositional value to be found begins at *x* = −3, starting with the first graph.

Looking at the graph for *f*, I see that the point with −3 as its *x*-axis value has a corresponding *y*-value of +1, so *f* (−3) = 1. This output value of *f* is the input value to *g*.

Lookng at the graph of *g*, I see that the point with an *x*-value of 1 has a *y*-value of −1. This is the output value of *g*.

Putting it all together, I have my first compositional value:

(*g* ∘ *f* )(−3) = *g*(*f* (−3)) = *g*(1) = −1

I can use the same process for the remaining six compositions:

(*g* ∘ *f* )(−2) = *g*(*f*(−2)) = *g*(−1) = 3

(*g* ∘ *f* )(−1) = *g*(* f* (−1)) = *g*(−3) = −2

(*g* ∘ *f* )(0) = *g*(*f* (0)) = *g*(−2) = 0

(*g* ∘ *f* )(1) = *g*(*f* (1)) = *g*(0) = 2

(*g* ∘ *f* )(2) = *g*(*f* (2)) = *g*(2) = −3

(*g* ∘ *f* )(3) = *g*(*f* (3)) = *g*(3) = 1

You aren't generally given functions as sets of points or as graphs. However, you should probably expect one question of this type on the next test, as a check of your conceptual understanding.

URL: https://www.purplemath.com/modules/fcncomp.htm

© 2024 Purplemath, Inc. All right reserved. Web Design by