tsujimotterのノートブック

日曜数学者 tsujimotter の「趣味で数学」実践ノート

リーチ格子とキャノンボール問題

24 にまつわる「リーチ格子」と「キャノンボール問題」の興味深い関係について紹介します。

イントロ

接吻数問題 という問題を覚えていますか?

簡単に思い出すと、接吻数問題とは「 n 次元の空間に同サイズの球体を詰め込む(sphere packing)ときに、1つの球体の周りに接する球体の個数の最大数はいくつか?」という問題です。

詳しく知りたい人はこちらの記事をどうぞ。
tsujimotter.hatenablog.com


接吻数問題は特定の次元  n については解決しています。現時点で接吻数がわかっているのは、 n = 1, 2, 3, 4 と飛んで  n = 8, 24 のときのみ。こういう話を聞くと

「なぜ  n = 8, 24 は解決しているのか?」

ということがとても気になってくるでしょう。

 n = 24 のときは リーチ格子 と呼ばれる とてもよい格子たまたま あって、格子の各点を中心とする球体を置いていけば自然と密度の高いパッキングが実現できるというわけです。これが上の記事で紹介したことでした。


ところで 24 といえば、こんな面白い話もありました。
tsujimotter.hatenablog.com

ピラミッド状に球体を並べていくと、その個数の式はピラミッドの段数を  n として  1^2 + 2^2 + 3^2 + \cdots + n^2 という形でかけるのですが、その個数がたまたま平方数になる場合は  n がいつのときかという問題です。式で書くと

 1^2 + 2^2 + 3^2 + \cdots + n^2 = M^2 \tag{1}

を満たす正整数  (n, M) の組を求めよという問題ですね。これを キャノンボール問題 というのでした。

 n = 24 のときに上の式は解を持つのですが、興味深いことに キャノンボール問題を満たす(非自明な)  n は 24 だけ であることが示されています。すなわち、 n = 24 のとき

 1^2 + 2^2 + 3^2 + \cdots + 24^2 = 70^2 \tag{2}

という式が成り立ちます。


さて、ここまで 24 に関する2つの話題をお話してきました。両者は「24」という共通のキーワードを持つものの、一見するとそれぞれには関係性などはなく、まったく独立な現象に見えます。


ところがです。なんと面白いことに、リーチ格子とキャノンボール問題には関係があります。より具体的にいうと、キャノンボール問題の式  (2) を使ってリーチ格子が構成できる のです!

なんということでしょう!!!

たしかに、以前の記事ではリーチ格子の構成にまでは踏み込んで解説しませんでした。まさかそんなところでつながるなんて。


というわけで今日は、キャノンボール問題の式を使ったリーチ格子の構成法について、私が勉強して理解した範囲で紹介したいと思います。


きっかけは仮面ライダービルド

キャノンボール問題とリーチ格子の関係を知ったきっかけは、仮面ライダービルドでした。

仮面ライダービルドという番組では、各回の冒頭でその話数を特徴付ける数式が紹介されます。たとえば、6話だったら  6 = 1+2+3 のような感じですね(約数の和が自分自身に一致するから完全数)。tsujimotterも毎回どんな式が来るのか予想して楽しんでいました。

24話ではキャノンボール問題が取り上げられ、式  (1) を満たす  n 24 という感じで紹介されました。ここまでは私もブログを書いていたので想定の範囲内でした。

ところがです。ここからが驚きの展開でした。話数の数式を監修されている方(シータさん)がTwitterをやっていて、各回の話数の数式の解説をされています。問題の24話のときのツイートがこちらでした。

この先のツイートでも解説が続きます。興味ある方は読んでみてください。

シータさんの解説には、キャノンボール問題の式を使ってリーチ格子が構成できるということが書いてありました。上の2つの記事を書いていた当時は、両者の間に関係があるなど思いもよらないことだったので、tsujimotterはこのツイートを読んで大変驚きました。シータさんのツイートに、tsujimotterのノートブックの記事が2件とも引用されていたにもかかわらず、書いた本人が両者の関係に気づいていなかったのです。


早速シータさんに質問のリプライを送り、参考文献を尋ねました。以下の記事を教えていただきまして、この記事は大変参考になりました。

Leech lattice | Complex Projective 4-Space

そんなわけで、シータさんに教えていただいたことを元に、自分なりに勉強した成果をまとめようというのがこの記事の趣旨です。


なお、上の記事だけではわからない部分もあったので、Conwayの以下の本も参照することにしました。何かがきっかけでこの本の存在を知ったはずなのですが、どうやって見つけたかは忘れてしまいました。

タウンページみたいな分厚い本ですが、今回のために頑張って解読を試みました。今回の記事に関連する章は Chapter 24 "Lorentzian Forms for the Leech Lattice" です。

Sphere Packings, Lattices and Groups (Grundlehren der mathematischen Wissenschaften)

Sphere Packings, Lattices and Groups (Grundlehren der mathematischen Wissenschaften)


リーチ格子の構成法(2つ)

今回の記事の目的はリーチ格子の構成法です。リーチ格子の構成法には、有名な方法が2つあるので、まずそのことについて触れておきましょう。

1つめが、ゴレイ符号(Golay code)を使う方法です。一般に、空間に密度が高くパッキングできる格子があれば、それを符号の空間に対応づけることで効率のよい誤り訂正符号ができます。リーチ格子の場合は歴史の順序が逆で、効率の良いゴレイ符号という誤り訂正符号が先に発見されて、そこからリーチ格子が構成されたという経緯のようです。シータさんのツイートによれば、ゴレイ符号は惑星探査機ボイジャーの通信にも使われたそうです。

今日紹介したいのは2つめの方法で、26次元ローレンツ格子(Lorentzian lattice)を用いた方法です。これが、本題のキャノンボール問題を使ったリーチ格子の構成法になっているのです。この方法ではまず、24 次元より少し大きな 26 次元の空間を定義します。26次元の空間上の格子を考え、これがローレンツ格子なのですが、そこから2次元落としてリーチ格子を構成します。シータさんのツイートによると、初期のひも理論が26次元空間の理論だったのは、この26次元のローレンツ格子に関係があるのだとか。

ローレンツ格子(Lorentzian lattice)

 \mathbb{R}^{n, 1} という空間を考えます。これは全体としては  n+1 次元のベクトル空間なのですが、内積の入れ方が最初の  n 次元と最後の  1 次元で少し異なります。

 \mathbb{R}^{n, 1} の任意のベクトルを  x = (x_0,x_1, \ldots, x_{n-1} \mid x_{n}) と表します。最初の  n 次元と最後の  1 次元で意味が変わることを考慮して、仕切りの記号  \mid を入れています。このとき、 x, y \in \mathbb{R}^{n, 1} に対して次のような内積を入れます。

 x \cdot y := x_0 y_0 + x_1 y_1 + \cdots + x_{n-1} y_{n-1} - x_{n} y_{n}

最後の次元だけ、符号にマイナスがついていることに注意しましょう。 (+, +, \cdots, + \mid -) というような構造になっていますね。

内積が定義されたらノルムも定義できます。 x \in \mathbb{R}^{n, 1} のノルムを  N(x) と書くことにすると、 N(x) は次で定義されます。

 N(x) := x \cdot x \; \left(= x_0^2 + x_1^2 + \cdots + x_{n-1}^2 - x_{n}^2\right)

こんな不思議な内積を入れて・・・と思ったかもしれません。一方、このような空間は物理ではしばしば考えたりするそうです。

たとえば  n = 3 としましょう。これは、特殊相対性理論で用いられるミンコフスキー空間に似ていますね。ミンコフスキー空間の座標は、3次元の空間を表す座標  x, y, z と時間を表す変数  w の4変数によって決定されます。空間の距離を表すのに「計量」と呼ばれる量  ds^2 が計算されますが、ミンコフスキー空間の計量は

 ds^2 = dx^2 + dy^2 + dz^2 - dw^2

となっていて、先ほどのノルムと同じ符号のつけ方になっています。

実際、 \mathbb{R}^{n, 1} においても、物理のアナロジーからか

  • 最初の  n 次元の座標を "space-like coordinates"
  • 最後の  1 次元の座標を "time-like coordinate"

というそうです。

また、 ds^2 = 0 つまり

 dx^2 + dy^2 + dz^2 = dw^2

なる経路は特殊相対性理論では光の通過する経路になりますが、 \mathbb{R}^{n, 1} においても  N(x) = 0 なるベクトルを "light-like vector" というそうです。

私も混乱したのですが、物理的な背景を知らないとこのような用語のつけ方は意味不明に感じてしまいますね。


さて、ここで今定義した  \mathbb{R}^{n, 1} 上の格子(lattice)を考えますが、一旦用語を整理しましょう。

  • 格子  \Lambdaintegral x, y \in \Lambda に対して  x\cdot y \in \mathbb{Z}
  • 格子  \Lambdaunimodular \Lambda の基底ベクトルを  v^{(0)}, v^{(1)}, \ldots, v^{(n)} としたとき、グラム行列  (v^{(i)} \cdot v^{(j)}) の行列式が  \pm 1
  • 格子  \Lambdaeven:任意の  x = (x_0, \ldots, x_{n-1}\mid x_n) \in \Lambda に対して  \sum x_i  \in 2\mathbb{Z}
  • 格子  \Lambdaodd:任意の  x = (x_0, \ldots, x_{n-1}\mid x_n) \in \Lambda に対して  \sum x_i  \in 2\mathbb{Z}+1


ここで、 \mathbb{R}^{n, 1} の integral unimodular な格子については、実はよく整理されていて、非常にわかりやすい分類があります。

  •  \operatorname{I}型格子:任意の  n に対して、 \mathbb{R}^{n, 1} のodd unimodular格子は存在して一意に定まる
  •  \operatorname{II}型格子: n \equiv 1 \pmod{8} なる正整数に対して、 \mathbb{R}^{n, 1} のeven unimodular格子は存在して一意に定まる

これらの格子を総称して ローレンツ格子(Lorentzian lattice) と呼びます。前者の格子を  \operatorname{I}_{n, 1}、後者の格子を  \operatorname{II}_{n, 1} と名前をつけておきましょう。


今回興味があるのは、特に  n = 25 のときです。 n \equiv 1 \pmod{8} を満たすので、evenなunimodular格子  \operatorname{II}_{25, 1} が存在します。

なお、 \operatorname{II}_{25, 1} の特徴としては、各座標が整数か半整数であり、(evenより)座標の総和が偶数になります。

 \text{II}_{25,1} を用いたリーチ格子の構成法

 x \in \mathbb{R}^{n, 1} に対して

 x^{\perp} := \{ y \in \mathbb{R}^{n, 1} \mid x \cdot y = 0 \}

で定義される部分空間を考えましょう。 x との内積が 0 ということですから、 x に「直交する」ベクトルを集めた  \mathbb{R}^{n, 1} の部分集合ということですね。

 x に直交するベクトルの中で、特に格子  \Lambda \subset \mathbb{R}^{n, 1} 上の点に限定したい場合は

 x^{\perp} \cap \Lambda

のように集合としての共通部分をとればいいですね。この空間は、integral unimodular な  n 次元の(ユークリッド)格子になります。内積の条件をつけたことで、 n+1 次元から1個次元が落ちたことに注意しましょう。


続いて、"isotopic vector" というものを考えます。これは「ヌルベクトル」とも呼ばれるものですが、 N(u) = 0 を満たす  u \in \mathbb{R}^{n, 1} のことです。要するにノルム0のベクトルです。物理っぽく言うなら "light-like vector" でもいいでしょう。

さて、isotopic vector  u \in \Lambda とするとき、 u \mathbb{Z} 上生成する  \Lambda の部分格子を  \langle u \rangle とします。つまり、 \langle u \rangle = \mathbb{Z}u ということですね。

このとき、 u^{\perp} \cap \Lambda \langle u \rangle で割った商空間

 (u^{\perp} \cap \Lambda) / \langle u \rangle

を考えます。これはより簡単に

 (u^{\perp} \cap \Lambda) / u

とも表記することがあります。これはベクトル  x \in u^{\perp} \cap \Lambda に対して、  \lambda \in \mathbb{Z} として  \lambda u なるベクトルを  x に足したり引いたりしたものを同一視した空間ということです。この同一視によって、さらに1次元落ちて、integral unimodular な  (n-1) 次元の(ユークリッド)格子になります。

ちょっとした注意ですが、 u はノルム 0 なので、 u\cdot u = 0 が成り立ちます。したがって、 u^{\perp} u 自身と  u の生成するベクトルが含まれることに注意します。


さて、このような商空間  (u^{\perp} \cap \Lambda) / \langle u \rangle を考えたときに、その元  x + \langle u \rangle, \; y + \langle u \rangle に対して内積が矛盾なく定義できることを示しましょう。

 x, y \in u^{\perp} に対して、 \lambda, \mu \in \mathbb{Z} として

 (x + \lambda u) \cdot (y + \mu u)

という式を考えましょう。計算すると

 \begin{align} &(x + \lambda u) \cdot (y + \mu u) \\ 
& = x\cdot y + \lambda y \cdot u + \mu x \cdot u + \lambda \mu u\cdot u \\
& = x\cdot y \end{align}

となります。計算の途中で、直交性  x \cdot u = 0, \; y \cdot u = 0 やisotropicの条件  u \cdot u = 0 を使いました。

これにより、内積は  u^{\perp}/u に対してwell-definedであることがわかりました。同様に  (u^{\perp} \cap \Lambda)/u に対してもwell-definedに定まります。


これで準備が整いました。 n = 25 として、26次元ローレンツ格子  \operatorname{II}_{25, 1} を考えましょう。上で述べたように  \operatorname{II}_{25, 1} 自身は even unimodular な格子になります。

 \operatorname{II}_{25, 1} の元として、isotropic vector(つまりノルム 0 のベクトル)を一つとりましょう。それが次のベクトルです:

 w = (0, 1, 2, \ldots, 24 \mid 70)

これをワイルベクトル(Weyl vector)というそうです。ワイルベクトル  w のノルムが 0 であることは、以下のように確認できます。

 N(w) = w \cdot w = 0^2 + 1^2 + 2^2 + \cdots + 24^2 - 70^2 = 0

計算の途中で出てきた

 0^2 + 1^2 + 2^2 + \cdots + 24^2 - 70^2 = 0

という式。どこかで見覚えはないでしょうか。

そう、キャノンボール問題の  n = 24 の解 ですね!式  (2) は、26次元ローレンツ格子にisotropic vectorが存在することを示すのに使えるのです! n = 24 でないと同じようにはいきませんね。


さて、あとはリーチ格子を構成するだけです。 w に直交な格子点  w^{\perp} \cap \operatorname{II}_{25,1} を考えて、さらに  w で割った商空間

 (w^{\perp} \cap \operatorname{II}_{25,1}) / \langle w\rangle

を考えます。あとに述べるように これがまさにリーチ格子の構成になっている というのが今回の結論です。


もう一つ リーチルート(Leech roots) という概念を導入しましょう。リーチルートとは

 r \cdot r = 2, \;\;\; r \cdot w = -1

を満たすベクトル  r \in \operatorname{II}_{25,1} のことです。


それでは、本日の主定理を紹介しましょう。

定理(参考文献 [1, Chapter 26, Theorem 3])
(a) リーチルート全体の集合は,リーチ格子の各点と1対1対応する.この対応関係は,以下で定義されるメトリックに対する等長写像(isometry)になっている:
 d(r, s)^2 = N(r - s)

(b) さらに, (w^{\perp} \cap \operatorname{II}_{25,1}) / \langle w\rangle もリーチ格子のコピーになっている.


実をいうと、証明はまだ理解できていないのですが、理解できた(と思われる)ところをかいつまんで説明します。

まず、 (w^{\perp} \cap \operatorname{II}_{25,1}) / \langle w\rangle は上で述べたように integral unimodular lattice です。

ここで   \mathbb{R}^{25, 1} 内の超平面

 H := \{ s \in \mathbb{R}^{25, 1} \mid s \cdot w = -1 \}

を定義します。この  H w^{\perp} を変換したものになっています。

 H の各点を  s_0, s_1, \ldots, s_i, \ldots とすると
 (s_i - s_0) \cdot w = s_i \cdot w - s_0 \cdot w = -1 - (-1) = 0

となります。したがって、 s_i \in H に対して  (s_i - s_0) \in w^{\perp} を対応させることができます。

任意の  s \in H について、 \lambda \in \mathbb{Z} に対して

 \begin{align} (s + \lambda w) \cdot  (s + \lambda w) &= s\cdot s + 2\lambda s \cdot w + \lambda^2 w\cdot w  \\ 
&= s\cdot s - 2\lambda \end{align}

が成り立ちます。( s \cdot w = -1, \; w\cdot w = 0 を使いました。)

 s \in H \cap \operatorname{II}_{25, 1} に対して  s \cdot s は偶数であり、 \lambda \in \mathbb{Z} は任意にとれることから、 s + \lambda w のノルムが  -2 になるように  \lambda を一意的に定めることができます。ノルムが  -2 なる  s \in H \cap \operatorname{II}_{25, 1} はリーチルートなので、リーチルート全体の集合を定めます。このようにリーチルートの集合は、 (w^{\perp} \cap \operatorname{II}_{25, 1})/\langle w \rangle のコセット分解の表現になっています。

リーチルート全体の集合に対して、" A_{24} hole diagram" を含むようなリーチルートの集合を埋め込むことができます *1

よって、 (w^\perp \cap \operatorname{II}_{25, 1})/\langle w \rangle がリーチルートのコピーであることが示されました。

おわりに

今日は、リーチ格子の構成法が、実はキャノンボール問題の式と関係するという素敵なお話を紹介しました。

24次元リーチ格子は、26次元のローレンツ格子から2次元落として構成される。次元を落とすにあたって、ワイルベクトルという「ノルム0」のベクトルが必要になる。これのベクトルが「ノルム0であること」を示すのに、ちょうどキャノンボール問題の式が使えるということなのでした。いうならば、キャノンボール問題に  n = 24 の解があるおかげで、リーチ格子のこのような構成法が存在しているということです。

「リーチ格子」と「キャノンボール問題」は、2つとも私のお気に入りの記事です。しかしながら、これらのブログ記事を書いていたときは、まさか両者がつながるなんて思いもしませんでした。シータさんのツイートをきっかけに、リーチ格子のこのような構成法を知ってとても驚きました。このことを知ることができたのは、仮面ライダービルドの話数の数式とシータさんのおかげです。


ところで、今回の記事のために頑張って周辺知識を勉強したのですが、まだまだ基本的なところを知らないせいか、よくわからなかった点があります。

  •  (w^\perp \cap \operatorname{II}_{25, 1})/\langle w \rangle をリーチ格子の各点にどのように対応させるのか?
  • 今回の方法で得られた格子に対して、前回登場した 24 次元のグラム行列を計算する方法はあるか?

この辺りが理解できるようになったら、また改めて紹介したいと思っています。少しずつでも成長していきたいですね。

宣伝

今回のきっかけになったのは 仮面ライダービルド の話数の数式でしたが、この話題に関連するイベントが近々行われます。

毎年10月に「30時間ぶっとおしで催される数学の祭典」MathPower というイベントが開催されているのですが、その企画の一つとして今年は「仮面ライダービルドの話数の数式」を紹介する企画が行われることになりました。

そんな企画に、なんとtsujimotterも登壇します!しかも、あの INTEGERS 管理人の関真一朗さんと一緒です!

tsujimotterは今からとても楽しみです!

この企画は、仮面ライダービルドの話数の数式を、3から49話まで一挙に紹介するという内容です。INTEGERSとtsujimotterのノートブックの中には、話数の数式に関連する解説が多数あるということで、今回お声がけいただきました。

MathPowerのウェブページはこちらです。
mathpower.sugakubunka.com

当日参加のチケットは現在販売中ですし、ニコニコ生放送でも配信されることになっています。

今日の記事は 第24話の数式 に関するお話でしたが、ほかにも、楽しい数式の解説が盛りだくさんとなっています。よろしければご覧になってください!

それでは今日はこの辺で!

参考文献

[1] John Conway, Neil J. A. Sloane, "Sphere Packings, Lattices and Groups", Springer (2013).

Sphere Packings, Lattices and Groups (Grundlehren der mathematischen Wissenschaften)

Sphere Packings, Lattices and Groups (Grundlehren der mathematischen Wissenschaften)

*1:ここがよく分からない