関数方程式の基本
mathalgebrafunctional-equationfunctionlecture
1導入
この講義では、関数方程式が数ではなく関数そのものを未知の対象とする方程式であることを説明する。
たとえば
f(x+y)=f(x)+f(y)
では、未知なのは x や y ではない。未知なのは、各入力 x に値 f(x) を対応させる規則 f である。
だから、関数方程式を解くとは、条件を満たす関数を全て見つけることである。1 個の値だけを求めるのではなく、全ての入力に対する値の決まり方を求める。
data/lecture/math/calculus/functions-domains-and-graphs.lecture.n.md
2なぜ代入から始めるのか
関数方程式では、式が「任意の x,y について成立する」と与えられることが多い。この情報は、とても強い。
たとえば
f(x+y)=f(x)+f(y)
が任意の x,y で成立するなら、x=0,y=0 と置いてよい。すると
f(0)=f(0)+f(0)
が得られる。これにより f(0)=0 が分かる。
このように、関数方程式では、全体を一気に解こうとするのではなく、
- 0 や 1 を入れる。
- x=y と置く。
- y=-x と置く。
- x と y を入れ替える。
- 2 つの式を引く。
という基本操作で、関数の値や形を少しずつ決めていく。
この方針を思いつく理由は、式が任意の入力で成立するからである。任意に成立するなら、こちらが都合のよい値を選んでよい。
3用語と定義
3.1関数方程式
関数方程式とは、未知の関数 f について、f(x)、f(x+y)、f(f(x)) などの値を含む方程式である。
たとえば
f(x+y)=f(x)+f(y)
や
f(f(x))=x
は関数方程式である。
3.2解
関数方程式の解とは、その方程式を全ての許された入力で満たす関数である。
たとえば f:\mathbb Z\to\mathbb R が
f(m+n)=f(m)+f(n)
を任意の整数 m,n で満たすとき、f はこの関数方程式の解である。
ここで重要なのは、定義域である。同じ式でも、f:\mathbb Z\to\mathbb R で考えるのか、f:\mathbb R\to\mathbb R で考えるのかによって、解の様子は変わる。
data/lecture/math/discrete-math/map-basics.lecture.n.md
4命題 1:許された値は代入してよい
4.1仮定
関数 f が、ある条件を満たす任意の x,y について
E(x,y)
という等式を満たすとする。
4.2結論
a,b がその条件を満たすなら、
E(a,b)
も成立する。
4.3証明
仮定は「条件を満たす任意の x,y について等式が成立する」という主張である。a,b がその条件を満たすなら、x=a,y=b は仮定の対象に含まれる。したがって E(a,b) が成立する。□
この命題は当たり前に見えるが、関数方程式の出発点である。ただし、定義域の外の値を代入してはいけない。
5命題 2:関数の等号は各点で確認する
5.1仮定
f,g:D\to E を関数とする。
5.2結論
f=g
であることと、
f(x)=g(x)\quad(\text{for all }x\in D)
であることは同値である。
5.3証明
f=g なら、同じ関数なので任意の x\in D に対して f(x)=g(x) である。
逆に、任意の x\in D で f(x)=g(x) とする。このとき D の各入力に対する出力が一致している。したがって、対応の規則として f と g は同じであり、f=g である。□
この命題により、関数方程式では「すべての x で f(x) を決める」ことが目標になる。
6定石 1:0 や 1 を入れて基準値を決める
加法が出る式では 0、乗法が出る式では 1 を入れると情報が出やすい。理由は、0 が加法の単位元、1 が乗法の単位元だからである。
6.1命題 3:加法方程式では f(0)=0
6.2仮定
D を実数の部分集合で、加法で閉じているものとする。つまり、x,y\in D なら x+y\in D とする。また 0\in D とする。
f:D\to\mathbb R が任意の x,y\in D について
f(x+y)=f(x)+f(y)
を満たすとする。
6.3結論
f(0)=0
である。
6.4証明
x=0,y=0 を代入すると、
f(0)=f(0)+f(0)
である。両辺から f(0) を引くと、
0=f(0)
である。□
6.5命題 4:乗法方程式では f(1) が制限される
6.6仮定
f:\mathbb R\to\mathbb R が任意の実数 x,y について
f(xy)=f(x)f(y)
を満たすとする。
6.7結論
f(1)=0\quad\text{または}\quad f(1)=1
である。さらに、ある a について f(a)\ne0 なら f(1)=1 である。
6.8証明
x=1,y=1 を代入すると、
f(1)=f(1)f(1)
である。よって
f(1)^2-f(1)=0
であり、
f(1)(f(1)-1)=0
である。したがって f(1)=0 または f(1)=1 である。
また、y=1 を代入すると、
f(x)=f(x)f(1)
である。ある a について f(a)\ne0 なら、
f(a)=f(a)f(1)
の両辺を f(a) で割って f(1)=1 を得る。□
この命題は、乗法が出る関数方程式で 1 を代入する理由を示している。1 は乗法の単位元なので、関数の基準値を制限しやすい。
7命題 5:整数での加法方程式
7.1仮定
f:\mathbb Z\to\mathbb R が任意の整数 m,n について
f(m+n)=f(m)+f(n)
を満たすとする。
7.2結論
f(n)=cn\qquad(n\in\mathbb Z)
である。ただし c=f(1) である。
7.3証明
まず命題 3 より f(0)=0 である。
n が正の整数の場合を考える。c=f(1) と置く。n=1 では f(1)=c である。もし f(n)=nc なら、
f(n+1)=f(n)+f(1)=nc+c=(n+1)c
である。したがって数学的帰納法により、正の整数 n で f(n)=nc が成立する。
次に負の整数を扱う。n を正の整数とすると、
0=f(0)=f(n+(-n))=f(n)+f(-n)
である。よって
f(-n)=-f(n)=-nc
である。これは f(k)=ck が負の整数 k=-n でも成立することを意味する。
したがって任意の n\in\mathbb Z で f(n)=cn である。□
この命題から分かるように、定義域が整数なら、加法方程式は f(1) だけで全体が決まる。
8注意:\mathbb R では追加条件が必要である
f:\mathbb R\to\mathbb R が
f(x+y)=f(x)+f(y)
を満たすとき、すぐに f(x)=cx と断定してはいけない。この方程式をCauchy 方程式という。
もし f が連続である、単調である、ある長さが正の区間で有界である、などの追加条件を持てば、f(x)=cx が導ける。しかし追加条件なしでは、直感に反する解が存在する。
ここでは、もっとも基本的な追加条件として「0 で連続」の場合だけを証明する。
8.1定理 1:連続な加法関数は一次関数である
8.2仮定
f:\mathbb R\to\mathbb R が
f(x+y)=f(x)+f(y)
を満たし、さらに 0 で連続であるとする。ここで 0 で連続とは、u_n\to0 なら f(u_n)\to f(0) となることをいう。
8.3結論
f(x)=cx\qquad(x\in\mathbb R)
である。ただし c=f(1) である。
8.4証明
まず命題 3 より f(0)=0 である。
また、任意の実数 x について
0=f(0)=f(x+(-x))=f(x)+f(-x)
なので、
f(-x)=-f(x)
である。
整数の場合と同じ議論により、任意の整数 n について
f(n)=nf(1)
である。
次に q=m/n を有理数とする。ただし n>0 とする。nq=m だから、
f(m)=f(\underbrace{q+\cdots+q}_{n\text{ 個}})
=nf(q)
である。よって
f(q)=\frac{m}{n}f(1)=qf(1)
である。したがって有理数 q では f(q)=cq が成立する。
任意の実数 x を取る。有理数は実数の中で稠密なので、x に収束する有理数列 q_n を選べる。たとえば小数で x を近似する有理数を順に取ればよい。このとき q_n-x\to0 である。連続性より
f(q_n-x)\to f(0)=0
である。一方、加法性より
f(q_n-x)=f(q_n)-f(x)
である。したがって
f(q_n)\to f(x)
である。しかし q_n は有理数なので
f(q_n)=cq_n\to cx
である。よって f(x)=cx である。□
この定理で重要なのは、加法性だけでなく連続性を使っていることである。関数方程式では、追加条件を見落とすと結論が変わる。
data/lecture/math/calculus/limits-and-continuity.lecture.n.md
9定石 2:入れ替えて差を取る
式に x,y が対称的に現れるときは、x と y を入れ替えた式を作るとよい。理由は、2 つの式を比べることで、対称な部分と反対称な部分が分かれるからである。
たとえば
f(x+y)+f(x-y)=2f(x)
のような式では、y を -y に替えても同じ形が現れる。このような変形は、二次式や対称式で文字を入れ替える発想と近い。
data/lecture/math/algebra/symmetric-expressions.lecture.n.md
10定石 3:合成が出たら単射・全射を見る
10.1命題 6:f(f(x))=x なら f は全単射である
10.2仮定
D を集合とし、f:D\to D が任意の x\in D について
f(f(x))=x
を満たすとする。
10.3結論
f は単射かつ全射である。
10.4証明
まず単射を示す。f(a)=f(b) とする。両辺に f を合成すると、
f(f(a))=f(f(b))
である。仮定より f(f(a))=a、f(f(b))=b なので、a=b である。したがって f は単射である。
次に全射を示す。任意の y\in D を取る。x=f(y) と置くと、x\in D であり、
f(x)=f(f(y))=y
である。したがって任意の y は f の像に入るので、f は全射である。□
この命題は、f(f(x)) のような合成が出たときに、関数の値だけでなく写像としての性質を見るべきことを示している。
data/lecture/math/discrete-math/injections-surjections-and-bijections.lecture.n.md
11定石 4:差分として読む
次のような関数方程式を考える。
f(n+1)-f(n)=g(n)\qquad(n\in\mathbb Z)
これは、関数 f の差が g で与えられている、という意味である。数列の階差と同じである。
11.1公式 1:差分方程式は足し戻せる
ここからは n=0,1,2,\ldots で定義された関数、つまり数列としての関数を考える。
11.2仮定
f:\mathbb Z_{\ge0}\to\mathbb R と g:\mathbb Z_{\ge0}\to\mathbb R が
f(n+1)-f(n)=g(n)
を n=0,1,\ldots で満たすとする。
11.3結論
f(n)=f(0)+\sum_{k=0}^{n-1}g(k)\qquad(n\ge1)
である。
11.4証明
等式
f(k+1)-f(k)=g(k)
を k=0,1,\ldots,n-1 で足す。すると左辺は
\sum_{k=0}^{n-1}(f(k+1)-f(k))
=f(n)-f(0)
となる。途中の f(1),f(2),\ldots,f(n-1) が打ち消し合うからである。したがって
f(n)-f(0)=\sum_{k=0}^{n-1}g(k)
であり、移項して結論を得る。□
data/lecture/math/sequence/difference-equation-basics.lecture.n.md
12例 1:f(n+1)=f(n)+2n+1
f:\mathbb Z_{\ge0}\to\mathbb R が
f(n+1)=f(n)+2n+1
を満たすとする。この式を見たとき、右辺の 2n+1 は
(n+1)^2-n^2=2n+1
に見える。そこで
g(n)=f(n)-n^2
と置く。すると
\begin{aligned}
g(n+1)-g(n)
&=f(n+1)-(n+1)^2-\{f(n)-n^2\}\\
&=\{f(n)+2n+1\}-(n+1)^2-f(n)+n^2\\
&=0.
\end{aligned}\begin{aligned}
g(n+1)-g(n)
&=f(n+1)-(n+1)^2-\{f(n)-n^2\}\\
&=\{f(n)+2n+1\}-(n+1)^2-f(n)+n^2\\
&=0.
\end{aligned}
したがって g(n) は定数である。C=g(0)=f(0) と置けば、
f(n)=n^2+C
である。
逆に、任意の定数 C に対して f(n)=n^2+C と置くと、
f(n+1)-f(n)=\{(n+1)^2+C\}-(n^2+C)=2n+1
である。したがって f(n+1)=f(n)+2n+1 を満たす。よって解はちょうど
\boxed{f(n)=n^2+C}
である。
この解法を思いつく理由は、2n+1 が平方数の差として現れるからである。関数そのものを当てるのではなく、差が簡単になる形を探している。
13線型作用素としての見方
関数方程式の中には、線型作用素方程式として扱えるものがある。
たとえば
f(n+1)-f(n)=g(n)
は、シフト作用素 E を
(Ef)(n)=f(n+1)
で定義すると、
(E-I)f=g
と書ける。ここで I は恒等作用素である。
ここで線型作用素方程式と呼べる理由は、E-I が線型作用素だからである。V を \mathbb Z_{\ge0} 上の実数値関数全体とする。h_1,h_2\in V、\alpha,\beta\in\mathbb R について、
\begin{aligned}
((E-I)(\alpha h_1+\beta h_2))(n)
&=(\alpha h_1+\beta h_2)(n+1)-(\alpha h_1+\beta h_2)(n)\\
&=\alpha\{h_1(n+1)-h_1(n)\}+\beta\{h_2(n+1)-h_2(n)\}\\
&=(\alpha(E-I)h_1+\beta(E-I)h_2)(n)
\end{aligned}\begin{aligned}
((E-I)(\alpha h_1+\beta h_2))(n)
&=(\alpha h_1+\beta h_2)(n+1)-(\alpha h_1+\beta h_2)(n)\\
&=\alpha\{h_1(n+1)-h_1(n)\}+\beta\{h_2(n+1)-h_2(n)\}\\
&=(\alpha(E-I)h_1+\beta(E-I)h_2)(n)
\end{aligned}
である。任意の n で等しいので、
(E-I)(\alpha h_1+\beta h_2)=\alpha(E-I)h_1+\beta(E-I)h_2
である。したがって E-I は線型作用素である。
この形では、未知の関数 f に線型作用素 L=E-I が作用し、右辺 g が与えられている。つまり
Lf=g
という形の線型作用素方程式である。
ただし、全ての関数方程式が線型とは限らない。たとえば
f(f(x))=x,\qquad f(xy)=f(x)f(y)
には合成や積が入るので、線型作用素方程式の枠組みとは別に考える必要がある。
data/lecture/math/linear-operator/linear-operator-equation-basics.lecture.n.md
14よくある誤り
14.11. 一部の値だけで解だと思う
関数方程式の解は関数である。f(0) や f(1) が分かっただけでは、まだ解を求めたことにはならない。
14.22. 定義域の外を代入する
f:\mathbb Z\to\mathbb R なのに x=1/2 を代入してはいけない。関数方程式では、許された入力の範囲を先に確認する。
14.33. 追加条件なしに滑らかな形を仮定する
f(x+y)=f(x)+f(y) だからといって、\mathbb R 上でただちに f(x)=cx と決めてはいけない。連続や単調などの追加条件を確認する。
14.44. 候補の検算を忘れる
変形で候補を得ても、その関数が本当に元の方程式を全ての入力で満たすかを代入して確認する。
15見分け方
| 形 | 最初に見ること | 理由 |
| f(x+y) が出る | x=0,y=0,y=-x | 加法の単位元と逆元が効く |
| f(xy) が出る | x=1,y=1,x=0 | 乗法の単位元と 0 が効く |
| f(f(x)) が出る | 単射・全射 | 合成は写像の性質を制限する |
| f(x+1)-f(x) が出る | 差分・望遠鏡和 | 差を足し戻せる |
| 対称な x,y が出る | x,y の入れ替え | 差を取ると情報が分かれる |
| \mathbb R 上の加法方程式 | 連続・単調など | 追加条件なしでは結論が弱い |
16一言でいうと
関数方程式は、未知の数ではなく未知の関数を求める方程式である。任意の入力で成立するという強い条件を使い、0、1、入れ替え、差分、合成、正則性を順に確認する。