【基本】合成関数

ここでは、合成関数について見ていきます。

【広告】

合成関数

二次関数のグラフのかき方を学んだときのことを思い出してみましょう。まず、一番簡単な $y=ax^2$ のグラフをかきました。それから、 $y=ax^2+q$ や $y=a(x-p)^2$ の場合を見た後に、 $y=a(x-p)^2+q$ のグラフを考える、という順番で見ていきました(参考:二次関数

$ax^2$ と $ax^2+q$ を見比べると、違うところは $+q$ のところです。 $y=ax^2+q$ は、 $x$ を $ax^2$ に変換し、さらに $ax^2$ を $ax^2+q$ に変換したもの、と考えることができます。実際、グラフを考えるときには、このようにステップを分けて考えていました。

それぞれのステップを関数の形で書いてみましょう。「 $x$ を $ax^2$ へ変換」する部分は、 $f(x)=ax^2$ と書くことができます。また、「 $ax^2$ を $ax^2+q$ に変換」する部分は、単純に $q$ を足す変換なので、関数の形で書けば、 $g(x)=x+q$ となります。

これらの関数 $f,g$ を組み合わせれば、もとの関数 $ax^2+q$ を作ることができます。実際に、次のように強引に $g(f(x))$ というものを計算してみましょう。
\begin{eqnarray}
g(f(x))
&=&
g(ax^2) \\[5pt] &=&
ax^2+q \\[5pt] \end{eqnarray}このようになり、たしかに、 $g(f(x))$ は、 $x$ から $ax^2+q$ を対応させる関数となっていることがわかります。

このように、 $f(x),g(x)$ という2つの関数を組み合わせて作られる関数 $g(f(x))$ を、 $f(x)$ と $g(x)$ の合成関数(composite function) といいます。また、この合成関数のことを $(g\circ f)(x)$ と書きます。

合成関数
関数 $f(x)$, $g(x)$ から作られる次の関数 $(g\circ f)(x)$ を、 $f(x)$ と $g(x)$ の合成関数(composite function) という。\[ (g\circ f)(x)=g(f(x)) \]

合成関数を使うと、複雑な関数を簡単な関数を合成したものと考えられる場面が出てきます。今後学ぶ、微分の分野などでよく出てきます。

合成の順番

先ほど、 $f(x)=ax^2$, $g(x)=x+q$ として、\[ (g\circ f)(x)=g(f(x))=ax^2+q \]となることを見ました。ここでは、順番を変えて、 $(f\circ g)(x)=f(g(x))$ ではどうなるかを考えてみましょう。

直接計算すると、次のようになります。
\begin{eqnarray}
f(g(x))
&=&
f(x+q) \\[5pt] &=&
a(x+q)^2 \\[5pt] \end{eqnarray}$f(x+q)$ は、 $x$ の部分を $x+q$ に置き換えるということなので、計算結果は上のようになります。この結果からわかる通り、 $(g\circ f)(x)$ と $(f\circ g)(x)$ は一致するとは限りません。合成の順番には注意しないといけません。

合成できない例

逆関数の場合は、逆関数が存在しないことがありました。【基本】逆関数で見た通り、逆の対応が複数ある場合ですね。対応の仕方が1通りでないと関数とは言わないので、このような場合には逆関数を考えることができません。

合成関数の場合も、合成できないことはあります。

関数 $f(x)$ と $g(x)$ の合成関数 $(g\circ f)(x)$ は、 $g(f(x))$ で定義されるのでした。 $f(x),g(x)$ はともに関数なので、 $x$ を決めれば $y=f(x)$ は1つに決まり、 $y$ を決めれば $z=g(y)$ も1つに決まります。そのため、「 $x$ に対して $g(f(x))$ を決めようと思っても、値が複数あって決められない」ということはありません。

しかし、「そもそも値がない」というケースがあります。例えば、 $f(x)=-2^x$, $g(x)=\log_2 x$ という場合を考えてみましょう。真数は正なので、 $g(x)$ の定義域は、正の実数全体です。一方、 $f(x)$ の値域は、負の実数全体です。そのため、 $g(f(x))$ の値を決めることができません。このように、合成できないことはあります。

また、逆関数のときには、もとの関数の定義域を制限すれば、逆関数を考えられるようになるケースがありました(参考:【基本】逆関数の定義域と値域)。合成関数の場合も、そのようなケースはあります。

例えば、 $f(x)=x-1$, $g(x)=\sqrt{x}$ としましょう。 $g(x)$ の定義域は、0以上の実数全体なので、 $x=0$ などのときは、 $(g\circ f)(x)$ を考えることはできません。しかし、 $f(x)$ の定義域を1以上に制限すれば、\[ (g\circ f)(x)=\sqrt{x-1} \]とできることがわかります。

このように、合成できないことや、定義域を制限することで合成できるようになることがあります。

おわりに

ここでは、合成関数について見てきました。関数の合成を考えることで、「簡単な関数に分解し手考えた後で、合成して元に戻す」といったことができるようになります。

合成した後の関数は、代入して計算するだけです。合成の順番を変えると結果が変わってしまうので、順番には注意しましょう。