院生のための算数入門(最終回 10) 無限次元

[mixi 2007-07-16 再掲時に修正]

関数を無限次元空間の要素としてみる,というのが線形代数の親玉「関数解析」の考え方である.こうすることでフーリエ級数とか微分方程式積分方程式幾何学的に考えられてわかりやすくなるのがミソである.

***

「無限次元の関数空間」という考え方が,それ自体驚くようなことか,というのは立場によるだろう.

計算機で何かをやる,という立場では,ある曲線(関数)を表現する一番簡単なやり方は,関数値の表をおぼえておくことである.たとえば,0と1の間で定義された関数で,0.1刻みで11個の値を表にしておくなら10次元空間,0.001刻みで1001個なら1001次元空間のベクトル(=表)になるわけだ.

その極限を考えれば,もとの曲線や関数が無限次元だというのは別にびっくりするようなことではない.この意味では積分方程式というのは,連立1次方程式と少しも変わらないことになる.

***

一方,関数というのを sin, cos, logとか多項式のような数式だと思うと,これらが無限次元空間のベクトルだという考え方には,すごく飛躍があり,はじめて聞いた人は驚くかもしれない.

この立場で興味があるのは,いままでそう思わずに使ってきた「公式」が無限次元空間で幾何学的な意味を持つか,ということであるが,まさにそういう例が沢山あったので,「関数解析」の考え方がうけたのである.

一番有名なのは,波を周波数成分に分解する「フーリエ展開」が関数空間の「直交基底」による展開として理解できるという話だろう.そのときに基本となる式は

∫sin(mx)sin(nx)dx=0
∫sin(mx)cos(nx)dx=0
∫cos(mx)cos(nx)dx=0

(ともに積分は定積分積分範囲は0から2π,mとnは等しくないとする)

である.これらは大学受験の数学の範囲で計算できる.

一方,3次元での内積は,(p,q,r)と(a,b,c)の内積pa+qy+rzというように成分ごとに掛けて足すことで定義され,内積がゼロならベクトルは直交することになる.そこで,上の積分を和の極限だと思うと「関数値を表であらわしたベクトルの内積」に相当し,上の公式は,たとえば「m とnが等しくないならsin(mx)とsin(nx)は無限次元空間のベクトルとして直交する」という風に読めることになる.

そして,ピタゴラスの定理や射影からもとの関数を復元する式が成り立ち,フーリエ展開の基本的な公式が再現されるのである.

***

関数解析」を少し習うと,関数空間というのがいろいろあるので悩むかもしれない.有限次元の線形代数のときは,N次元空間に何種類もあるなどということは,ふつう強調されないからだ.

しかし,実際には,ベクトルの間の距離というのはいろいろある.XとYの距離を「X−Yの大きさ」(ノルム)と定義することも多いが,大きさにもやはりいろんなものが考えられる.

平面の2点間の距離は,普通はピタゴラスの定理で,2乗して足して平方根を取って定義されるが,碁盤の目のような道路網の世界では,むしろ南北の距離と東西の距離の和のほうが適切だろう.また,碁盤の上での運賃が距離が増えると急激に増す世界なら,南北の距離と東西の距離の大きいほうを2点間の距離と定義するのが便利かもしれない.

電気屋さんに行くと100V用の電球と110V用の電球を売っている(ごく最近になって110V用はなくなったかもしれない).家庭に来ている交流は100Vということになっているが,それは「大きさ」を各時刻の電圧を2乗した曲線の下の面積から決めた場合である.これが電力料金を決めるときの「関数の大きさ」である.ところが,スイッチを入れた瞬間など,一瞬だけスパイク的に電圧があがることがあり,その程度は環境や家によってさまざまである.電球が切れるかどうかは,こちらの「大きさ」によっている.それで,100V用の電球と110V用の電球があるわけだ.

***

そういうわけで,「ベクトルの間の距離」やその元になる「ベクトルの大きさ」には,有限次元であろうと無限次元であろうと,いろんなものがある,という認識がまず必要である.

それでは,なぜ,無限次元の関数空間の場合だけ,その違いを特にうるさくいうのだろうか.それは,無限次元の場合に限って,ある距離では収束しても,別の距離では収束しない,ということが起こるからである.

極端なことをいうと,2本の曲線の間の面積でその間の距離を定義したとすると,1点,2点,有限個の点だけで関数の値が違っても,収束したことになってしまう.連続的な曲線に限っても,ある点の周辺の狭い範囲だけでずれが生じていて,それがだんだん狭くなるが,ある点でだけは最後までずれている,というようなケースが可能である.

2本の曲線の間の面積を使う距離は,実は関数の間というより関数の同値類の間の距離になっているが,感じはわかると思う.微積分で習う一様収束と各点収束の違い,というのも参考になるだろう.

***

このように,無限次元では違う,という話をされると,関数=数式派の人はよいとして,計算機派の人は当惑するかもしれない.100次元でも1000次元でも1億次元でも成り立つことが,無限次元では成り立たないというのは変ではないか.

これについては,いくつかの考え方が可能である.

まず,成り立つ程度,ということがある.収束というのは定性的すぎる概念で,どこまで先までの項を考えたらどの程度の誤差で,という定量的な部分は捨象されてしまっている.それを考えると,100次元より1億次元のほうが「結局は成り立つがずっとつらい」ということが出てきて,その極限として「無限次元では成り立たない」ということが理解できるはずだ.

それから,100分割,1000分割,1億分割,と増やしていく部分に,極限操作が含まれているが,これは収束の定義に出てくる極限操作とは別のものである.「有限次元では成り立つ」というときは,前者を有限の特定の値に留めておいて,後者の極限を考えているのである.もし,両方の極限の順番が混じり合っていたら,話が違ってくるかもしれない,ということが「無限次元ではだめ」ということの意味だとも考えられる.より具体的には,計算中に分割数を随時増やす,という状況を考えてもいいかもしれない.

最後に,実際は有限次元の場合だって距離によって話は違うのであって,「収束するかしないか」という定性的な面のみに注目したときに,距離によらない,ということになるのだということが,当たり前だが重要である.

現代的な数学では,まず最初に定性的で普遍的な面に着目することが多い.また「無限を含む実体」を最初に構成することで,問題ごと場面ごとの具体的な極限操作を回避する傾向がある.これらは証明や構成を大幅に透明にするが,応用数学,とくにデータ解析などのセンスとはずれが生じることもあり,そのギャップは各自が自分で考えて埋めていく必要がある.

***

余談だが,超関数で有名なシュワルツの自伝によると,彼は4次元以上の「有限次元の空間」というのを学校ではいちども習わなかったそうだ.いきなり無限次元のバナッハ空間を習ったが問題なく理解できたらしい.

ここに「関数解析」が「線形代数」の後でなくむしろ並行にできた名残りをみるか,それともフランス人の抽象頭脳に驚くか,さすがシュワルツと思うが,変なの,と思うか,いろいろ考えられるだろう.