どうも、木村(@kimu3_slime)です。
位相空間論を学ぶときに、距離空間という題材が登場します。なぜそれを学ぶのでしょうか。
今回は、距離空間、ノルム空間とは何か、関数空間を例に紹介します。
距離空間、ノルム空間とは
ユークリッド空間\(\mathbb{R}^N\)では、ユークリッド距離、ユークリッドノルム、ユークリッド内積と呼ばれるものを考えることが多いです。
\(a=(a_1,a_2,\dots,a_N),b=(b_1,b_2,\dots,b_N)\)に対して、
\(\langle a,b\rangle= a_1 b_1+a_2b_2+\cdots +a_Nb_N\)
\(\|a \| = \sqrt{a_1 ^2+a_2 ^2+\cdots +a_N ^2 }\)
\(d(a,b) = \sqrt{(a_1-b_1)^2 + (a_2 -b_2)^2 +\cdots +(a_N-b_N)^2}\)
これらの距離、ノルム、内積が持っている性質を取り出して、抽象化した空間は、距離空間、ノルム空間、内積空間と呼ばれています。
\(V\)を集合とする。2変数関数\(d :V\times V \to \mathbb{R}\)は、次を満たすとき距離と呼ばれる。
任意の\(a,b,c\in V\)に対し、
(1) 正定値性:\(d(a,b)\geq 0\)。\(a=b\)は\(d(a,b)=0\)と同値である。
(2) 対称性:\(d(a,b)=d(b,a)\)
(3) 三角不等式:\(d(a,b) \leq d(a,c)+d(c,b)\)
距離を持つ集合を、距離空間と呼ぶ。
\(V\)を線形空間とする。1変数関数\(\| \cdot \| :V \to \mathbb{R}\)は、次を満たすときノルムと呼ばれる。
任意の\(a,b\in V\)、\(\lambda \in \mathbb{R}\)に対し、
(1) 正定値性:\(\|a\| \geq 0\)。\(a= 0\)は\(\|a\| = 0\)と同値である。
(2) 斉次性:\(\|\lambda a\| = |\lambda| \| a\| \)
(3) 三角不等式(劣加法性):\(\|a+b\| \leq \|a\|+ \|b\|\)
ノルムを持つ線形空間を、ノルム空間と呼ぶ。
\(V\)を線形空間とする。2変数関数\(\langle \cdot,\cdot \rangle :V\times V \to \mathbb{R}\)は、次を満たすとき内積と呼ばれる。
任意の\(a,b\in V\)、\(\lambda \in \mathbb{R}\)に対し、
(1) 対称性:\(\langle a,b\rangle =\langle b,a\rangle\)
(2) (二重)線形性:\(\langle \lambda a+c,b\rangle = \lambda \langle a,b\rangle +\langle c,b\rangle\)
(3) 正定値性:\(\langle a,a\rangle \geq 0\)。\(a\neq 0\)ならば\(\langle a,a\rangle > 0\)。
内積をもつ線形空間を、内積空間、計量線形空間と呼ぶ。
詳しくは:ユークリッド空間R^Nの内積、ノルム、距離について解説
これらの抽象的な空間を考え、学ぶのはなぜでしょうか。広い応用を持つ例として、関数空間があります。
関数の距離、ノルムとは
関数空間の簡単な例として、1次元の区間\(I=[0,1]\)における連続関数のなす空間、可積分関数のなす空間を考えましょう。
\[ \begin{aligned}C^0(I) = \{f:I\to\mathbb{R} \mid f は連続\}\end{aligned} \]
\[ \begin{aligned}L^1 (I ):=\{f:I\to\mathbb{R} \mid \int_I |f(x)| dx <\infty \}\end{aligned} \]
これらの空間は、線形空間になることが知られています。
参考:連続関数、可積分関数のなす線形空間、微分と積分の線形性とは
これらの空間には、それぞれ次のようなノルムを定めることができます。
\[ \begin{aligned}\|f\|_{C^0(I)}:= \max _{x \in I} |f(x)|\end{aligned} \]
\[ \begin{aligned}\|f\|_{L^1(I)}:=\int_I |f(x)| dx\end{aligned} \]
それぞれ、\(C^0\)-ノルム(最大値ノルム)、\(L^1\)-ノルムと呼ばれます。
\(U\)を\(\mathbb{R}^N\)の開集合として、\(C^0(U)\)ではより一般に、\(\|f\|_{C^0(U)}:= \sup _{x \in I} |f(x)|\)という上限ノルム、一様ノルムを考えます。今回は、有界閉集合上の連続関数を考えていて、常に最大値を持つため、上限ノルムと最大値ノルムは一致します。そこで簡単のため最大値ノルムを扱いましょう。
これらが(抽象)ノルムの定義を満たすことは、絶対値\(|\cdot|\)を使って定義されていることからほぼ示されます。絶対値がノルムとしての性質を持ち、最大値を取ったり積分したりすることも問題がない(線形性がある)ので、これらはノルムとなります。詳しく知りたい方は黒田「関数解析」など参照。
具体的に計算して、どういうものか掴んでみましょう。
\[ \begin{aligned}\|x\|_{C^0(I)}= \max _{x \in I} |x| =1\end{aligned} \]
\[ \begin{aligned}\|x\|_{L^1(I)}=\int_0 ^1 |x| dx= \frac{1}{2}\end{aligned} \]
\[ \begin{aligned}\|\sin 2\pi x\|_{C^0(I)}= \max _{x \in I} |\sin 2\pi x| =1\end{aligned} \]
\[ \begin{aligned}\|\sin 2\pi x\|_{L^1(I)}=\int_0 ^1 |\sin 2\pi x| dx= \frac{2}{\pi}\end{aligned} \]
多項式関数や三角関数など、関数の「大きさ(ノルム)」を測ることができるようになりました。それぞれのノルムは、最も関数の値が高くなっている点の高さ、関数のグラフのなす面積をもって測っています。
さらには、ノルムから自然に定まる距離を考えることができます。
\[ \begin{aligned}d_{C^0(I)}(f,g):=\max _{x \in I} |f(x)-g(x)| \end{aligned} \]
\[ \begin{aligned}d_{L^1(I)}(f,g):=\int_I |f(x)-g(x)| dx\end{aligned} \]
例えば次のように、関数と関数の「距離」を考えることができるようになりました。
\[ \begin{aligned}d_{C^0(I)}(x,x^2)=\max _{x \in I} |x-x^2|=\frac{1}{4} \end{aligned} \]
\[ \begin{aligned}d_{L^1(I)}(x,x^2)=\int_I |x-x^2| dx= \frac{1}{6}\end{aligned} \]
\[ \begin{aligned}d_{C^0(I)}(\cos 2\pi x,\sin 2 \pi x)=\max _{x \in I} |\sqrt{2} \sin(\frac{\pi}{4}- 2\pi x)|=\sqrt{2}\end{aligned} \]
\[ \begin{aligned}d_{L^1(I)}(\cos 2\pi x,\sin 2 \pi x)=\int _I |\sqrt{2} \sin(\frac{\pi}{4}- 2\pi x)|dx=\frac{2\sqrt{2}}{\pi}\end{aligned} \]
ここで三角関数の合成を用いました。
同じ関数を扱っていても、その測り方(\(C^0\)ノルムか\(L^1\)ノルムか)によって、大きさや距離は変わっているのがわかりますね。
さらに、次の関数空間では、関数同士の「内積」を考えることができます。
\[ \begin{aligned}L^2 (I ):=\{f:I\to\mathbb{R} \mid \int_I |f(x)|^2 dx <\infty \}\end{aligned} \]
\[ \begin{aligned}\langle f,g\rangle_{L^2 (I )} := \int _I f(x)g(x)dx\end{aligned} \]
例えば、次のようになっていますね。
\[ \begin{aligned}\langle x,x^2\rangle_{L^2 (I )} := \int _I x^3 dx=\frac{1}{4}\end{aligned} \]
\[ \begin{aligned}\langle \cos 2\pi x,\sin 2\pi x\rangle_{L^2 (I )} := \int _I \cos 2\pi x \sin 2\pi x dx\\ =\int_I \frac{1}{2}\sin 4\pi x =0\end{aligned} \]
一般に、\(\langle f,g \rangle =\|f\|\|g\| \cos \theta\)を満たす実数\(\theta\)を、関数\(f,g\)のなす角度と呼びます。特に、\(\langle f,g \rangle=0\)となるときは、\(f,g\)は直交していると呼びます。
つまりこの例からは、\(\cos 2\pi x,\sin 2\pi x\)は(\(L^2\)において)直交していることがわかります。これはフーリエ級数展開の基礎となる考え方です。
参考:線形代数の応用:関数の「空間・基底・内積」を使ったフーリエ級数展開
連続関数のなす空間にも、
\[ \begin{aligned}\langle f,g\rangle_{C^0 (I )} := \max _{x \in I} |f(x)g(x)|\end{aligned} \]
とすることで内積が定まりそうと期待しますが、これは内積になりません。
特に内積の線形性が成り立ちません。
\(f(x)=1,h(x)=1\)で、\[ \begin{aligned}g(x)= \begin{cases}1-2x & ( 0\leq x \leq \frac{1}{2} )\\ 2x-1 & (\frac{1}{2}<x \leq 1)\end{cases}\end{aligned} \]
としましょう。
\(\langle f-g,h\rangle_{C^0 (I )} = \max _{x \in I} |f(x)-g(x)|=1\)ですが(\(x=\frac{1}{2}\)で最大値)、\(\langle f,h\rangle_{C^0 (I )} =1\)、\(\langle g,h\rangle_{C^0 (I )} =1\)です。したがって、\[ \begin{aligned}1=\langle f-g,h\rangle_{C^0 (I )} \neq \langle f,h\rangle_{C^0 (I )}-\langle g,h\rangle_{C^0 (I )}=0\end{aligned} \]
となることがわかりました。
一般に、内積空間では、その誘導するノルムに対して中線定理\(\|f+g\|+\|f-g\|=2(\|f\|+\|g\|)\)が成り立ちます。逆に、ノルムがこの等式を満たすならば、内積空間となります。これを用いると、ノルム空間が内積空間かどうか、判定できます。
ユークリッド空間には標準的な内積がありましたが、関数空間ではいつでも内積があるとは限らないのです。
関数空間において、距離、ノルム、内積を考えると何が嬉しいかというと、関数列の極限・収束を考えることができるようになります。
例えば常微分方程式を一般的に解くためには、\(\mathbb{R}^N\)における解を近似する点列を考えます。そこでは、ユークリッド距離(と完備性)が役立っているわけです。
同様に、熱方程式や波動方程式のような偏微分方程式を一般的に解く理論を考えたいとします。その解は関数であり、その関数を近似するような関数列を考える必要が出てきます。そこで関数空間、そこにおける距離・ノルム・内積に関する理論(ルベーグ積分や関数解析)が必要になってくるのです。
参考:なぜルベーグ積分を学ぶのか 偏微分方程式への応用の観点から
以上、距離空間とは何か、関数空間のノルム、内積を例に紹介してきました。
距離空間を学ぶ例として、ユークリッド空間の別の距離・ノルムの入れ方を考えることが多いですが、それだけだとわざわざ一般化するモチベーションとしては弱いのかな、と思っています。
ユークリッド空間に次ぐ例として、関数空間を意識して、関数の間に距離・ノルム・内積を考えられるようになると、関数の近似、偏微分方程式などに役に立ってくる。そんなことがなんとなくわかってもらえたら嬉しいです。
木村すらいむ(@kimu3_slime)でした。ではでは。
岩波書店 (2018-11-06T00:00:00.000Z)
¥2,640
日本評論社 (2000-12-01T00:00:01Z)
¥2,420
共立出版 (1980-11-01T00:00:01Z)
¥5,390