アポロニウスのガスケット — 隙間に入る円は、四則演算だけで決まる
なにか
大小のコインを平らに詰めたとき、太いパイプの束の隙間に細いパイプを差すとき、泡が寄り集まったとき——「3つに接する円」はいつでもただ1つに決まる(アポロニウスの問題)。その円を入れると新しい隙間が3つできて、また入る。無限に続くこの詰め方がアポロニウスのガスケット。
この形の凄みは、円と円の交点を解かなくても隙間の円が出るところ。デカルトの円定理——4つが互いに接するとき曲率 k=1/r(包む円だけ符号を負に)が
さらに中心についても同じ形が成り立つ(複素数 z を中心として): (k₁z₁+…+k₄z₄)² = 2((k₁z₁)²+…+(k₄z₄)²)
——を k₄ について解くと k₄′ = 2(k₁+k₂+k₃) − k₄。中心も同じ式で出る。つまり足し算と引き算だけ。だから隙間を埋める作業は「4つの数の組を1つずつ入れ替えていく」ことに化ける。
円の大きさには「入れない番号」がある
出発を曲率 (−1, 2, 2, 3)(半径1の外円+半径1/2 が2つ+半径1/3)にとると、上の式は整数から整数を作るので、出てくる曲率は永久に整数のまま(中心の k·z もガウス整数のまま)=整数アポロニウス・ガスケット。丸め誤差ゼロで定理を検査できる。
そこで曲率を 20000 まで全部(164,255個)並べてみると、妙なことに気づく。24 で割った余りが 8 種類しかない: 2, 3, 6, 11, 14, 15, 18, 23。例外はゼロ。裏を返せば、余りが 0,1,4,5,7,… になる大きさの円はこの隙間には絶対に入れない。60以下で実際に現れない曲率を並べると 4 5 7 8 9 10 12 13 16 17 19 20 21 22 24 25 28 …。
「では許された余りの大きさは全部現れるのか」——これはlocal-global 予想と呼ばれ、長く信じられていたが 2023 年に反例が見つかった(Haag–Kertzer–Rickards–Stange)。円を詰めるだけの話が、いまも動いている数論につながっている。
分数の詰まり方が、円の詰まり方だった
驚くのは接し方の規則。p/q と r/s の円が接するのは |ps − qr| = 1 のときに限る——つまりファレイ数列で隣同士のとき。分母26までの213個・22,578組すべてで、幾何(中心距離=半径の和)と整数の条件(|ps−qr|=1)は1組も食い違わなかった。
「分数がどれくらい詰まっているか」を目で見る道具がこれ。円が大きい=分母が小さい=近似しやすい分数。そして黄金角が「いちばん近似しにくい数」であることは、この絵で言えばどの大きい円からも遠い場所にいるということだった。
どれくらい詰まっているのか
曲率 K 以下の円の数は N(K) ∝ Kδ で増える。この δ がガスケットの次元(円の集合のハウスドルフ次元)で、文献値は 1.3057。数えると 曲率3000まで で 1.294、20000まで で 1.2985、120000まで で 1.2999——有限で切ると必ず下から近づく(小さい円を数え落とすぶん傾きが甘くなる)。線(1次元)より詰まっていて面(2次元)にはならない、という中間の値。
★自分で動かす
下の絵はこの場で計算している(あらかじめ描いた絵の切り替えではない)。上の図を作っているのと同じ 1 本のコード gallery/assets/apollonian-live.js を、記事の中で呼んでいる。曲率の上限を上げていくと隙間が埋まっていくのに、デカルトの残差はずっと厳密に 0 のまま——整数だけで作っているからこうなる。
どう作ったか
四つ組を1つずつ入れ替える幅優先探索で、曲率が上限を超えたら止める。曲率と中心(k·z)を整数で持ち回すので、定理の検査は「引き算して 0 か」で済む。機械検査は12件: ①出発の四つ組でデカルトの2式が厳密に0 ②再帰で生まれた12,459個の四つ組すべてでも厳密に0 ③曲率と中心が164,256個すべて整数 ④24で割った余りが8種類だけ(例外ゼロ)⑤円が重ならない(最悪の食い込み 2×10⁻¹⁶=丸め誤差の底)⑥世代ごとの新しい円が 4·3g−1 ⑦次元 δ が 1.25〜1.32 ⑧フォード円の接触=ファレイ隣接(22,578組で食い違いゼロ)⑨記事のドラッグ版を偽DOMの上で実際に走らせる8項目(★曲率の上限を8通り動かしてもデカルトの残差がちょうど0で全部整数のまま/詰め込み指数が上限とともに文献値へ寄る=低いうちは届かないと正直に出る/見えない大きさで描かなかった円の数も出す)⑩出荷SVGとドラッグ版が同じ1本のコードを共有していること ⑪出荷SVG2枚。ドラッグ版の検査の実体は tools/apollonian-live-test.js。
出典
- 数理
- R. Descartes (1643) の円定理。中心についての複素数版は J. C. Lagarias, C. L. Mallows, A. R. Wilks, "Beyond the Descartes circle theorem", Amer. Math. Monthly 109 (2002) 338。整数ガスケットの mod 24 の制限と local-global 予想は R. Graham, J. Lagarias, C. Mallows, A. Wilks, C. Yan, "Apollonian circle packings: number theory", J. Number Theory 100 (2003) 1 ほか。2023年の反例は S. Haag, C. Kertzer, J. Rickards, K. Stange, arXiv:2307.02749(この反例そのものは当ギャラリーでは未検証・文献として置く)。フォード円は L. R. Ford (1938)
- 生成
- generators/apollonian.js(デカルトの2式による四つ組の入れ替え・曲率と中心を整数で保持・接触と重なりの判定・詰め込み指数のフィット・ガスケットとフォード円の作図。依存ゼロ・乱数ゼロ)ガスケットの数理は gallery/assets/apollonian-live.js に置き、出荷SVGの生成器と記事のドラッグ版が同じ1本を共有している