関数方程式を知る (関数方程式入門#1)
今回から関数方程式入門講座を始めていきます。今回は、それの第一回です。最終回まで終わったら、完全版のPDFを配布したいと思います。 本記事の作成にあたって、みかんさん(X:@_mikan_kankitsu)、翔子さん(X:@shoko_math) には大変お世話になりました。ありがとうございます!! それでは、よろしくお願いします。
LaTeXで作成したPDFバージョンもあります。こっちのほうがきれいなのでおすすめです。
関数とは?
関数方程式を理解するにあたって、まずは関数について理解していきましょう。
集合 \(X,Y\) があり、集合 \(X\) の各要素 \(x\) に対して、集合 \(Y\) の要素 \(y\) が一つ対応しているとき、この対応 \(f\) を \(X\) から \(Y\) の関数と呼び、\(f : X \rightarrow Y\) と表す。 このとき、\(X\) を定義域 (domain)、\(Y\) を終域 (codomain)、\(Y\) の部分集合のうち、\(X\) を入力したときに出力となりうるものを \(f\) による値域 (range)または像 (image) という。
この定義は難しく感じるかもしれませんが、要は「関数とはいくつかの数(一つでもよい)の入力に対して決まった処理を行い、一意に出力を返すルールである」ということです。 関数の具体例を見てみましょう。
- \(f: \mathbb{R} \to \mathbb{R}, \ f(x)=2x-9 \)
- \(f: \mathbb{R} \to \mathbb{R}, \ f(x)=x^3+x^2+10 \)
次の三つの関係うち、\(y\) を \(x\) の関数としてあらわすことができるものをすべて選べ。(定義域、終域はともに実数全体である。) \[y=2x+1 ,\ y=0, \ y^2=x\]
解答
一つ目と二つ目に関しては入力に対して出力が一意に定まるから関数としてあらわすことができる。 一方で、三つ目に関しては入力に対して \(\pm \sqrt{x}\) の二つの出力があり得るためこれは関数としてあらわすことができない。
関数の性質
次に関数にまつわる重要な二つのワードを抑えておきましょう。「全射」と「単射」です。
集合 \(X\) と集合 \(Y\) の間の関数 \(f:X\to Y\) が全射であるとは、\(Y\) の任意の元 \(y\) に対して \(X\) のある元 \(x\) が存在して \(f(x) = y\) が成立することである。
これは非常にシンプルです。全射な関数とは「出力先が網羅されてる関数」ということです。 例えば、\(f: \mathbb{R} \to \mathbb{R}\), \(f(x) = -3x+5\) は実数全体の任意の実数 \(y\) について、\(f(x) = y\) となる実数 \(x\) が存在します。 よって、全射です。
質問 1. : 全射な関数の例を三つ挙げよ。
集合 \(X\) と集合 \(Y\) の間の関数 \(f:X\to Y\) が単射であるとは、任意の \(x_1,x_2\in X\) に対して、\(f(x_1)=f(x_2)\) ならば \(x_1=x_2\) が成立することである。
これも非常にシンプルです。単射な関数とは「出力が確定すれば入力も確定する関数」ということです。 例えば、\(f(x)=x^2\) という関数においては、\(f(x)=4\) なる \(x\) は \(x=\pm2\) となり入力が確定しません。したがって、\(f(x)=x^2\) は単射であるとは言えないのです。 逆に、\(f(x)=2x\) という関数においては \(f(x)=a\) なる \(x\) は \(\forall a \in \mathbb{R} \ \ \ x=\frac{a}{2}\) となり一意に定まる(=入力が確定する)ので単射となります。
質問 2. : 単射な関数の例を三つ挙げよ。
集合 \(X\) と集合 \(Y\) の間の関数 \(f:X\to Y\) が全単射であるとは、以下の二つが成立することである。
- \(f\) は単射 (injection) である:\(f(x_1)=f(x_2)\) ならば \(x_1=x_2\) が成り立つ。
- \(f\) は全射 (surjection) である:\(Y\) の任意の要素 \(y\) に対して、\(X\) のある要素 \(x\) が存在して \(f(x)=y\) が成り立つ。
全射かつ単射ならば全単射と呼ぶ。それだけのシンプルな話です!
質問 3. : 全射であるが単射でない関数の例を一つ挙げよ。
質問 4. : 単射であるが全射でない関数の例を一つ挙げよ。
以下の関数の中から全射なもの、単射なもの、全単射なものをすべて選べ。
- \(f: \mathbb{R} \to \mathbb{R}\), \(f(x) = x^2\)
- \(f: \mathbb{R} \to \mathbb{R}_{\geq 0} \), \(f(x) = x^2\)
- \(f: \mathbb{R}_{\geq 0} \to \mathbb{R}_{\geq 0}\), \(f(x) = x^2\)
解答
全射なものは二番目と三番目、単射なものは三番目だけ、全単射なものも三番目だけである。 グラフを描いてみると、この関数は0以上の任意の実数をとることがわかる。よって、終域が実数全体の場合には全射とはならない。
もう一歩踏み込んだ演習問題も解いてみましょう。
\(f:\mathbb{R} \to \mathbb{R}\) が任意の実数 \((x,y)\) の組に対して、以下を満たすとき \(f\) が全単射であることを示せ。 \[f(x^2+f(y))=y+f(x)^2\]
いきなり難しそうな問題が出てきて困惑しているかもしれませんが、流れをつかんでほしいだけなので、そのまま答えを見てしまっても問題ないです。 以下にまとめた基本的な発想は本当によく使います。これを見ながら解いてみます。
- この関数は任意の \((x,y)\) に対して成り立つから、\(0\) などを代入して項を消してシンプルにすることができる。 (項を減らしたり、議論が進みそうな良さげな値を代入しよう!)
- 単射性の証明の基本は \(f(a)=f(b)\) なる \(a,b\) をとり、\(a=b\) を示すこと。 (定義に従おう!)
- 全射性の証明の基本は \(f(何かしら)=変数\) の形を作ること。 (結局は出力先が自由に動ければ良い。)
解答
\(a,b\) を \(f(a)=f(b)=k\) なる実数とする。\((x,y)=(0,a)\) と \((x,y)=(0,b)\) を代入することで \[ f(f(a))=a+f(0)^2, \ f(f(b))=b+f(0)^2 \] を得る。これらを整理し、比較することで \[ a=b=f(k)-f(0)^2 \] を得るから \(f(a)=f(b)\) ならば \(a=b\) である。すなわち単射となる。 また、\((x,y)=(0,x-f(0)^2)\) を代入することで \(f(何かしら)=x\) となるから全射である。
※ほかの代入でも解くことができるので、各自考えてみてほしい。
関数方程式とは?(具体例を通して学ぶ)
関数方程式は通常の方程式とは異なり「未知のものが関数そのものである方程式」のことを指します。 例を見たほうが早いと思うので、どのような形式で出題されるのかを早速見てみましょう。
\(f:\mathbb{R} \to \mathbb{R}\) が任意の実数 \((x,y)\) の組に対して、以下を満たすとき \(f\) としてありうるものを全て求めよ。 \[f(x^3)-f(y^3)=(x^2+xy+y^2)(f(x)-f(y))\]
AoPSリンク:https://artofproblemsolving.com/community/c6h1617962
定義域や終域、式の形(方程式や不等式)は様々ですが、基本的にはこのような形をしています。 そして、これら関数方程式は、解くための``ある程度の道具''を揃えてしまえばパズルへと変化してしまうのです。 ここでは、一度関数方程式を解くことによって解き方の大まかな流れを把握していきましょう。
関数方程式のほとんどは必要性で絞って、十分性を確認するという流れで解くことができます。
1.解の予想
関数方程式は初手で行うべきことが必ず決まっています。それは「解の予想」です。 関数というと、一対一の対応関係のことであり、特に法則性があるとも限らないものであるはずだから途方もなく感じてしまうかもしれません。 しかし、心配することはありません。競技数学の関数方程式で問われる関数の99%は \(y=x\) や \(y=x^2-1\) などのシンプルなものです。 それでは実際に、解の予想をしてみましょう!
まずは、解が多項式であると仮定してみましょう。この際に、次元に着目すると楽です。 次数に着目するとおそらく一次以下であることが分かります。実際に\(f(x)=ax+b\)を代入してみましょう。 すると、\(a,b\)が任意の値で成り立つことが予想できます。よって、解は\(f(x)=ax+b\) (\(a,b\)は任意)であることが予想できます。
2.数値の代入
次にすることは、数値の代入です。問題文に \((x,y)\) にはどんな値を入れても良いと書いてあるから、とりあえずいろいろな値を代入してみましょう。 その際には次のようなことを考えてみましょう。
- 例えば、\((x,y)=(0,y)\) の代入をすると \(xf(y)\) という項があるなら消えてくれる。このように、項を消す代入を狙おう。
- 単射性の証明では \(f(a)=f(b)\) なる \(a,b\) をとり、\(a=b\) を示せればよいから、それが狙えるような値を代入する。
- 全射性の証明では \(f(何かしら)=変数\) の形を作りたいからそのような値を代入する。
- \(x,y\) の値を入れ替える代入をする。
つまり、代入によって特殊な場合を作り出し議論を進めよう!という話ですね。 では、今回の問題ではどのような代入をすればよいでしょうか?この代入するパートは実験あるのみです。刺さる代入が一発で思いつくとは限りませんから根気よく実験し続けましょう!
ここでは、\((x,y)=(a,b)\) の代入を \(P(a,b)\) と表現します。まずは、\(0\) を代入することを考えてみましょう。 多くの問題で\(0\)を代入することは有効です。 \[P(x,0) \ : \ f(x^3)-f(0)=x^2f(x)-x^2f(0)\] \(0\) を代入したことによりいらない項が消えて与式よりシンプルなも式を得ることができました。 しかし、この式において、\(f(0)=0\)ならよりシンプルになることがわかります。できれば\(f(0)=0\)にしたいですね。
3.ちょっとしたテクニック
ここでひとつ、有用なテクニックをお教えしましょう。 \(f(0)=0\) という状況を疑似的に作り出す手法です。\(g(x)=f(x)-f(0)\) と置くというテクニックです。 \(g(x)=f(x)-f(0)\) 、すなわち \(f(x) = g(x) + f(0)\) を与式に代入して整理すると、与式の \(f\) を \(g\) に変えただけの見た目になります。 もちろん、式の見た目が同じなので、今までの1,2で考えていたような議論は当然成立し、さらに、今回は \(g(0) = 0\) となります。 よって、 \[g(x^3)=x^2g(x)\] という与式よりも遥かにシンプルな式を得ます。
4.仕上げ
では、これを与式に適用してみましょう。 \(x(x+y)g(y)=y(x+y)g(x)\) というかなり議論が進んだ式を得ます。 \(x,y,x+y\) が \(0\) でない場合、 \(\frac{g(x)}{x}=\frac{g(y)}{y}\) であるから、そのような場合について、\(g(x)=ax\) を得ます。 また、\(g(0) = 0\) であるので、任意の \(x\) に対して \(g(x) = ax\) となります。 \(f(x)=g(x)+f(0)\)であるから\(f(x)=ax+b\)であることが証明できました。 よって、求める\(f\)は\(f(x)=ax+b\) (\(a,b\)は任意)です。
ということで、無事に正しい解答を出すことができました。 関数方程式の問題は、基本的には解の予想→代入→処理→仕上げ(→十分性の確認)の順番になることがほとんどです。まずはこの流れを抑えておきましょう。 予想や代入の部分は慣れが大きく、処理の部分はテクニックが大きいですね。必要性で絞っていった場合は十分性の確認を必ずしましょう。
演習問題
第一回に演習問題はありません。