Imaginantia

思ったことを書きます

表現のための数学 #1

続き

目標であるところの三角関数に到達するために、まず \mathbb{R}^n が持つ「長さの構造」について考える。

内積

今までの議論によって区間 [0,1] の形状はほぼ決定された。

f:id:phi16_ind:20180906131604p:plain

「点の集まり」である集合が、連続性によって「つながった紐」になり、線形性によって「実数に沿ってまっすぐ」であることがわかった。

ではここで、I^2 = [0,1] \times [0,1] という空間について考えてみたい。この掛け算は「両方の性質を同時に独立に保持する」というもので、 I^2 の点は2つの [0,1] の点から成る。具体的には (0,1)(0.3,0.8)(\pi-3, e-2) などである。

この空間は線形空間 \mathbb{R}^2 の一部であるから、その気持ちで絵を描いてみるとこうなる。

f:id:phi16_ind:20180906132611p:plain

思った図とは違うと思う。歪んでいる。でも、その歪みをどうやって判断できようか?

原点から (1,0) への距離と (0,1) への距離が等しくあってほしいと思う。しかしこの2つの軸は本当に独立なので、距離を比較することはnonsenseである。 2つの軸が直交していてほしいと思う。それでも直交という概念を適用するにはこの軸たちは独立すぎる。 線形空間と言うだけでは構造が足りないわけである。そこで、軸を比較するための構造を取り入れたい。

そこで内積 (Inner product) が出てくる。これは2つの点を与えたときにどれくらい関連があるかを示す実数を返してくれる。 「関連がある」というのは軸の基準にした考え方で、異なる軸上にある2つの点は関連が 0 である、ということになる。 \mathbb{R}^2 における標準内積 (Standard inner product) の定義および記法は以下である。

$$(x_1,y_1)\cdot(x_2,y_2) = x_1x_2 + y_1y_2$$

確かに異なる軸上の点を与えたときに結果が 0 になることがわかる。以降、標準内積を使う。

実際には「異なる軸上に存在する」ということを「内積が0」で以って定義する、という感じである。 別に \mathbb{R}^2 内の点が (a,b) で表現できるというのは本質ではない。軸 (=基底) は好き勝手に取っていい。空間が潰れてさえいなければ。

また、内積は「長さ」の概念を内包していることになっている。自分自身との内積を取ると、向きに関わらず長さの情報を得られる。 (1,0)\cdot(1,0) = 1, (0,1)\cdot(0,1) = 1 なわけで、これは大まかな直感的長さの概念に一致するだろう。 ただし(2,0)\cdot(2,0) = 4 であることには気をつける必要がある。点をa倍に伸ばしたとき、自己との内積a^2倍になってしまう。 線形っぽく振る舞ってほしいので、次の「長さ」の定義を採用する。

$$\lVert x \rVert = \sqrt{x \cdot x}$$

ノルム (Norm) って呼んだりする。けどまぁ長さでいいと思う。2点間の距離は \lVert p - q\rVert で計算できるようになった。

\lVert x \rVert とか、絶対値記号での \lvert x \rvert は一般に「情報が落ちる」ことを表現している。

今までのお話で、私達は \mathbb{R}^n 上での長さの測り方がわかった。

さっそく円を表現したい。円とは何だろうか?

コンパスを想像すれば、ある点 p から距離が r の点全体から成る \mathbb{R}^2 の一部 という定義が思いつく。内積を定義したおかげでこの定義は意味を持つ。 異なる中心 p ・異なる半径 r を指定したとしてもそれは平行移動・拡大縮小で移りかわる (ある意味で同等)。だから私達は中心を(0,0)に・半径を1にして考えてよい。結果できる空間は単位円 (Unit circle) と呼ばれる。 以降 S^1 と書く。この 1 は1次元の1である。

2 次元平面から、長さという 1 次元の情報に縛りをつけることで生まれる空間だから、2-1=1 次元。

陽に定義を書くと S^1 = \{p\colon \mathbb{R}^2 \mid \lVert p \rVert = 1\} ということになる。これは「\lVert p \rVert = 1」を満たす「\mathbb{R}^2」の点全体から成る空間、という意味である。

本来は空間構造が \mathbb{R}^2 から誘導 (induce) されることを書く。

もうちょっと噛み砕くと S^1 = \{(x,y) \colon \mathbb{R}^2 \mid x^2 + y^2 = 1\} である。これはよく見知った定義であろうと思う。 ちょっと面白い話をすると、x^2 + y^2 = 1 であるという条件から、x に対して y有限通りに定まる。実際 y = \pm\sqrt{1-x^2} である。これは円を直線で切ると高々2個の点しか通らないという意味である。有限通りというのは結構うれしくて、全通りを調べることができる。無限ではこうはいかない。

方程式を解くというのはこういうことである。

さて、円を定義することはできたもののまだ直感には程遠い。コンパスで円を描くことを考えてみると、「曲線を描いて一周する」という動作をする。 曲線によって円が構成されているというのは、現在の定義からは非自明である。だから異なる構成方法を考えてみる必要がある。

多くの物事には多面性があって、違う見方を知っていると大抵思考が柔軟になる上に考える負荷も下がる。

曲線とはなんだろうか。始点から終点へ向かって「連続に」点を与える方法が曲線な気がする。そうすると、[0,1] から対象の空間への連続写像が曲線を表現する、ことがわかる。わかって。

[0,1] から空間 A への連続写像、の成す空間を [0,1] \to A と書いたりする。f\colon [0,1] \to A でその空間の点を表したりする。f(0) が始点で f(1) が終点である。f(x) = 0 で定義される連続写像 f もまた曲線である。

ちょっと考えたほうがいいのは、私達は円の上を等速で描く曲線を望んでいる、ということである。その等速という直感は未だ定式化できるものではないが、例えば「半円」を表現するつもりで f(x) = (2x-1,\sqrt{4x(1-x)}) という曲線を考えてみると、x を一定速度で動かしたときの f(x) の速度は位置によって異なっていることがちょっと見てみるとわかる。

f:id:phi16_ind:20180906160835g:plain

微分積分によって速度を測り、パラメータ側の速度を調節することで等速に「見せる」方法はあるものの、どちらかというとパラメータ [0,1] は全点同じ重みであってほしいと思う。 結論から言うとこれは単純には不可能である。そこでその解をあったことにしよう。曲線 s が私達の想像するような円を描く曲線であるとするs がどう定義されているかを調べてみる。

当然 s(0) = s(1) である。円を描きさえすれば良いので始点・終点は自由である。そこで s(0) = s(1) = (1,0) としてもよい。また線を描く向き: 反時計回り・時計回りも自由である。そこで反時計回りに曲線を描いていくとしよう。これで s の挙動は確定するだろう。

f:id:phi16_ind:20180906164748p:plain

この連続写像 s \colon [0,1] \to S^1[0,1] \to \mathbb{R}^2 だと自然に解釈できるわけだが、「[0,1] の各点に実数を2つ与える写像」は「[0,1] の各点に実数を与える写像2つ」と同等である。

f(x) = (g(x),h(x)) とすることで後者を前者に変換できる。f \colon [0,1] \to \mathbb{R}^2 に対して g,h \colon [0,1] \to \mathbb{R} を「f(x) の1つ目・2つ目の値を g(x)h(x) の値とする写像」で定義ができる。そしてこの2つの変換は情報を失わない。

だから s(x) = (s_1(x), s_2(x)) と表現できる。これはもうほぼ三角関数である。が、もうちょっと修正を加えなくてはならない: [0,1] 区間を使っていたのを、(ある意味で)同等な [0,2\pi] を使うようにする。[0,2\pi]s に渡すために [0,1] に変換する必要があるが、これは前回提示した変換 x \mapsto x / 2\pi でよい。 結果構成された2つの写像 x \mapsto s_1(x/2\pi), x \mapsto s_2(x/2\pi) が、それぞれ \cos x, \sin x なのである。

なんでか、というと距離を保つからである。この曲線の長さは 2\pi なので、最初から [0,2\pi] の長さであれば等長 (Isometry) である。ちょっとうれしい。そうでもない。

というわけで x \mapsto (\cos x, \sin x) という写像 [0,2\pi]S^1 に写す連続写像であるわけだが、実際にはもうちょっと「便利」にできている。

空間を潰す

円を \mathbb{R}^2 の一部として定義をしてみたけど、実のところそれは本質ではない。「定義が本質とかけ離れている」ことは往々にしてあるものなのである。

円の本質は、ぐるぐる回ることである。回って一周できること、そしてそれ以外に道が無いこと。円形になっていなくとも円形に見せる方法があるならそれは実質円である。 で、そうするともうちょっと便利な円の表現がある。先程の円を表す曲線 s[0,1] を円に写すものであったが、これを同相にできないだろうか?

[0,1] はぐるぐるまわらない。1 まで到達してしまったらもうそれ以上先へは進めない。でも円のときには s(0) = s(1) であった。ならば、0 = 1 としてはどうか?

私達は線形空間 \mathbb{R} の一部として [0,1] を捉えてきたが、そこから離れて 01 という境界が実はつながっていたと考えるのである。 すると、1 へ進んでいくと 0 の側から出てくる。そしてそれはいくらでも進むことができ、何度でも元の場所に戻ってくる。これはもはや円である。

f:id:phi16_ind:20180906195839g:plain

このように空間を同値性で「潰す」ことでできる空間を商空間 (Quotient space) と呼んだりする。割り算みたいなお気持ち。今回の空間は [0,1]/_{0=1} と記述することにしよう。

f(0) = f(1) でないような写像は、[0,1]/_{0=1} からの写像としては失格になる。等しかったものが等しくなくなるのは集合としての性質すら壊してしまう。これをwell-definednessと呼んだりする。

さて、これによって s(0) = s(1) という性質はパラメータ側の要求に変化した。パラメータの空間 [0,1]/_{0=1} だけで円を表現できてしまった。 同様にして [0,2\pi]/_{0=2\pi} という空間を構成できるが、これが本来の \cos, \sin のパラメータ空間である

私達は実数からこの潰れた空間への写像を知っている。小数部を取るという演算 \mathsf{frac}\mathbb{R}を連続に [0,1]/_{0=1} へ写す。 実数から実数への写像と捉えるとこれは連続ではなかったが、行き先がぐるぐる回っていると考えればこれは自然である。

同様にして実数を [0,2\pi]/_{0=2\pi} へ写す写像を構成できる。x\mapsto \mathsf{mod}(x,2\pi) がこれにあたる。 というわけで、所謂三角関数 \cos, \sin の定義を得ることができる。(\cos(x),\sin(x)) = s(\mathsf{mod}(x,2\pi)/2\pi) である。

x\mapsto x/2\pi という写像は、空間 [0,2\pi]/_{0=2\pi} から空間 [0,1]/_{0=1} への写像とみなせば連続である。

というわけで、三角関数を「お気持ち」で以って定義してあげることができた。

$$\mathbb{R} \longrightarrow [0,2\pi]/_{0=2\pi} \longrightarrow [0,1]/_{0=1} \longrightarrow S^1 \longrightarrow \mathbb{R}^2$$

  • 実数を周期で割って
  • 概念的円の同型で渡して
  • 円に埋め込み
  • その座標を得る

結果として  \mathbb{R} \to \mathbb{R}^2 という「気持ちから離れた」写像が生まれる。ちょっと悲しいけれどこれもまた表現である。