位相空間の導入のために距離空間を理解する　

位相空間論を勉強し始めたけど,位相の定義の「気持ち」がわからないという方に向けて具体的に分かりやすく解説してみようと思います.　また関数解析を勉強する際にも役立つような内容だと思っています.
理学部ではなく工学出身なので,できるだけ工学系の人にわかりやすく書いたつもりです.
その分厳密性には欠けるかもしれませんがご容赦ください.

#位相空間とは
誤解を恐れずにまず位相空間とは何かを説明しましょう.
>ある集合$X$があって,その元$x$と元$y$との間の**距離**を**数値**を使わずに表現できる**道具**が備え付けられた空間のこと.
そしてこの道具のことを位相[^1]といい,空間$X$と位相の組を**位相空間**[^2]とよびます.

位相空間について理解するためには距離空間について知っておかないと定義・定理の意味や何をしめそうとしているかもわからないことが多いでしょう.　まず, 距離について理解を深める必要があります.

#距離
ところで, そもそもなぜ距離が必要なのかについて考えます. まず次の式をみてみましょう.

$$\displaystyle \lim_{n \rightarrow \infty}a_n =a$$

上の式を実数列$a_n$が実数$a$に収束すると理解してください.
これをもう少し定量的な表記である$\varepsilon N$論法をつかってみてみましょう.
>$$\forall \varepsilon>0,  \exists N \in \mathbb{N}, \forall n \in \mathbb{N} \ (n \geq N \Rightarrow |a_n-a| < \varepsilon)  $$

日本語で分かりやすくかけば,

>任意の$\varepsilon > 0$に対してある自然数$N$が存在して任意の自然数$n\geq N$に対して$|a_n-a|<\varepsilon$が成り立つ.

工学的な言葉でかくと,

>許容する誤差$\varepsilon > 0$を１つ定めてやると,その度にある番号$N$が決まって,それ以降の番号$n$に関しては$a_n$とその極限$a$の誤差は$\varepsilon$より小さい.

になります.ここでは, 誤差が絶対値| |を使って表現されていることに注目してください.　これは私たちが普段使っている1次元ユークリッド空間における距離の最たる例です.　そして,$a_n$が$a$に収束するというのは$a_n$と$a$の間の距離が$0$に近づくと読み直すことができます. そしてユークリッド空間だけでなく色々な空間についてそれぞれ距離を定義すれば収束を考えられるのではという動機付けがえられます[^4]. 

#距離空間の定義
距離を測る対象全体（集合)を$X$とし次の性質を満たす$X \times X$[^15]上の実数値関数$d$を距離といい$X$との組$（X,d）$または単にXを距離空間といいます[^14].

>1.$d(x,y)\geq 0 , d(x,y)=0 \Rightarrow x=y\ \    (x,y \in X)$ (正値性)
2.$d(x,y)=d(y,x) \ \  (x,y \in X)$ (対称性)
3.$d(x,z)\leq d(x,y)+d(y,z) \ \ （x,y,z \in X）$(三角不等式)
 

何やら難しそうかとおもうかもしれませんが, これら上の性質は普通距離といっているものなら当然成り立っているべき性質です. 
それぞれ
１.距離は０以上で０ならばそれらは等しい
2.ｘとyの距離とyとxの距離は等しい
3.ｘからzに行くよりもxからyへ行ってからzに行く方が距離が長い.
です.

#距離の例（読み飛ばしても良い)
1. N次元ユークリッド空間すなわち$X=\mathbb{R}^N$としてユークリッド距離
　　$$d_1(x,y):=\sqrt{\sum_{i=1}^{N} (x_i-y_i)^2} $$
はもちろん距離になります.ここで,$x=(x_1,\cdots,x_N),y=(y_1,\cdots,y_N)\in\mathbb{R}^N$です.


2.同じように$X=\mathbb{R}^N$とすると,
$$d_2(x,y):=\sum_{i=1}^N|x_i-y_i| $$
も距離となります.　これは,マンハッタン距離と呼ばれるものです.
京都市のように長方形区画になっているところで自動車でA地点からB地点へ行く距離を測るならユークリッド距離より適切でしょう.
<img width="705" alt="Screen Shot 2019-01-17 at 19.06.22.png" src="https://qiita-image-store.s3.amazonaws.com/0/326599/c67df0e3-2f87-ccd7-0beb-e1ed33b6296b.png">

3.$(X,\\|\\|)$をノルム空間とします.
 $$d_3(x,y):=\\|x-y\\|$$
とすれば,距離となります. 

ここで注意しておくとノルム空間はとくに線型空間なので和やスカラー倍が定義されたリッチな空間です. しかし距離空間は一般に線型空間とは限らないので$\alpha$をスカラーとして一般の距離において$d(\alpha x,y)$や$d(x+z,y)$なようなものを計算できるかは分かりません.　次がその例となっています.

4.$X$を長さ3の文字列全体とします.

$d_4(x,y)$を文字列$x$に対応する位置の文字列$y$の異なる文字の個数
と定義します. たとえば$x="dog",y="fox"$とすれば,１文字目と３文字目の文字が異なるので$d_4(x,y)=2$です.これをハミング距離といいます. 

ここでは説明しませんがレーベンシュタイン距離というもの使えば,異なる長さの文字列の距離を測ることができ, エディタでのスペルチェックやDNA配列の類似度を測るのに応用されています.

5.$X$を区間$[a,b]$上連続な関数の集合とします.すなわち$X=C([a,b])$とします.
$$d_5(f,g)：=\int_a^b|f(x)-g(x)|dx$$
は距離となります.　
ここで注意しておくと関数解析などででてくる,可積分集合である$X=L^1$としてルベーグ測度のもとで同じ式で定義してもそのままでは距離となりません.　$d(f,g)=0 \Rightarrow f=g \ $がいえないからです[^16]. 距離として扱うためには工夫が必要になります[^7].
6.$X=C([a,b])$として,
$$\displaystyle d_6(f,g):=\max_{x\in[a,b]}|f(x)-g(x)|$$
とすれば距離になります.
<img width="592" alt="Screen Shot 2019-01-17 at 19.18.12.png" src="https://qiita-image-store.s3.amazonaws.com/0/326599/438bba3c-3658-7356-21d7-e81a57dff9b2.png">

また,
$$d_5(f,g)=\int_a^b |f(x)-g(x)|dx \leq d_6(f,g)\int_a^b dx=(b-a)d_6(f,g)$$
が成り立ちます.これは後述の開集合系の細かさと関係しています.
7.(つまらない距離)　$X$を空でない集合とし,

$$
\begin{align}
d_7(x,y)=
\begin{cases}
1 \ (x \neq y)\\\
0 \ (x=y)
\end{cases}
\end{align}
$$
とするとこれは距離となります. 

#距離を使った点列の収束や連続性の定義
ここで,一般の距離空間に対して,点列の収束さらには距離空間から距離空間への写像の連続性を定義してみましょう. 
もう一度実数列の収束の定義を再掲するとこうなります.
$$\forall \varepsilon>0,  \exists N \in \mathbb{N}, \forall n \in \mathbb{N} \ (n \geq N \Rightarrow |a_n-a| < \varepsilon)$$
ではこれをアナロジーにして距離空間において点列の収束を定義してみましょう.$(X,d)$を距離空間, $\{a_n \}$を$a\in X$に収束する$X$の点列だとすると$a_n$が$a$に収束することを以下のように定義します.
$$\forall \varepsilon>0,  \exists N \in \mathbb{N}, \forall n \in \mathbb{N} \ (n \geq N \Rightarrow d(a_n,a)< \varepsilon)$$
これを,
$$d-\lim_{n \rightarrow \infty} a_n =a$$
とかいたりもします[^13].
つぎに$f:\mathbb{R} \rightarrow \mathbb{R}$が$x=a$で連続とは
$$\displaystyle \lim_{x \rightarrow a}f(x) =f(a)$$
すなわち,
$$\forall \varepsilon>0,  \exists \delta>0,\forall x \in \mathbb{R}(|x-a|<\delta \Rightarrow |f(x)-f(a)|<\varepsilon )$$
となります.
同様に距離をつかって定義してみましょう.$(X,d_X),(Y,d_Y)$を距離空間とし, $f:X \rightarrow Y$が$x=a \in X$で連続であるとは,
$$\forall \varepsilon>0,  \exists \delta>0,\forall x \in X (d_X(x,a)<\delta \Rightarrow d_Y(f(x),f(a))<\varepsilon )$$
と定義します.どの**距離(位相)**での収束なのか意識することは大切です.
#開球と開集合の定義
距離を定義すると, 開集合が定義できるようになります.　
ユークリッド空間においては直感的に区間の端が閉じていない$(a,b)$などが開集合であるとイメージできたとおもいますが, 一般の距離空間に開集合を定義するためにはどうすればいいでしょうか.

$(X,d)$を距離空間とします.
まずは半径$\varepsilon$で中心$x\in X$の開球$B_{\varepsilon}(x)$を定義しましょう.
>$$B_{\varepsilon} (x):=\\{y \in X : d(x,y) < \varepsilon \\}$$

そのままですね. この開球を使って開集合を定義します.
>$O \subset X$が$X$の開集合とは, $O$の任意の点$x$に対して$x$に依存した半径$\varepsilon>0$がとれて$B_{\varepsilon}(x) \subset O$であることをいう.

ここでこのような各$x$のことを内点といいます. すなわち開集合とは, 任意の元が内点であるような集合のことをいいます.

少し分かりにくいかもしれないのでイメージ図を書くと次のようになります.
<img width="693" alt="Screen Shot 2019-01-17 at 8.18.08.png" src="https://qiita-image-store.s3.amazonaws.com/0/326599/6f6f3950-db02-77fe-5d78-4f1e241b59f4.png">
すなわち,$x \in O$を任意に選べば, その都度$O$に含まれるような開球がとってこれるということです. 
これが開集合のイメージと合うかどうかは, ユークリッド空間における開集合と比べるといいとおもいます. 例えば開区間$(a,b)$で絶対値の意味での距離を考えたとき,どんなに$a$に近い点$x$をとったとしても$(a,b)$に含まれる開球をとってこれます.

#開集合系
距離空間$(X,d)$をとってくると開集合を定義できるので,
開集合全体の集合というのを考えることができます.
たとえばこれを$\mathcal{O}_d$などと表記します.
これを距離により定まる開集合系とよびます. じつはこれこそが位相の特別な場合に当たります.
位相はこの開集合系の性質を一般化したものになります[^6].

#連続写像の開集合における特徴づけ
$(X,d_X),(Y,d_Y)$を距離空間とし,$f:X\rightarrow Y$が任意の$x \in X$で連続であるとします. すなわち,
>$$\forall \varepsilon>0,   \forall x \in X,\exists \delta>0,\forall y \in Y (d_X(x,y)<\delta \Rightarrow d_Y(f(x),f(y))<\varepsilon )$$

とします.このときこれは次と同値になります.

>```math
\forall O\in \mathcal{O}_{d_Y}  \ (f^{-1}(O)\in \mathcal{O}_{d_X})
```

証明は省略します. $d_Y$の意味での開集合の逆像が$d_X$の意味での開集合であることが連続ということになります[^12]. ここで逆像とは次のことです.

> $X,Y$を集合として$f:X \rightarrow Y$とします. $B \subset Y$に対して$f$の逆像とは,
$$f^{-1}(B):=\\{x \in X |\ \ f(x) \in B\\}.$$

逆写像とは異なることに注意してください.

イメージ図を追加しておきます.
<img width="883" alt="Screen Shot 2019-01-19 at 17.56.37.png" src="https://qiita-image-store.s3.amazonaws.com/0/326599/039c7f87-c492-d1cf-27cd-1a652eef9fbc.png">

まず連続なときの逆像です. 開区間$(a,b)$の逆像が絶対値の意味での開集合になっていることを確認してください.

<img width="606" alt="Screen Shot 2019-01-19 at 18.01.36.png" src="https://qiita-image-store.s3.amazonaws.com/0/326599/cae4a9b7-5440-fbec-1a7a-a507a1da8d0b.png">

次に不連続関数の逆像です.開区間$(a,b)$の逆像が上の図でいう$e$の方の境界は開になっていますが,不連続点の逆像の$d$の部分の境界は開になっていません.（距離は絶対値の意味です.）
#開集合系の細かさ
ここで,距離空間$X$上の距離$d_1, d_2$と２つ考えたときに
どちらの距離が適切なのかということが気になります.

基準は色々あると思いますがここでは開集合の多さについて焦点を当てたいとおもいます[^8].

もしある$C >0$があって,任意の$x,y \in X$に対して, 
$$d_1(x,y) \leq Cd_2(x,y)$$
が満たされているとします. このとき,$d_1$の距離の意味での開集合$O_1$は必ず,$d_2$の意味での開集合になります.
何故ならば,(証明はみなくてもいいです)
>$O_1$を$d_1$の意味での開集合とします.
 $x\in O_1$を任意にとります. このとき$B^1_\varepsilon(x)\subset O_1$なる$d_1$の意味での開球が存在します. 
$\varepsilon'=\frac{\varepsilon}{C}$とおきます. $d_2$の意味での開球$B^2_{\varepsilon'}(x)$を考え,$y \in B^2_{\varepsilon'}(x)$を任意にとります. 
$$d_1(x,y)\leq Cd_2(x,y)<C\frac{\varepsilon}{C}=\varepsilon$$より, $y \in B^1_\varepsilon(x)$がいえます. $y$は任意だったので, $B^2_{\varepsilon'}(x) \subset B^1_\varepsilon(x) \subset O_1$とくに,$B^2_{\varepsilon'}(x)\subset O_1$で$d_2$の意味での$O_1$に含まれる開球の存在が言えたので,$O_1$は$d_2$の意味での開集合になります.

よって,このとき$d_1$の意味での開集合よりも$d_2$の意味での開集合のほうが多いと言えます[^5].　こういったとき$d_2$の意味での開集合系の方が細かい,$d_1$の意味での開集合系の方が粗い（あらい）といった言い方をします.

開集合系（位相）の細かさは,可算公理,収束,分離公理,コンパクト性などと関係します.
ここでは先ほどの連続写像における特徴づけから開集合系（位相）の細かさについてみていきたいとおもいます.
$(X,d_X),(Y,d_Y)$を距離空間とします.$f:X\rightarrow Y$が$X$上連続とはつぎのことでした.
>```math
\forall O\in \mathcal{O}_{d_Y}  \ (f^{-1}(O)\in \mathcal{O}_{d_X})
```

つまり$d_Y$の意味での開集合が少なければ少ないほど, また$d_X$の意味での開集合が多ければ多いほど$f$は連続になりやすいということがいえます.　　

#位相空間をなぜ学ぶのか
ここまで理解すると, 個々の距離ではなくて開集合系についての性質を調べた方がいいのではないかというモチベーションがわいてきます. そしてここが数学のすごいところですが, ユークリッド距離を抽象化し一般の距離として公理化したように,開集合系が満たすべき性質を持つものを新たに位相として公理化します. こうなってくれば, 距離による開集合系は位相空間での具体例という身分に落ちてしまいます. 距離空間を学ぶことによってユークリッド空間の理解が深まったように,位相空間を学べば距離空間の理解も深まります.　数学ではこのような手続きを踏むことがよくあります. こういった背景を理解すれば、なぜわざわざ抽象化して難しく考えるのかという疑問にも答えられるのではないでしょうか.
#おわりに
位相空間の導入の意義を理解するために, 距離空間の解説をしてみました. あっさりとしたものを書くつもりだったんですが,　量が多く結構踏み込んだ記事になってしまいました.　これを読んで数学を勉強したいと思ってもらえれば, 筆者冥利に尽きます. 疑問点などはコメントに書いてくださったらできるだけ対応します.










[^1]: 例えば$\mathcal{O}$と表したりします.
[^2]: $(X,\mathcal{O})$または単に省略して$X$のことを位相空間とよんだりします.
[^4]: 例えば関数空間などに距離を定義することもできます.
[^5]: 逆の不等式$C'd_2(x,y)\leq d_1(x,y)$ も成り立っていれば,$d_1$および$d_2$の作る開集合系は同じになります.
[^6]: ユークリッド距離の性質から一般の距離を定義したように.
[^7]: 同値類を使います.
[^8]: ここでは書いていませんが他に完備性などがあります.
[^9]: 位相空間での収束の定義は次回
[^10]: もちろん$d_X$の意味での開集合を少なくすると連続になりにくくなりますし,そもそも距離の意味での開集合系とは呼べなくなります. しかし有限次元のノルム空間については,こういった操作をしても弱位相と距離の意味での開集合系は一致します. つまり開集合系を減らせないということです.よってこういった操作に意味が生じてくるのは無限次元ノルム空間ということになります.

[^11]: ここでの位相はノルムによって定められる開集合系のこと.
[^12]: 測度論を学んだ方は可測関数の定義と似ていると思うかもしれませんが原初はこちらだとおもいます.
[^13]: こうやって書くとwell-defined性すなわち極限の一意性があることを暗に示しています.実際距離空間においては極限の一意性が成り立ちます. 一般の位相空間では極限の一意性がない位相もあるので,limを使ってかけないこともあります.
[^14]: 集合となにか特別なもの（写像や集合族など）が備えつけられたものをー空間とよぶことは数学ではよくあります.線型空間、ノルム空間、測度空間、位相空間など。
[^15]: 直積集合と言います. $X \times X := \\{(x,y): x,y \in X \\}.$ ここで,$(x,y)$は内積ではなく, 組です. $\mathbb{R}^2$のベクトルを想像するとわかりやすいとおもいます.
[^16]: （読まなくていいです）ノルム空間において, $\\|v \\|=0 \Rightarrow v=0$を満たさないものを半ノルムといいます. 半ノルム系から完備な距離を構成したものをフレシェ空間と呼んだりします. ある滑らかな関数空間上にフレシェ空間を考えて,それの双対空間から超関数は定義されます.