圏論の視点で解析学(Analysis)を見よう
このページはマス旅の一部です。
前回は圏論の視点で計算科学のビルをみたね。
今回は解析学のビルを見よう。
解析学は微分積分、複素解析、微分方程式と数学の核になっているいろんなツールの体系だ。
でも、圏論の視点でみると、すっごく単純に見えてくる。
1F(圏):点(関数)たちをつなぐ線は微分演算子だね。
2F(ファンクター):無数の点をパックして「ヒルベルト空間」などの関数空間(コンテナ)に入れる。
3F(自然変換):たとえば、2Fのフーリエ変換と1F時間微分が可換図式かどうかを検証します。
さあ、このビルで起きることをくわしく観察してみよう。
観察の視点は計算科学のときと同じく、次の3つだ。
○ 中身ではなく、見える振る舞いから決めるという「圏論」の視点
○ 一番無駄のない作りにするという「普遍性」の視点
○ 逆の個性(Xとco-X)が表裏一体で共存する「対称性」の視点
「分野の特有のロジック・用語」に飲み込まれるのではなく、
外側から関係性を冷静に観察するのだ。
さあ、出かけよう。
1.各階を観察しよう。
解析学のビルのエントランスにきました。
計算科学のビルがカチカチ、ぽつぽつした有限で離散的な住人たちの世界だった。
記号を身にまとっているけど、中身は算数に近い身近な数と文字からできていたね。
けれど、この解析学のビルは、無限と連続を本質にする数学の中核をなす巨大さを誇る。ここはビルが連結していていて、まるで1つの都市のようになっている。
<1F圏 微分演算子>
関数という「点」たちが、微分演算子という「線(射)」によって互いにつながりあっている。
「圏論」の視点
私たちは普通、関数の「中身(x^2 や sin(x) などの具体的な数式)」に注目しますが、微分演算子で、関数という点どうしがどうつながっているか、という視点で見てみよう。
x^2→2x→2→0 #川の流れは行き止まりがある。
sin(x)→cos(x)→-sin(x)→-cos(x) →sin(x) #最初の4つの関数がぐるりんとサイクルになる。面白い。
e^x→e^x→e^x→e^x
e^xは微分でびくともしない。微分世界の不動点になっているね。
頑固すぎて孤独な存在ともいえるが、この圏論の射では基準点になりうる貴重な存在に見えてくる。
「普遍性」の視点
微分は関数を局所化する働きで、1点では傾きを表しました。
直線と考えたときの係数です。
2階微分すると2次曲線と考えたときの係数となります。
3階微分では、3次曲線の傾きが。。。。
と考えることにより、
連続して何回でも微分できる関数ならば、
n階微分係数とn次多項式の積の情報をうまく加減して追加していくことで近似できる。
もしも、この操作を無限に行えたら関数の情報を最も無駄なく、しかも扱いやすい形に直せる。
これが、「テイラー展開」でした。xが0のときにしたものが「マクローリン展開」でした。
文字式にしてしまうと、文字だらけの証明モードに突入してしまいがち。
もちろん、それも大事だけれど、その背景の思想を伝えるには、むしろ具体的な関数の例をみたり、
geogebraのアプレットで近似の程度を感じる方が大切ではないか。
e^x=1 +x +x^2/2! +x^3/3! +.......
sin(x)=x -x^3/3! +x^5/5! -....
cos(x)=1 -x^2/2! +x^4/4!+
このテイラー展開、マクローリン展開はまさに、普遍性の思想につながってますね。
「対称性」の視点
微分と積分が逆操作で表裏一体であることは言うまでもありません。
しかし、表裏一体ということを実感するために、その共通点とつながりを確認しておきましょう。
微分と積分は演算としては逆操作ですが、同じ流れで求めています。
divide ⇒ extract ⇒ extend という流れです。
微分は関数を細分して瞬間の増加率の計算を全体で求めます。共通点を取り出して新しい関数にします。
微分は、関数を「傾き」関数に直す操作ですね。(特に、extract)
積分は関数を細分して瞬間の値を全体で求めます。その総和をパックして新しい関数にします。
積分は、関数を「面積」関数に直す操作ですね。(特に、sum)
そして、この2つの操作が双対であることの主張が
「微積分の基本定理」でしたね。
①関数 f(t) が連続であるとき、
定積分を用いて定義される関数 F(x) = ∫_a^x f(t) dt を x で微分すると、元の関数 f(x) に戻る
②∫_a^b f(x) dx = F(b) - F(a) = [ F(x) ]_a^b
くわしくはこちら。https://www.geogebra.org/m/twxxx3yq#material/fm3awrmr
<2Fファンクター 関数空間>
点である関数たちが「ヒルベルト空間、バナッハ空間」などの巨大な関数空間(コンテナ)の中に綺麗にパッキングされています。
「圏論」の視点
「関数空間」では関数という点をベクトルという点とします。関数の中身である写像関係は見えません。
その代わり、関数と関数の関係がベクトルとベクトルの関係として見えてきます。
すると、関数が作る角が大切になるのです。実際に何度という角度を出すわけではありません。
ベクトルの内積を思い出しましょう。2つのベクトルu=(a,b),v=(c,d)があるとき、
内積はベクトルの同じ軸の成分の積の総和であり、相手のベクトルサイズに自分の影を落としたサイズに向きをつけた値でもありました。
u・v=(a,b)・(c,d)=ac+bd=|u|cosθ |v|=|u||v|cosθ。
これから2つのベクトルの類似度cosθ=|u||v|/(u・v)
で出せるのでしたね。θ=90だとcosθ=0だから、
2つのベクトルは直交することもわかりました。
今のは超基本の2次元でした。
関数fを変数xの値とするかわりに、xを無限に細分したときのfの無限の値とすると、関数fが無限の成分をもつベクトルになりますよね。そして、xが別に実数じゃなくて、複素数だとしても、同じ発想でfを無限次元のベクトルとみなすことができるでしょう。
2次元ベクトルu,vの内積は積和だった。
だから、無限次元ベクトル、2つの関数f,gの内積は無限の積和つまり、積分になるね。
<f、g>=∫_a^b f(x)g(x)^{*} dx (gは共役複素数にした関数)
こうして直交する関数を基底として表現した関数空間が「ヒルベルト空間」でした。
数学者というのは、無限が見える人ではなく、2次元3次元からの類推でn次元を考えて、細分そのものを無限にすると無限次元も不可能じゃないでしょ。というように、あるから考えるのではなく、ありうるものは思考できるという発想をするのですね。
そこに山があるから上るのではなく、幻だとしてもありうる山ならば上れるだろうということです。
まさに、実物調査ではなく関係性だけから思考を深めるという圏論に視点そのものですね。
「普遍性」の視点
有理数の中にルート2が存在しないように、
関数を極限に飛ばしたとき、その行き先の関数が空間からはみ出してしまうことがあります。
そこで、はみ出た極限(穴)をすべて埋めて「これ以上何も足さなくていい、最も無駄のない緊密な空間」を作り上げるのが「完備化」です。
この「完備な空間への自由な拡張」こそが、解析学が無限を安全に扱うために用意した普遍的なコンテナの設計思想です。
f(z)のべき級数P(z)=Σa_nz^nの収束円Cが原点中心だとしよう。
C内の点aをとるとf(z)はaにおいてP(z-a)に展開されて、C内の内接円CCaでは収束するけれども、
収束円Caはそれより大きいかもしれないね。f(x)はCとCaの合併領域K1に解析的延長ができる。
さらに、K1の中でCの外にある点bをとれば、f(z)をbにおいてP(z-b)に展開すると収束円CbはK1をはみ出るかもしれない。そこで、K1とCbの合併領域K2に接続される。つまり、局所的に点をずらしながら、収束円を重ねながら解析関数をテーラー展開を続けることで、ずるずると局所的な解析接続を連続するウロコ状ような連結ができる。これが「解析接続」です。解析接続によって正則関数f(z)のべき級数展開の収束円を徐々にずらすことで正則域を広げることができる。爆発しまくるあのガンマ関数でも正則域を広げて、関数のグラフをかくこともできてしまう。
くわしくはこちら、https://www.geogebra.org/m/twxxx3yq#material/rawvqvcc
解析接続の発想は、「リーマン面」も含めて、複素関数の可能性を普遍性の視点で広げたものと言えるね。
「対称性」の視点
関数空間 Vと、その上の「線形機能(関数を評価して数値を返す役割)」を持つ「双対空間(Dual Space: V^{*})」が共存しています。 状態を表すベクトル(ケット)と、それを観測するベクトル(ブラ)の対称性ですね。 量子力学の舞台でもあるこのフロアでは、状態(X)と観測(co-X)が、内積という架け橋を介して完全な対称性を保っています。くわしくはこちら、https://www.geogebra.org/m/twxxx3yq#material/t4sc3hed
<3F 自然変換>
時間領域と周波数領域という2つの関数空間(コンテナ)を結ぶ広大な連絡通路です。ここでは「フーリエ変換」というファンクターが引き起こす「可換図式」が検証されています。
【時間領域の空間】 ────(時間で微分する d/dt ) ────> 【時間領域の空間】
│ │
│ (フーリエ変換 ℱ) │ (フーリエ変換 ℱ)
▼ ▼
【周波数領域の空間】 ─── ( 周波数iω をかける代数積 )──> 【周波数領域の空間】
どういうことか?
もともとフーリエ変換はフーリエ級数展開という実数世界のものだったね。
音の周期関数を、まるでテーラー展開の三角関数バージョンのように
無限級数で表せるというのがフーリエ級数展開だった。
f(t)=(π/4)+Σ[(-2/π)*1/((2p+1)^2)) cos((2p+1) 220 frq *2 π t ]のように。
基本周波数をkとすると、(周波数kの倍率,振幅の倍率)のペアのリストができる。
・純音 ;(1,1)
・ノコギリ波;(1,1),(2,-1/2), (3, 1/3),(4,-1/4),(5,1/5),......................, ( k, (-1)k+1/k ),.....
・矩形波 ;(1,1) , (3, 1/3) ,(5,1/5),......................., ( k, (1-(-1)k)/k ),.....
・三角波 ;(1,1), ,(3, 1/32) ,(5,1/52),,..................., (2k-1, 1/(2k-1)2),.....
つまり、時間領域の点f(t)から周波数領域の点F(k)を作れるということ。
「オイラーの等式」から、三角関数という周期関数は複素数の世界にもっていくと指数関数に置き換えられらたね。sinx,cosxではなくe^ixを基本の波とすれば「複素」フーリエ級数に早変わりできる。
さらに、f(t)の周期Tを∞にすることにより、周期関数でなくたって時間領域の点f(t)から周波数領域の点F(k)にできる。これが最強の変換がフーリエ変換というわけだ。2種のコンテナをつなぐ自然変換だ。
f(t)とf'(t)がなめらか、区分的に連続、絶対値の積分が有限なとき、∫は不定積分[-∞, ∞]だとして、
もとの関数f(t)に対するフーリエ変換 ℱ(f(t))=∫(e^{-ikt} f(t) dt=F(k)
フーリエ逆変換はℱ^{-1} (F(k))= 1/(2π)∫e^{ikt} F(k) dk=f(t)
どちらも、もとの関数にexp(-ikt)かexp(ikt)をかけてkかtで積分するところが同じだね。
フーリエ変換は積分の1種なので線形性がある。重ね合わせの原理ともいうね。
だから、基本となる関数の変換公式の組み合わせで変換ができてしまう。
この可換図式のおかげで、難しい微分方程式をただの割り算・掛け算(代数方程式)に変換して解き、最後に戻す(逆フーリエ変換)というショートカットができるわけなんですね。
音の波から周波数を取り出す詳細はこちら、https://www.geogebra.org/m/twxxx3yq#material/rquwy3rx
微分方程式の解法の道具としての詳細はこちら、https://www.geogebra.org/m/twxxx3yq#material/jvqseryq
量子回路での利用の詳細はこちらhttps://www.geogebra.org/m/twxxx3yq#material/ctuvkbwm
「対称性」の視点
時間域 (Time) と 周波数域 (Frequency) の双対
時間軸で「1点に凝縮(局所化)」している信号は、フーリエ変換すると周波数軸では「全体に拡散(広域化)」します。逆に、時間軸で「一定の波(広がり)」は、周波数軸では「1点のスペック(デルタ関数)」になります。
「凝縮(1点)」と「拡散(全体)」が「フーリエ変換という自然変換」をはさんで、
完璧な双対(X と co-X)になっているのです!
「フーリエ変換(F)」と「逆フーリエ変換(co-F)」の対称性
時間を周波数に変える行為と周波数を時間に戻す行為は、数式の符号が反転するだけで、驚くほどそっくりな双子の関係にあります。
また、時間領域でギュッと狭まった鋭い波(パルス)は、周波数領域では広大な裾野(ホワイトノイズ)に広がるという「不確定性原理」も、このフロアの対称性が生み出す美しいトレードオフのドラマです。
「普遍性」視点
フーリエ変換の本質は、あらゆる複雑な波動関数を、
正弦波の無限和という最も無駄のない直交基底へと一意に分解する普遍的なコンテナの組み替えです。
情報を一切損なうことなく、別の表現空間へ最短距離でワープさせる構造がここにあります。
つまり、こうだ。
テイラー展開では多項式の直交基底で再表現、
フーリエ展開では正弦波の直交基底で再表現、
フーリエ変換では連続周波数の直交基底で再表現。
複雑な公式に見えるけれど、普遍性の視点で見たらフーリエ変換は直交分解に過ぎない。
ということだね。
2.フーリエと級数・変換
3Fの住人である「フーリエ変換」は
時間領域関数コンテナと周波数領域関数コンテナをつなぐ自然変換だ、という位置づけができた。
圏論、対称性、普遍性、この3つの視点で見たとき、正に圏論の花といえる存在に見えてくる。
それでは、「フーリエ変換ℱ」という解析の花と、
もとになった「フーリエ級数」を、数式として見てみよう。
そして、役割の美しさだけでなく、その有用性にまで分け入ってみよう。
<可換図式>
時間微分をダッシュ(')で表すことにする。
「可換図式」を数式化すると、「ℱ(f'(t)) = iωℱ(f(t))」たったの1行でかける。
もし2階微分すると、(iω)^2=-ω^2となるので、「ℱ (f''(t)) = -ω^2ℱ(f(t))」
つまり、
1階微分するごとにiωをかけて、
逆に積分するごとにiωで割るだけで変換ℱになる。
なんて簡単なんだろう!
<直交基底>
フーリエ級数f(x) = a0 /2+ Σ(an cos(nx) + bnsin(nx))では
基底1,cos(x),...cos(nx),..; sin(x),., sin(nx),.....が直交する。
計算は略しますが、内積にあたる積和∫_π^π dxをとると
cosどうし、sinどうし、sinとcosの異なる積和=0となるので、基底が直交するということ。
<フーリエ展開と偶奇和分解>
フーリエ展開だけでも面白いことがいろいろある。
f(x)=xを2π周期になるように[-π,π)で区切り、[π,3π)の範囲はf(x)を+2πスライドしたx-2πにする。そうすると、f(x)のフーリエ展開はf(0)=0=a_0の奇関数だから、b_n *sin(nx)の総和になるね。
部分積分をして計算すると、係数b_n =(sin(nx)・f(x))=1/π∫_-π^π x sin(nx) dx =2/n(-1)^{n+1}(n=1,2,3,...)
となる。だから、f(x)のフーリエ展開はf(x)=x=Σ2/n(-1)^{n+1} sin(nx)となるはず。
x=0のときもとの直線ではf(π-0)=π、f(π+0)=-πと分岐するけど、フーリエ展開ではその平均の0。
このように、「不連続点xでのフーリエ展開=極限値の平均1/2(f(x-0)+f(x+0))」になる。
任意の関数fは偶関数fEと奇関数fOの和にかけるf(x)=fE(x)+fO(x)としよう。
コトバの意味から、fE(-x)=fE(x),fO(-x)=-fO(x)だから、f(-x)=fE(-x)+fO(-x)=fE(x)-fO(x)
fO(x)だけ符号が判定するから、もとの偶関数と奇関数はもとの関数f(x)とf(-x)と使って
「fE(x)=1/2(f(x)+f(-x)), fO(x)=1/2(f(x)-f(-x))」と偶奇和分解からの再表現できるね。
この関数の「偶奇和分解からの再表現」の考えを使ってみよう。
-π,0,πで不連続で、- πとπの間を基本周期とする関数
f(x)=if(-π≦x<0、0, if(0≦x<π,1))のフーリエ展開を調べてみよう。
fに-xを入れるとy軸で反転して、f(-x)=if(-π≦x<0、1, if(0≦x<π,0))
f(x)=fE(x)+fO(x)と仮定すれば、fE(x)=1/2ピッタ (xがなんであれ)
fO(x)=if(-π<x<0、-1/2, if(0<x<π,1/2))で、原点対称の奇関数でfを1/2引いた式だね。
もとのf(x)はx=0で1だからfE(x)のフーリエ係数はa0=1,an=0,
fO(x)のフーリエ係数はbn=(sin(nx)・fO(x))=1/π∫_-π^π fO(x) sin(nx) dx
=2/π∫_0^π 1/2 sin(nx) dx=∫_0^π {1/π sin(nx)} dx
=[-1/nπ cos(nx)] _0^π ⇒2/π の奇数分の1倍だけが残る。(2/πの1/1,1/3,1/5,....倍)
だから、フーリエ展開はf(x)=1/2+2/π(sinx+1/3sin3x+1/5sin5x+....)となるね。
1/πの奇数倍のsinは1,-1を交互に繰り返すため、
ここで、x=π/2とすると、f(x)=1=1/2+2/π(1-1/3+1/5-....)となるね。
なんと、()の中の式の値は円周率を使った値
1-1/3+1/5-....=(1-1/2)÷2/π=π/4
となるね。
これはグレゴリー級数と名前がついているようだ。
調子にのって、他もやってみよう。
- πとπの間を基本周期とする関数f(x)=x^2。
a0=1/π∫_-π^π x^2 ・1 dx=2π^2/3,
bn=1/π∫_-π^π x^2 ・sin(nx) dx= 0 (非積分が奇関数)
an=1/π∫_-π^π x^2 ・cos(nx) dx=....=4/n^2 (-1)^n (n=1,2,..) 部分積分による。
これから、フーリエ展開f(x)=x^2=a0/2+Σbn ・cos(nx)
=(2π^2/3)/2 + Σ 4/n^2 (-1)^n cos(nx)
ここで、x=πとおくと、x^2=π^2となる。一方で、
(-1)^n cos(nx)はn=1なら(-1)^(-1)=1,n=2なら(-1)^2*1=1,n=3なら(-1)^3*(-1)=1,....と必ず1になる。
だから、f(π)=π^2=2π^2/3+4Σ 1/n^2=2π^2/3+4ζ(2)となるね。
ζ(2)=π^2*(1-1/3)/4=π^2/6 (バーゼル問題)
もっとやってみよう。
- πとπの間を基本周期とするf(x)=if(-π≦x<0,-x, if(0≦x<π, x))という偶関数のフーリエ展開。
a0=1/π∫_-π^π f(x)・1 dx=2/π∫_0^π x dx=π
bn=0
an=1/π∫_-π^π f(x) ・cos(nx) dx
=2/π∫_0^π x ・cos(nx) dx=2(-1)/πn^2{1-(1)^n}
⇒-4/π の奇数の平方分の1倍だけが残る。(-4/πの1/1,1/3^2,1/5^5,....倍)
これから、
f(x)=π/2-4/π(1/1 cosx+ 1/3^2 cos3x+1/5^2 cos5x+...)
x=0のとき、f(x)=0。
フーリエ展開でx=0とおくと、cosnx=1から、π/2-4/π(1/1 cosx+ 1/3^2 cos3x+1/5^2 cos5x+...)
1/1+1/3^2+1/5^2+...... = π/2÷4/π=π^2/8
級数がπを使った値になる式が量産できて楽しいですね。