クラインの壺は4次元なら交差しない——と言われても信じられないので、4次元座標を持たせて実測した
約13分で読めます

クラインの壺は4次元なら交差しない——と言われても信じられないので、4次元座標を持たせて実測した


クラインの壺という有名な曲面がある。メビウスの輪が「裏表のない帯」だとすれば、クラインの壺は「内側と外側の区別がない閉じた曲面」だ。ガラス細工の模型を見たことがある人もいると思う。壺の首が伸びて、胴体を突き破って、底から内側に戻ってくるあれだ。

模型では首が胴体を突き破っている。ガラス同士が交差している。だが数学の本にはこう書いてある——「これは3次元で無理に作ったせいで、4次元空間なら交差せずに作れる」。

言われても信じられない。見えないのだから。そこで今回は、クラインの壺に実際に4次元座標 (x,y,z,w)(x, y, z, w) を持たせて、「3次元では交差する、4次元では交差しない」を距離の数値として測ることにした。前回のメビウスの輪の直系の続編である。

上の3D表示は、4次元のクラインの壺から第4軸wを捨てて3次元に落とした影だ。色がwの値を表す。ぐるぐる回してみると、青い面と赤い面が1本の稜線で交差しているのが見える。だが色が違うということは、4次元では離れているということだ。交差は影の上でだけ起きている。

実験に使ったコードの全文はGitHubに置いています

4次元のクラインの壺を作る

クラインの壺には、きれいな4次元パラメータ表示がある。

x=(R+rcosv)cosuy=(R+rcosv)sinuz=rsinvcos(u/2)w=rsinvsin(u/2)\begin{aligned} x &= (R + r\cos v)\cos u \\ y &= (R + r\cos v)\sin u \\ z &= r\sin v \cos(u/2) \\ w &= r\sin v \sin(u/2) \end{aligned}

uu が輪に沿った位置、vv がチューブ周りの位置で、どちらも一周 2π2\pi。今回は R=2,r=1R=2, r=1 とし、微小ノイズを乗せて2400点サンプルした。

前半の x,yx, y はトーラス(ドーナツ)と同じで、違いは zzww に入っている u/2u/2 だ。uu が一周すると u/2u/2 は半周しかしないので、チューブの断面が (z,w)(z, w) 平面の中で半回転して貼り合わさる。メビウスの輪を作るときに帯を半回転ひねったのと同じ仕掛けである。対照実験にはトーラスを使う。同じ R,rR, rz=rsinvz = r\sin vww は恒等的に0。つまりトーラスは最初から3次元に収まっていて、第4軸を必要としない。

ここで ww を捨てて (x,y,z)(x, y, z) だけにしたものが、冒頭の3D表示だ。

上段: クラインの壺の3次元射影を斜め上から見た点群。色は捨てた第4軸wの値(青がプラス、赤がマイナス)で、ドーナツ状の面の内側に赤い面が入り込んでいる。下段: 真横から見た図。外側の青い面と内側の赤い面が左端のu=πの稜線に向かって収束し、そこで互いにすれ違って交差している

真横から見ると、外側の面(青)と内側の面(赤)が u=πu=\pi の位置で1本の線に集まり、そこですれ違っているのが分かる。ガラス模型で首が胴を突き破るのと同じことが、この射影では u=πu=\pi で起きている。

「交差している」を数値にする

「交差している」を絵ではなく数値で言うために、こう測った。

  1. 4次元座標のkNNグラフ(k=10)で、表面に沿った距離(測地距離)を全点対について計算する
  2. 表面上で2.0以上離れている点対だけを取り出す(約240万組)。表面上で遠い点同士が空間内で接触していたら、それは自己交差だ
  3. その点対の空間内での最近接距離を、3次元射影と4次元とで比べる

結果がこれだ。

3段組の図。上段: 各点から表面上で遠い点までの最近接距離をuに沿ってプロットした散布図。トーラス(青)とクラインの壺4次元(緑)は全域で1.5前後を保つが、クラインの壺の3次元射影(オレンジ)だけがu=πに向かってV字型に落ち込み、ほぼ0まで落ちる。中段: 3条件の棒グラフ。トーラス3次元は最近接1.407で接触0件、クラインの壺3次元射影は最近接0.035で接触8件、クラインの壺4次元は最近接1.351で接触0件。下段: 点数Nを600から4800まで増やしたときの最近接距離の対数プロット。3次元射影は0.093から0.023へ下がり続け、4次元は1.0〜1.2で下げ止まる

条件遠い点対の最近接距離接触(<0.1)の数
トーラス (3次元)1.4070件
クラインの壺 (3次元射影)0.0358件
クラインの壺 (4次元のまま)1.3510件

3次元射影だけ、表面上で遠いはずの点対が距離0.035まで接近していた。これは点群の最近傍距離の中央値(0.086)より小さい。つまりサンプルの解像度いっぱいまでゼロということだ。接触していた8組の点対はすべて u=π±0.07u = \pi \pm 0.07 に集中していて、射影の稜線とぴったり一致する。

「本当にゼロに向かうのか」を確かめるため、点数を600から4800まで増やしてみた(図の下段)。3次元射影の最近接距離は0.093→0.023と下がり続ける。真の交差があるから、密に測るほどゼロに近づく。一方4次元のままだと1.0〜1.2で下げ止まる。いくら密にサンプルしても、それ以上は近づかない。

面白いのはここからだ。3次元で接触していた8組の点対の、4次元での距離を測ると最小1.557、平均1.834あった。理論上、この距離は 2rsinv2r|\sin v| になるはずで、実測値との差は最大0.056。3次元の影の上でぶつかって見える2点は、第4軸方向に1.5以上も離れたところを平然とすれ違っている。カーネルトリックの回で「2次元で分離できないデータが3次元に持ち上げると分離できた」のを見たが、あれと同じことが1つ上の階で起きている。3次元で解けない交差は、4次元に持ち上げると解ける

次元削減で2次元に展開したら

シリーズの流儀に従って、逆方向もやる。4次元のクラインの壺を、次元削減で2次元まで潰したら何が起きるか。スイスロールは展開に成功し、メビウスの輪は表裏の反転という継ぎ目を残した。クラインの壺は閉曲面なので、原理的に平面には広げられない。4手法(PCA / Isomap / LLE / t-SNE)に、あえてこの無理な仕事を頼んでみた。

2行4列の図。上段がトーラス、下段がクラインの壺を、PCA・Isomap・LLE・t-SNEで2次元化した結果。色はチューブ周りの位置cos v。PCA/Isomap/LLEはどちらの曲面も同じようなドーナツ型の輪を出力し、輪の復元は0.998以上、偽近傍率は18〜20%。t-SNEだけは輪が細かい断片に千切れており、偽近傍率は0.0%

予想外の結果だった。トーラスとクラインの壺の出力が、見た目も数値もほぼ区別がつかない

  • 輪に沿った位置の復元度は全手法0.97以上(PCA/Isomap/LLEは0.998以上)
  • PCA/Isomap/LLEの偽近傍率(埋め込みで近いのに表面上では遠い点の割合)は、トーラス18.4〜19.4%、クラインの壺19.4〜20.2%
  • t-SNEだけ偽近傍率0.0%。そのかわり輪が紙吹雪のように千切れている

PCA/Isomap/LLEがやったのは「上から見た影」だ。チューブを半径方向に押し潰すので、チューブの手前側と奥側が重なって偽近傍が2割生まれる。これは閉曲面ならトーラスでも起きる。つまり2次元展開で観測できたのは「閉じている」ことのペナルティだけで、クラインの壺の売りである向き付け不可能性は、指標のどこにも現れなかった。メビウスの回では「切る/重ねる/潰す」という嘘の3分類が見えたが、今回の主戦場でアルゴリズムが払った代償は「重ねる」(PCA/Isomap/LLE)と「切る」(t-SNE)で、壺もドーナツも同じ扱いだった。

ついでにIsomapに3次元を許してみた(4次元→3次元)。出力の中で遠い点対の最近接距離は0.027まで落ち、19組が接触していた。3次元しか与えなければ、Isomapもやはり交差(接触)を作るしかない。ただし接触の場所は u=πu=\pi ではなく輪のあちこちに散っていた。ww を捨てる射影とは別の嘘のつき方で3次元に収めている。

では「向き付け不可能」はどこに現れるのか

白状すると、ここで一度失敗している。前回のメビウスの輪と同じ「表裏の一致度」を測ろうとして、壺からチューブ座標 v<0.7|v| < 0.7 の帯を切り出してIsomapで展開したのだが、この帯は前回の平らな帯と違って曲率を持っているため、Isomapは表裏を語る前に帯の幅ごと潰してしまった。一致度の反転回数はトーラス帯16回・クライン帯14回、|一致度|の平均は0.2前後——どちらもただのノイズで、測定として成立しなかった。

そこで、埋め込みに頼らないトポロジーの測定に切り替えた。両方の曲面を、同じ場所——チューブの「赤道」にあたる v=±π/2v = \pm\pi/2 の2本の円周——で切る。切り口の点群のkNNグラフを作り、連結成分の数と各成分の周長を数える。

縦に2段並んだ3D図。上段: トーラスを v=±π/2 で切った切り口。青とオレンジの2本の独立した円が上下に平行に並んでおり、それぞれ長さ12.8。下段: クラインの壺(3次元射影)の切り口。始点からの道のりを表すグラデーションで彩色された1本の曲線が、8の字を描くように2周してつながっており、長さは26.8。背景には元の曲面の点群が薄く表示されている

曲面切り口の本数周長
トーラス2本12.8 / 12.8
クラインの壺1本26.8 (≒2倍)

トーラスの切り口は素直に2本の円(理論値 2πR=12.572\pi R = 12.57)。ところがクラインの壺では、2本の円で切ったはずの切り口が1本につながっていて、長さが2倍ある(理論値25.91)。uu が一周すると vv の符号が反転して貼り合わさるので、v=+π/2v=+\pi/2 の円の終点が v=π/2v=-\pi/2 の円の始点に接続してしまうのだ。

これはメビウスの輪の縁をなぞると1本につながっているのと同じ現象で、偶然ではない。実はこの切り方で壺は2つの帯に分かれ、そのそれぞれがメビウスの輪になっている。「クラインの壺はメビウスの輪2枚を縁で貼り合わせたもの」という教科書の一文が、連結成分数「1」という素っ気ない出力として返ってきた。

手を動かして意外だったこと

第一に、2次元展開の指標では、クラインの壺はトーラスと区別がつかなかったこと。向き付け不可能という派手な性質は、偽近傍率にも復元度にも現れず、「切り口が1本か2本か」という離散的な数にだけ現れた。連続的な指標をいくら眺めても見えないものが、トポロジーの数え上げでは一発で見える。穴あきスイスロールの回から数えて、「よく使う指標が構造の違いを素通しする」のはこれで4回目だ。

第二に、Isomapに3次元を与えたときの挙動。ww を捨てる射影は u=πu=\pi の1箇所で潔く交差するが、Isomapは測地距離の帳尻を優先して、接触をあちこちに分散させた。同じ「3次元に収める」でも、どこで嘘をつくかはアルゴリズムの設計思想で決まる三つ葉結び目の回で、たった1本の偽のつながりがIsomapを壊したのを見た。今回は逆に、Isomapが自分から偽のつながりを作る側に回った。

最後に、いちばん拍子抜けした事実。4次元の実験は、コードの上では3次元とほとんど何も変わらない。配列の列が1本増え、距離の二乗和に項が1つ増える。それだけだ。人間には想像できない「4次元空間」も、numpyにとっては shape=(2400, 4) にすぎない。想像できないことと計算できないことは、まったく別なのだった。

まとめ

  • クラインの壺を4次元座標 (x,y,z,w)(x,y,z,w) で2400点生成し、「3次元では自己交差、4次元では交差しない」を距離で実測した
  • 表面上で2.0以上離れた点対の最近接距離は、3次元射影で0.035(サンプル間隔以下=事実上の交差、u=πu=\pi に集中)、4次元のままなら1.351。点数を8倍にしても3次元射影は0へ向かい、4次元は1.2前後で下げ止まる
  • 3次元で接触している点対は、4次元では平均1.83離れてすれ違っている(理論値 2rsinv2r|\sin v| と誤差0.06以内で一致)
  • 2次元への次元削減では、トーラスとクラインの壺は見た目も指標もほぼ同じ壊れ方をした(偽近傍18〜20%、t-SNEのみ0%で代わりに断片化)。向き付け不可能性は連続指標に現れない
  • 向き付け不可能性が現れたのは切り口のトポロジー: v=±π/2v=\pm\pi/2 の2本の円で切ると、トーラスは2本(長さ12.8×2)、クラインの壺は1本につながった長さ2倍の円(26.8)——壺がメビウスの輪2枚でできている証拠