File failed to load: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/extensions/TeX/geometry.js

2021年1月22日

【第3回垂れ流し数学模試】第4問解説

皆さんこんにちは!
TomoKです。

今回は第3回垂れ流し数学模試の第4問の解説です。


第4問

問題

xの関数f(x), g(x)は、ともに実数全体で定義されているとする.
f(x), g(x)に関する次の2つの条件 (a) すべての実数xに対して g(f(x))=x
(b) すべての実数xに対して f(g(x))=x
を考える.

(1) 条件(a)を満たす関数f(x), g(x)で、さらに条件(b)を満たすものが存在することを示せ.

(2) 条件(a)を満たす関数f(x), g(x)は、いつでも条件(b)を満たすといえるか.
そうであるならばそれを証明し、そうとは限らないならその反例を挙げよ.

第4問は関数に関する論証でした。
過去2回では出していない部類の問題で、
入試でもそう出るようなタイプではないと思いますが、
論理的に考えることができるかを見るために出題しました。

仕組みが分かってしまえば、そんなに難しくない問題だとは思いますが、
この手の問題になれていないと難しく感じてしまうかもしれません。

解答のために考えること

(1)はすぐに答えが浮かんでほしいです。問題は(2)です。

一見すると、(a)が成り立つなら、gfの逆関数っぽいから、(b)も成り立ちそう、
と思いたくなりますが、
gfの逆関数の場合、それぞれの定義域と値域が入れ替わることに気を付けてください。

今回、fgも実数全体が定義域となっています。
仮にfの値域が実数全体でない場合、gの定義域をfの値域に制限すれば逆関数です。
しかしgの定義域を実数全体とすると、gfの逆関数とは言えなくなってしまいます。

以上のことを念頭におくと、反例のためのfとしては、
実数全体で1対1(任意の実数yに対し、y=f(x)となる実数xが存在すれば1つのみ) な写像で、
なおかつ値域が実数全体でないものを考えることになります。

上にも書きましたが、1対1の関数(あるいは単射)であるとは、 任意の実数yに対し、y=f(x)となる実数xが存在すれば1つのみ ということです。

これはグラフで言えば、 y=f(x)のグラフが直線y=k (kは実数)と2回以上交わらない ということと同じことですね。

いくつか下に例を出しました。
(ア), (イ)は1対1の関数(単射)の例、(ウ), (エ)はそうでない例です。

・1対1の関数(単射)の例
(ア) f(x)=x (イ) f(x)=2^x
・1対1(単射)ではない関数の例
(ウ) f(x)=x^2 (エ) f(x)=x\sin{x}

ところで、(ア)と(イ)はともに1対1の(単射な)関数ですが、
ちょっと違うのが分かりますか?

緑で引いた直線y=kですが、
(ア)ではkの値にかかわらず、どこにひいても必ず1回交わります

一方、(イ)では、2^xは必ず正の値をとるので、
k\leqq 0では全く交わりません

実はこの違いが、逆関数を考えるときに大事になってきます。

1対1の(単射な)関数では逆関数が考えられます。
関数f(x)逆関数とは、関数g(x)であって、
f(x)の定義域上にある全ての実数xに対して、x=g(f(x))=f(g(x)) となるようなものを言いました。
そしてそのg(x)のことを、特にf^{-1}(x)と表すわけでしたよね。

なぜf(x)が1対1の(単射な)関数でないと逆関数を考えられないかといえば、
関数g(x)では、1つの値aに対しg(a)というただ1つの値を対応させるのですから、
x=g(f(x))となるには、f(a)という1つの値に対してg(f(a))=aを1つに定めなければなりません。

つまり、実数値f(a)からaが1つに決まらないといけないわけです。
これは上で見た1対1の関数の定義通りでしょう。

さて、逆関数の定義域は、元の関数の値域になることに気を付ける必要があります。

f(x)af(a)に対応させて、f^{-1}(x)f(a)aに対応させるのですから、
f^{-1}(x)f(x)のとる値の範囲、すなわちf(x)の値域で定義されなければいけませんね。

また逆に、というか、ここがこの問題の根幹なのですが、
f(x)のとる値ではない範囲では、当然f(x)からxを決めることができるわけがありませんから、
f^{-1}(x)の定義域は、f(x)の値域より外にはみ出ることはありません。

いま元の問題同様に、f(x)が実数全体を定義域とする1対1の(単射な)関数とした場合、
・(ア)のように、値域が実数全体なら、f^{-1}(x)(=x)の定義域は実数全体
・(イ)のように、値域が正の数全体なら、f^{-1}(x)(=\log_{2}{x})は定義域は正の数全体
になります。

元の問題に戻ります。
f(x), g(x)ともに実数全体を定義域とし、(a)のg(f(x))=xが成り立てば、
この時点でf(x)が1対1の(単射な)関数で、f(x)には逆関数f^{-1}(x)があるはず、と踏めます。

ここで、例えば(1)のように、さらに(b)のf(g(x))=xが成り立つとすれば、g(x)=f^{-1}(x)になることは確定です。
ただし、g(x)の定義域は実数全体なので、f(x)の値域も実数全体になるはずです。
つまり、(ア)のような関数であれば、(a),(b)の両方を満たす関数となり得そう、と言えます。

実際(ア)のような関数は必ずg(f(x))=f(g(x))=xとなります。
解答ではそのようなf(x), g(x)を挙げて、確かにg(f(x))=f(g(x))=xとなることを証明しておきましょう。

(2)ですが、今度は(a) g(f(x))=xを満たすときに必ず(b) f(g(x))=xを満たすか、ということです。
上の議論を踏まえると、上の(イ)のように、ある一部の実数の範囲のみを値域にする場合には
(a)が仮に成り立っても、(b)は成り立ちそうにない、と予想できそうです。

例えば、(イ)のように、f(x)=2^xとして考えますと、
その逆関数はf^{-1}(x)=\log_{2}{x}で、定義域はf(x)の値域と同じく正の数全体です。

でも、g(x)の定義域は実数全体なのでした。
なので、g(x)f^{-1}(x)は関数としては異なるものとなります。

しかし、(a)のg(f(x))=xは満たさないといけないので、
とりあえずは、f(x)の値域上にある、正の値aにおいては、g(a)=f^{-1}(a)=\log_{2}{a}となるようにしましょう。
そうすれば、全ての実数xに対して、2^xは正なので、g(f(x))=\log_{2}{2^x}=xです。

じゃあ、aが0以下だったらどうかというと、f(x)=2^x=aとなるaがなくなってしまいます。
ということは、0以下のaにどのような値をg(a)としても、f(g(a))=aになるはずがありません。

以上によって、(a)は成り立って(b)が成り立たない反例として、
f(x)=2^x
g(x)は「xが正ならばg(x)=f^{-1}(x)=\log_{2}{x},  xが負なら任意(例えば定数0)」
が作れることになります。

つまり、(a) g(f(x))=xを満たすときに必ず(b) f(g(x))=xを満たすとは限らない、ということになりますね。

理屈で言えば、

f(x)は実数全体で定義される1対1の(単射な)関数であって、値域が実数全体ではない
g(x)は実数全体で定義されて、xf(x)の値域の上にあれば、(値として)g(x)=f^{-1}(x)
を満たせば、\bold{g(f(x))=x}だが\bold{f(g(x))=x}ではない

ということになります。

以上を解答で書く場合には、次のようにして書けば問題ないでしょう。

解答

(1)
f(x)=g(x)=xとすると、すべての実数xに対してg(f(x))=g(x)=xかつf(g(x))=f(x)=x  (終)

(2)
いつでも(b)を満たすとは限らない
\bold{f(x)=2^x},  \bold{g(x)=\left\{\begin{array}{ll} \bold{\log_{2}{x}} &\bold{(x\gt0)} \\ \bold{0}&\bold{(x\leqq 0)}\end{array}\right.} がこの反例になっていることを以下に示す。
すべての自然数実数(2021.3.27訂正)xに対してf(x)>0だから、g(f(x))=g(2^x)=\log_{2}{2^x}=x
よって(a)は成り立つ。

しかし、x\leqq 0のとき、f(g(x))=f(0)=2^0=1\neq xであるから、
(b)は成り立たない。(終)

もちろん、(1)・(2)とも他に例はあると思いますので、
いろんな例を出して遊んでみてください。

ということで、今回の記事はここまでです。
ここまで読んでいただき、ありがとうございました。
ではまた!

0 件のコメント:

コメントを投稿