tsujimotterのノートブック

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

モジュラー曲線(2):合同部分群とモジュラー方程式

今日は、モジュラー曲線の話の続きを書きます。前回の記事 では、フルモジュラー群  \Gamma の定めるモジュラー曲線  X(1) を考えましたが、今回は 合同部分群 に対応するものを考えたいと思います。

tsujimotterは、この合同部分群の定めるモジュラー曲線の話がしたくてこのシリーズを書き始めました。かなり難しいテーマだとは思いますが、面白い内容だと思いますので、よろしければぜひご覧ください。

諸注意:
今回の記事は、著者のtsujimotterが最近勉強したばかりのトピックです。とても面白い内容で、話したいという気持ちが抑えられなくなって本記事を書いています。
一方で、まだ理解していないことだらけで、ところどころ自信がありません。誤り等が含まれる可能性もありますが、その際はどうかご容赦ください。

本記事の流れについて簡単に説明します。まず、1章ではモジュラー群の合同部分群を定義して、対応する基本領域を求めます。2章では合同部分群に対応するモジュラー曲線  X_0(N) を定義し、 X_0(N) のリーマン面としての形を議論します。3章・4章この記事のメインとなります。「コンパクトリーマン面は代数曲線の構造を持つ」という一般論を元に、代数曲線の定義方程式を具体的に構成する方法を紹介したいと思います。最後に有名な「志村・谷山予想(モジュラー性定理)」について軽く触れたい思います。

かなり長いお話になりますが、よろしければお付き合いください。

目次:

1. 合同部分群  \Gamma(N), \Gamma_0(N), \Gamma_1(N)

前回はフルモジュラー群  \Gamma = \text{SL}_2(\mathbb{Z})/\{ \pm I \} を定義して

  • 上半平面  H \Gamma の作用で割った空間  Y(1) = \Gamma \backslash H
  • 拡張された上半平面  H^* \Gamma で割った空間  X(1) = \Gamma \backslash H^*

をそれぞれ考えました。 Y(1), X(1) をモジュラー曲線というのでした。

フルモジュラー群  \Gamma部分群に対して、同様のモジュラー曲線を考えたいというのが今回のテーマです。


特に「合同部分群」と呼ばれる3種類の重要な部分群  \Gamma_0(N), \; \Gamma_1(N), \; \Gamma(N) を考えます。定義は以下の通りです。

 \displaystyle \begin{align} \Gamma_0(N) &:= \left\{  \begin{pmatrix} a & b \\ c & d \end{pmatrix} \in \Gamma \; \middle| \; c \equiv 0 \pmod{N} \right\} \\
 \Gamma_1(N) &:= \left\{ \begin{pmatrix} a & b \\ c & d \end{pmatrix} \in \Gamma \; \middle| \;  \begin{matrix} c \equiv 0, & d \equiv 1 \end{matrix} \pmod{N} \right\} \\
 \Gamma(N) &:= \left\{ \begin{pmatrix} a & b \\ c & d \end{pmatrix} \in \Gamma \; \middle| \;  \begin{matrix}a \equiv 1, & b \equiv 0, \\  c \equiv 0, & d \equiv 1 \end{matrix} \pmod{N} \right\} \end{align}

 N をレベルといいます。 \Gamma(N) をレベル  N の主合同部分群(principal congruence subgroup)、 \Gamma_0(N), \Gamma_1(N) をレベル  N のヘッケ型の合同部分群(Hecke congruence subgroup)というそうです。*1


私が上の定義を最初に見たときは、何がどう違うのかよくわかりませんでした。ここでは、丁寧に順を追って解説したいと思います。

まず、それぞれの行列の係数が  \bmod{N} の条件で与えられているということに注意しましょう。この視点で  \Gamma(N) の定義を見ると、 \bmod{N} で単位行列に合同であるとわかります。つまり、

 \begin{pmatrix} a & b \\ c & d \end{pmatrix} \equiv \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \pmod{N}

という形になっているということです。 \Gamma_1(N)

 \begin{pmatrix} a & b \\ c & d \end{pmatrix} \equiv \begin{pmatrix} * & * \\ 0 & 1 \end{pmatrix} \pmod{N}

という形になっています。ここで  * の部分は条件なし、つまり何でもよいということを意味します。同様に  \Gamma_0(N)

 \begin{pmatrix} a & b \\ c & d \end{pmatrix} \equiv \begin{pmatrix} * & * \\ 0 & * \end{pmatrix} \pmod{N}

という形の行列となっています。

言い換えると

  •  \Gamma_0(N) \Gamma の行列の中で  c \equiv 0 のものだけを集めた部分群
  •  \Gamma_1(N) \Gamma_0(N) の行列の中で  d \equiv 1 のものだけを集めた部分群
  •  \Gamma(N) \Gamma_1(N) の行列の中で  a \equiv 1, b \equiv 0 のものだけを集めた部分群

というわけです。

 \Gamma(N) が一番厳しい条件になっていて、次に  \Gamma_1(N)、一番条件がゆるいのが  \Gamma_0(N) ということですね。このことから、群の包含関係は

 \Gamma(N) \;\; \subset \;\; \Gamma_1(N) \;\; \subset \;\; \Gamma_0(N) \;\; \subset \;\; \Gamma

となっているとわかります。


だからどうしたと思うかもしれませんが、これらの条件の違いは大事です。 \Gamma_0(N), \Gamma_1(N) に対応する「モジュライ解釈」を与えることで、この違いの意味は明確になります。これについては次回お話する予定です。


次に、上の合同部分群を  H に作用させたときの基本領域を考えましょう。前回述べたように、フルモジュラー群  \Gamma に対する基本領域  \Omega(\Gamma) は次のように表せたのでした。

f:id:tsujimotter:20180603235652p:plain:w360

 \Gamma の部分群に対しては、対応する基本領域はどのように変化するでしょうか。群が小さくなるということは、作用できる操作が減るわけですね。したがって、上半平面を基本領域の「コピー」で埋め尽くすためには、基本領域をより大きく取らなければなりません。

よって

 \Gamma(N), \; \Gamma_1(N), \; \Gamma_0(N)

に対応する基本領域をそれぞれ

 \Omega(\Gamma(N)), \; \Omega(\Gamma_1(N)), \; \Omega(\Gamma_0(N))

としたとき、その包含関係は逆向きになります。

 \Omega(\Gamma(N)) \;\; \supset \;\; \Omega(\Gamma_1(N)) \;\; \supset \;\; \Omega(\Gamma_0(N)) \;\; \supset \;\; \Omega(\Gamma)


具体的な基本領域の求め方はなかなか難しいのですが、 \Gamma_0(N) に対応する基本領域について少し解説しましょう。ほかの場合も考え方は同じです。

まず、 \Gamma \Gamma_0(N) で割った剰余類を考えて、それぞれの代表元を  \alpha_0 = \text{id}, \alpha_1, \alpha_2 \cdots, \alpha_{h-1} とします。すると  \Gamma

 \displaystyle \Gamma = \Gamma_0(N) \; \sqcup \; \Gamma_0(N)\alpha_1 \; \sqcup \; \cdots \; \sqcup \; \Gamma_0(N)\alpha_{h-1}

と表せます。 \sqcup の記号は「非交和」といって「重なりがなく和をとること」を表します。

 \Gamma に対応する基本領域を  \Omega としたとき、定義と上の分解から

 \displaystyle H = \Gamma_0(N)\Omega \; \sqcup \; \Gamma_0(N) \alpha_1 \Omega \; \sqcup \; \cdots \; \sqcup \; \Gamma_0(N) \alpha_{h-1} \Omega

がいえます。よって

 \displaystyle H = \Gamma_0(N)\left(\Omega \; \sqcup \; \alpha_1 \Omega \; \sqcup \; \cdots \; \sqcup \; \alpha_{h-1} \Omega\right)

が言えるということですね。つまり

 \Omega \; \sqcup \; \alpha_1 \Omega \; \sqcup \; \cdots \; \sqcup \; \alpha_{h-1} \Omega

の部分に  \Gamma_0(N) を作用させれば、 H をすべて埋め尽くすことができるということです。

この領域を基本領域と言ってしまいたいところですが、実は少し問題があります。説明しましょう。

 N = p を素数としたとき、 \Gamma \Gamma_0(p) の作用で割った剰余類の群  \Gamma_0(p) \backslash \Gamma を考えます。各剰余類の代表元を  \alpha_i としたとき、この代表元としては、次のものをとることができます。

 \begin{align} 
\alpha_0 &= \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \\
\alpha_1 &= \begin{pmatrix} 1 & 0 \\ 1 & 1 \end{pmatrix} \\
\alpha_2 &= \begin{pmatrix} 1 & 0 \\ 2 & 1 \end{pmatrix} \\
&\vdots \\
\alpha_{p-1} &= \begin{pmatrix} 1 & 0 \\ p-1 & 1 \end{pmatrix} \\
\alpha_{p} &= \begin{pmatrix} 1 & -1 \\ 1 & 0 \end{pmatrix} 
 \end{align}

[2] の Exercises 3.1.4 を参照してください。

これを使って上の領域を描くと、以下のようになります( p = 11 の場合)。

f:id:tsujimotter:20180603213817p:plain:w400

このように適当に代表元を選んでしまうと、領域が連結されない場合があるのです。基本領域と呼ぶためには、1つの連結された領域である必要があります *2

ここで、 \alpha_i の代わりに、ある  \gamma \in \Gamma_0(N) を用いて

 \alpha'_i = \gamma \alpha_i

と表せるような  \alpha'_i を用いて代表元を置き換えても問題ありません。このように適当な  \gamma \in \Gamma_0(N) の元を用いて代表元を置き換えていって、連結する領域を作ることができれば、それが  \Gamma_0(N) に対応する基本領域となります。

しかし、これがなかなか大変です。うまい方法が思いつかなかったので *3、いろいろ探しまわった結果こちらのサイトで答えを見つけました。 N = 11 に対する基本領域の図が載っています。

Math 252: Congruence Subgroups

上のサイトでは、 \Gamma_0(11) の基本領域の形が画像で描かれていただけだったので、図に対応する具体的な変換を自力で見つける必要がありました。これもうまい方法が見つからなかったので、「基本領域ゲーム」をポチポチ動かしながら頑張って探しました。

実際、上のサイトに描かれた基本領域は、 \Gamma の基本領域に

 \begin{align} &I, \; S, \; ST, \; ST^{-1}, \; STT, \; ST^{-1}T^{-1}, \; STTT, \; ST^{-1}T^{-1}T^{-1}, \\ 
 &STTS, \; ST^{-1}T^{-1}S, \; ST^{-1}T^{-1}T^{-1}T^{-1}, \;  T^{-1}ST^{-1}T^{-1}ST^{-1}T^{-1} \end{align}

を作用させることで得られることがわかりました。結構大変な作業で、これだけで休日の半分をつぶしました・・・。

以上の議論により、 N = 11 の場合には次のような基本領域を得ることができます。

f:id:tsujimotter:20180603213151p:plain:w400


一般に

 \displaystyle [\Gamma : \Gamma_0(N)] = N\prod_{p \mid N}\left(1 + \frac{1}{p}\right)
 \displaystyle [\Gamma : \Gamma_1(N)] = N^2\prod_{p \mid N}\left(1 - \frac{1}{p^2}\right)

という公式があるそうです。 \Gamma_0(N), \Gamma_1(N) の基本領域が「 \Gamma の基本領域の何個分であるか」が上の公式により計算できます。詳しくは参考文献 [2] の1.2節(p.14)を参照してください。


 N = 11 としたとき、 \Gamma_0(11) の基本領域は上に描いたように「 \Gamma の基本領域の  12 個分」でした。上の公式に当てはめてみると

 \displaystyle [\Gamma : \Gamma_0(11)] = 11\left(1 + \frac{1}{11}\right) = 12

となり、たしかに  12 個になっていますね。


 \Gamma_1(11) の例も次の記事で計算するため、 \Gamma_0(11) と同じように基本領域を作ってみようと思ったのですが、上の公式で試算してみてちょっと難しそうだとわかりました。

 \displaystyle [\Gamma : \Gamma_1(11)] = 11^2\left(1 - \frac{1}{11^2}\right) = 120

120個となると、とても手作業では探せないですね。

2. モジュラー曲線  X_0(N), X_1(N)

以降では、説明の都合上ヘッケ型のモジュラー群  \Gamma_0(N), \; \Gamma_1(N) だけで議論したいと思います。

 \Gamma_0(N), \; \Gamma_1(N) の作用によって上半平面  H を割ってできた商空間を

 \displaystyle Y_0(N) := \Gamma_0(N)\backslash H
 \displaystyle Y_1(N) := \Gamma_1(N)\backslash H

とします。この  Y_0(N), \; Y_1(N) \Gamma_0(N), \; \Gamma_1(N) から定まるモジュラー曲線と言います。代表元をとれば上の基本領域に一致しますので、基本領域と同じ形を想像してもらえればと思います。


この  Y_0(N), Y_1(N) は、 Y(1) と同様に リーマン面 としての構造を持ちます。また、 H を拡張された上半平面  H^* に置き換えると、コンパクト化されたモジュラー曲線  X_0(N), X_1(N) が得られます。

 \displaystyle X_0(N) := \Gamma_0(N)\backslash H^*
 \displaystyle X_1(N) := \Gamma_1(N)\backslash H^*

前回触れたとおり、代数曲線論の一般より、コンパクトリーマン面は代数曲線としての構造を持ちます。だから「モジュラー曲線」というわけですね。本記事では、後半でこの代数曲線の定義方程式を「具体的に」求められることを確認したいと思います。


その前に、前回と同様、リーマン面としての  X_0(N) の具体的な形をイメージしてみましょう。ここでは  N = 11 とします。

 Y_0(11) = \Gamma_0(11)\backslash H の基本領域はこのようになっていました。

f:id:tsujimotter:20180603213151p:plain:w320

 \Gamma_0(11) による作用を考えて、基本領域の端がどのように連結しているかを表したのが次の図です。同じ色で表した線は繋がっていると考えます。これが位相的にはどのような図形になっているか想像できるでしょうか。

f:id:tsujimotter:20180607082327p:plain:w400

まず、赤い線とオレンジ色の線を矢印の向きに合わせて貼り合わせます。それから水色の線を同じように貼り合わせます。ちょうど、球面に3つの開円板が空いているような図形になっています。

f:id:tsujimotter:20180607082350p:plain:w400

このような図形はトポロジーの言葉では「パンツ」というのでした。パンツの2つの開円板を埋めるために、紫色の線と緑色の線を貼り合わせましょう。最後にカスプ  i\infty を追加して、残りの円板を埋めましょう。 Y_0(11) i\infty でコンパクト化されて  X_0(11) になりました。

これで トーラス のできあがりです!

f:id:tsujimotter:20180607082412p:plain:w400

これまでの議論から、コンパクトリーマン面  X_0(11)種数 1 の閉曲面 であることが確認できました!


 X_0(11) が種数 1 であることはモジュラー曲線の一般論からわかるのですが、こうして基本領域の形から実際に確認できると納得感がありますよね。この図を作ることができて、ようやくモジュラー曲線が手に収まった気がしました。

一般に  \Gamma' = \Gamma_0(N), \Gamma_1(N) として  X(\Gamma') = \Gamma' \backslash H^* をモジュラー曲線とします。 X(\Gamma') \to X(1) を自然な射影とし、その次数を  d とします。 \varepsilon_2, \varepsilon_3 X(\Gamma') における周期 2, 3 のelliptic pointの個数、 \varepsilon_{\infty} X(\Gamma') におけるカスプの個数とします。このとき、 X(\Gamma') の種数  g は以下の式で得られます。
 \displaystyle g = 1 + \frac{d}{12} - \frac{\varepsilon_2}{4} - \frac{\varepsilon_3}{3} - \frac{\varepsilon_{\infty}}{2}

上の式は、リーマン・フルビッツの公式とガウス・ボンネの定理から得られるみたいです。証明は [2] の Exercises 3.1.3 (b) 参照。

実際、 X_1(11) のとき、 d = 12, \;\; \varepsilon_2 = \varepsilon_3 = 0, \;\; \varepsilon_{\infty} = 2 より  g = 1 とわかります。上で確かめたように、たしかに種数 1 の閉曲面になっていますね。この計算についても、詳しくは [2] の Exercises 3.1.4 の解答を参照ください。


3. モジュラー方程式  \Phi_N(X, Y) = 0

上で示したように、モジュラー曲線  X_0(N) はコンパクトリーマン面なので、代数曲線 としての構造を持ちます。これは代数曲線の一般論からわかるわけですが、ここでは具体的に モジュラー曲線  X_0(N) の定義方程式 を考えたいと思います。これによって、モジュラー曲線  X_0(N) が「曲線」であることが納得できるようになるでしょう。


基本的な考え方は、楕円曲線のときと同じです。ワイエルシュトラス方程式から定義方程式を得たときの流れを思い出しましょう。

楕円曲線をリーマン面  E = \mathbb{C}/\Lambda として考え、リーマン面  E 上の関数体  \mathbb{C}(E) を考えます。 実際、この関数体は二つの関数  \wp, \wp' によって  \mathbb{C}(E) = \mathbb{C}(\wp, \wp') と生成されることが知られています。したがって  X = \wp, Y = \wp' として、 F(X, Y) = 0 を満たす  \mathbb{C} 上の代数方程式が存在するというのが結論です。実際
 \wp'^2 - \wp^3 - a\wp - b = 0

を満たす  a, b が具体的に計算できるのでした。これが  E の代数曲線としての定義方程式でしたね。


 X_0(N) においても同じような考え方をとります。やってみましょう。

まず、 X_0(N) \mathbb{C} 上の関数体を考えると

 \mathbb{C}(X_0(N)) = \mathbb{C}(j, j_N)

と表せることが示せます。

記号の定義を先に述べておくと、関数体の生成元の一つである  j j 関数のことです。 j 関数は  \Gamma に対して不変な関数なので、当然  \Gamma_0(N) \subset \Gamma に対しても不変で、したがって  X_0(N) 上の関数です。

もう一つの生成元  j_N は、 j 関数によって次のように定義されます:

 j_N(\tau) := j(N\tau)

実は、この関数が  \Gamma_0(N) に対して不変な関数になっているのです。つまり、 X_0(N) 上の関数です。


 j, j_N \mathbb{C}(X_0(N)) の生成元であること」を示すのは難しそうなので([4] の 11章 B 節でセクションを丸々使って議論しています)、代わりに「 j_N X_0(N) 上の関数であること」だけでも示してみましょう(同じ節の議論を参考にしました)。

 j_N \Gamma_0(N) 不変であることを示します。

 \gamma_0 = \begin{pmatrix} a & b \\ c & d \end{pmatrix} \in \Gamma_0(N) とします。つまり、 c\equiv 0 \pmod{N}, \;\; ad - bc = 0 です。これに対して  j_N(\gamma_0 \tau) を考えると

 \displaystyle j_N(\gamma_0 \tau) = j(N\gamma_0 \tau) = j\left(\frac{N(a\tau + b)}{c\tau + d}\right) = j\left(\frac{a\cdot N\tau + bN}{(c/N)\cdot N\tau + d}\right) = j(\gamma' N \tau)

ここで、 \gamma' = \begin{pmatrix} a & bN \\ c/N & d \end{pmatrix}

 a\cdot d - (bN)\cdot (c/N) = ad - bc  =1

より、 \gamma' \in \Gamma であるとわかります。よって

 j_N(\gamma_0 \tau) = j(N \gamma_0 \tau) = j(\gamma' N\tau) = j(N\tau) = j_N(\tau)

となり、 j_N \Gamma_0(N) に対して不変であることが示されました。


上の議論から  j_N \Gamma_0(N) に対して不変なことがわかりました。次は、一般の  \gamma \in \Gamma j_N に対する作用を考えましょう。

 \mu = [\Gamma : \Gamma_0(N)] として、 \Gamma \mu 個の剰余類に分解して

 \Gamma = \Gamma_0(N) \; \sqcup \; \Gamma_0(N) \gamma_1 \; \sqcup \; \cdots \; \sqcup \; \Gamma_0(N) \gamma_{\mu - 1}

と表します( \gamma_0 = \text{id} とします)。この分解によって一般の  \gamma \in \Gamma は、 \gamma_0 \in \Gamma_0(N) を用いて  \gamma = \gamma_0 \gamma_i と表せることがわかります。

このとき、 j_N の変数に  \gamma_0, \gamma_1, \cdots, \gamma_{\mu-1} を作用させて

 S_N = \{j_N(\tau), \; j_N(\gamma_1 \tau), \; \cdots, \; j_N(\gamma_{\mu-1} \tau)\}

という集合を考えます。

すると、 S_N の関数に対して  \gamma \in \Gamma が推移的に作用することがわかります。というのも上で述べた剰余類の分解によって

 \gamma_i \gamma = \gamma_0 \gamma_j

と書けるので

 j_N(\gamma_i \gamma \tau) = j_N(\gamma_0 \gamma_j \tau) = j_N(\gamma_j \tau)

とできるからです。最後の等式は  j_N \gamma_0 \in \Gamma_0(N) に対する不変性を用いました。

つまり、 S_N の関数は  \gamma \in \Gamma の変換に対して、互いに移り合う関係にあるということです。


したがって、 j_N(\tau), \; j_N(\gamma_1 \tau), \; \cdots, \; j_N(\gamma_{\mu-1} \tau) に対する基本対称式

 j_N(\tau)+ j_N(\gamma_1 \tau) + \cdots +  j_N(\gamma_{\mu-1} \tau)
 j_N(\tau)\,j_N(\gamma_1 \tau) + \cdots +  j_N(\gamma_{\mu-2} \tau)\, j_N(\gamma_{\mu-1} \tau)
 \vdots
 j_N(\tau) \, j_N(\gamma_1 \tau)\,  \cdots  \, j_N(\gamma_{\mu-1} \tau)

を考えると、これらの基本対称式はすべて  \Gamma の元に対して不変であることがわかります。つまり、基本対称式が  X(1) の関数体の元、すなわち、 \mathbb{C}(j) の元となっているということです。

そこで、 j_N(\gamma_i \tau) を解に持つ多項式

 \displaystyle \Phi_N(j, Y) = \left(Y - j_N(\tau)\right)\left(Y - j_N(\gamma_1 \tau)\right) \cdots \left(Y - j_N(\gamma_{\mu-1}\tau)\right)

を考えると、多項式を展開したときの係数は明らかに  j_N(\tau), \; j_N(\gamma_1 \tau), \; \cdots, \; j_N(\gamma_{\mu-1} \tau) の基本対称式になります。したがって、 \Phi_N(j, Y) \mathbb{C}(j) 係数の1変数多項式となり、 \Phi_N(j, Y) \in \mathbb{C}(j)[Y] の元となります。

ここでは示しませんが、 \Phi_N(j, Y) \mathbb{C}(j) 上のモニック、かつ、既約な多項式になっています。したがって、 \Phi_N(j, Y) j_N \mathbb{C}(j) 上最小多項式です。よって
 \mathbb{C}(j, j_N) \simeq \mathbb{C}(j)[Y] \big/ \Phi_N(j, Y)

 \mathbb{C}(j) 上の(関数体としての) \mu 次拡大体となっています。



さて、ようやく本題の定義方程式の話に戻ります。 j_N \Phi_N(j, Y) の根なので、 \Phi_N(j, Y) Y = j_N を代入すると

 \Phi_N(j, j_N) = 0

という方程式が得られます。

 X = j, \; Y = j_N とおくと

 \Phi_N(X, Y) = 0

という形の方程式が得られ、これは  X, Y の2変数の方程式となります。

 X, Y [\tau] \in X_0(N) によって決まりますから、これは  X_0(N) の代数曲線としての定義方程式を与えています。 \Phi_N(X, Y) = 0 こそが、モジュラー曲線の定義方程式なのです。これをレベル  N古典的モジュラー曲線(classical modular curve)といいます。レベル  Nモジュラー方程式(modular equation)ということもあります。


まとめるとこういうことです。 Y_0(N) の点  [\tau] が方程式  \Phi_N(X, Y) = 0 を満たす点  (X, Y) と1対1対応するのですね。

f:id:tsujimotter:20180609024640p:plain:w420

4. モジュラー方程式の具体例

今定義したモジュラー方程式は、どのような方程式になっているでしょうか。調べてみて驚いたのですが、実際の式はなかなか衝撃的です。

まずこれが  N = 2 のモジュラー方程式です。

 \begin{align} \Phi_2(X, Y) &= X^3 + Y^3 - X^2Y^2 + 2^4\cdot 3\cdot 31XY(X+Y) - 2^4\cdot 3^4\cdot 5^3(X^2 + Y^2) \\ 
&\quad+ 3^4\cdot 5^3\cdot 4027XY + 2^8\cdot 3^7\cdot 5^6(X + Y) - 2^{12}\cdot 3^9\cdot 5^9 \\
&= 0 \end{align}

次が  N = 3 のモジュラー方程式です。

 \begin{align} \Phi_3(X, Y) &= X^4 + Y^4 - X^3Y^3 - 2^2\cdot 3^3\cdot 9907XY(X^2 + Y^2) + 2^3\cdot 3^2\cdot 31X^2Y^2(X+Y) \\
&\quad + 2^{15}\cdot 3^2\cdot 5^3\cdot (X^3 + Y^3) + 2^{16}\cdot 3^5\cdot 5^3\cdot 17\cdot 263XY(X + Y) \\
&\quad + 2\cdot 3^4\cdot 13\cdot 193\cdot 6367X^2Y^2 - 2^{31}\cdot 5^6\cdot 22973XY + 2^{20}\cdot 3^3\cdot 5^6(X^2 + Y^2) \\
&\quad + 2^{45}\cdot 3^3\cdot 5^9(X+Y) \\
&= 0 \end{align}

基本的に係数が非常に大きなものになっています。上の例はまだ簡単な方で、実際  N が大きくなるにつれて係数や多項式の長さは「かなり早いスピードで」増加します(増加のスピードについては後で紹介するスライドが詳しいです)。

ところで、気づいた方もいるかもしれませんが、 \Phi_N(X, Y) の係数はすべて 整数 になっています。これは偶然ではなく、実は任意の  N に対して  \Phi_N(X, Y) \in \mathbb{Z}[X, Y] であることが示せます。

この性質は  j 関数の  q-展開の係数が整数であることからきています。これはモジュラー曲線の重要な性質の一つで、この性質によってたとえばモジュラー曲線の \bmod{p} の還元を考えることができます。

さて、我々の目的である  N = 11 のモジュラー方程式を紹介します。あまりにも長いので、一部を抜粋して紹介します。

 \begin{align} \Phi_{11}(X, Y) &= X^{12} + Y^{12} − X^{11}Y^{11} \\
&\quad + 8184X^{11}Y^{10} − 28278756X^{11}Y^{9} +53686822816X^{11}Y^{8} \\
&\quad −61058988656490X^{11}Y^{7} \\
&\quad + 42570393135641712X^{11}Y^{6} \\
&\quad −17899526272883039048X^{11}Y^5 \\
&\quad + 4297837238774928467520X^{11}Y^4 \\
&\quad − 529134841844639613861795X^{11}Y^3 \\
&\quad + 27209811658056645815522600X^{11}Y^2 \\
&\quad − 374642006356701393515817612X^{11}Y \\
&\quad + 296470902355240575283200000X^{11} \\
&\quad + \cdots \end{align}

参考にしたのはこちらのスライドです。

https://math.mit.edu/~drew/MomoseSeminar.pdf

このスライドでは、 \cdots のあとにスライド8枚分続き、さらに定数項の係数は100桁になると書いてありました。とんでもない係数ですね。「せっかくモジュラー曲線の定義方程式が得られたのだし、それをプロットしてみようかな」と無邪気に考えていたのですが、とてもそんなレベルではないと気づきました。

ともあれ、具体的な「 X Y の関係式」の形でモジュラー曲線  X_0(11) の定義方程式を表すことができましたね。


ちなみに、 N \leq 300 \Phi_N(X, Y) の係数については、こちらのサイトで一覧が載っています。どうやって使うかはさておき、面白そうですね。

https://math.mit.edu/~drew/ClassicalModPolys.html

5. おまけ:モジュラー性定理

上の代数曲線  \Phi_{11}(X, Y) = 0 は12次の曲線となっていましたが、 X_0(11) 自体は種数1の代数曲線でした。ということは、 X_0(11) に同型な楕円曲線のモデルが存在するはずです。実際、Wikipediaの "Classical modular curve" の項目をみると

Classical modular curve - Wikipedia

 y^2 + y = x^3 - x^2 - 10x - 20 という曲線に同型であることが述べられています。実際、

 \begin{align} x &\mapsto \frac{X^5 - 2X^4 + 3X^3 - 2X + 1}{X^2(X-1)^2} \\ 
y &\mapsto Y - \frac{(2Y + 1)(X^4 + X^3 - 3X^2 + 3X - 1)}{X^3 (X-1)^3} \end{align}

と置き換えをすることで、両者が同型であることを示せるようです。

とてもじゃないですが、私には確認できません・・・。


以上を踏まえて、有名な 志村・谷山予想 に触れておきたいと思います。

 \mathbb{Q} 上定義されたある曲線  C に対して、ある  N が存在して整係数の有理写像による全射

 \varphi : X_0(N) \longrightarrow C

が存在するとき、 C はモジュラー曲線であると言います。

上で述べた曲線を

 C: y^2 + y = x^3 - x^2 - 10x - 20

とすると  C は楕円曲線です。一方で  C X_0(11) からの有理写像による全射が存在するので、モジュラー曲線でもあるというわけです。


志村・谷山予想は

 \mathbb{Q} 上の楕円曲線はモジュラー曲線である

という予想です。今となってはワイルズらによって証明されていますから、これは予想ではなく定理です。章タイトルの「モジュラー性定理(modularity theorem)」と呼ばれているようです。


次回示すように、モジュラー曲線  X_0(N) は楕円曲線(と付加構造)のモジュライ空間になっています。ある意味で楕円曲線をまとめたものと言えそうです。その楕円曲線をまとめたモジュラー曲線の中に、それ自身が楕円曲線の構造を持っているものが存在するのでした。

モジュラー性定理が主張するのは、任意の  \mathbb{Q} 上の楕円曲線  C は、モジュラー曲線に対応しているということです。つまり、任意の楕円曲線は楕円曲線のモジュライ空間であるため、その1点1点も楕円曲線(の同型類)に対応しているわけです。1つの楕円曲線の中に、無限に多くの楕円曲線が存在している。そんな不思議な入れ子構造が楕円曲線にはあるのだそうです。すごい話ですね。

6. おわりに

今回のテーマである、合同部分群の定めるモジュラー曲線  X_0(N) についてのお話は、私 tsujimotter がつい先日知った話です。「モジュラー曲線  X_0(N)の定義方程式は  \Phi_N(X, Y) = 0 である」という事実を紹介することがこの記事の目的でした。

 X_0(N) の上の関数体を考え、関数の代数的な等式を考えることで、モジュラー曲線の定義方程式  \Phi_N(X, Y) = 0 を具体的に得ることができることを紹介しました。とんでもない大きさの係数を持つ方程式ではありましたが、たしかに  X, Y を変数に持つ曲線が得られることが理解できました。楕円曲線や  X(1) のときもそうでしたが、リーマン面上の関数体を考えるというのは、定義方程式を求める上での一つのよい方針になるのですね。


このような流れをもとにモジュラー曲線を計算する方法について、[3] の第1章にそれらしい記述があることは以前から知っていました。しかしながら、

  • モジュラー曲線の話であることはわかるけど、どこにモジュラー曲線の定義方程式が書いてあるのだろう。この記事には、書いていないのかな。
  • もしかして、そもそも曲線とは言っても、定義方程式なんて存在しないのかな。

というような勘違いをしていて、真面目に読もうとはしていませんでした。

モジュラー多項式  \Phi_N(X, Y) にしても、[3] の記事にちゃんと登場していますが、どうしてこのような多項式を計算しているのだろうと思っていました。また  \Phi_N(X, Y) は、このブログで度々参照される [4] にも載っていることを以前から知っていましたが、よくわからなかったので真面目に読む気にはなれませんでした。まさか  \Phi_N(X, Y) = 0 こそが定義方程式だったとは。

 \Phi_N(X, Y) = 0 がモジュラー曲線  X_0(N) の定義方程式なんだということがわかったときに、さまざまな概念が繋がりました。「なるほど、たしかにモジュラー曲線だ」と思えたのですね。この納得感がとても気持ちよかったので、その感覚を共有したくてこの記事を書きました。

ブログ記事を書いているうちに、いろいろと発見がありました。「種数 1 の曲線なんだから、 X_0(11) はトーラスの形をしているはずだ」と気付いたので、せっかくだから図形的な理解もしたいと思いました。これが前半の説明です。図を作る過程はかなり大変だったのですが、最終的にちゃんとトーラスになることもわかり、納得感がありました。トーラスになることが理解できた瞬間は、本当に感激しました。


モジュラー曲線シリーズは あと1回 の予定です。最終回は、モジュラー曲線の定義方程式を求めるための別の方法を紹介します。「モジュラー曲線とは楕円曲線(と付加構造)のモジュライ空間である」という視点から、よりわかりやすい形の定義方程式を導きたいと思います。お楽しみに。

それでは今回はこの辺で。

続きの記事

tsujimotter.hatenablog.com

参考文献

[1] 斎藤 毅、河東 泰之、小林 俊行「数学の現在  i

数学の現在 i

数学の現在 i

  • 東京大学出版会
Amazon

[2] Diamond and Shurman, "A First Course in Modular Forms"

[3] 山内 卓也「モジュラー曲線の整モデル」

https://www.math.kyoto-u.ac.jp/~chida/Gross-Zagier/Yamauchi.pdf

[4] D. Cox, "Primes of the form:  X^2 + nY^2"

*1:呼び名の参考 Congruence subgroup - Wikipedia

*2:「基本領域」であることにこだわらなければ、これでも問題ありません。

*3:私は方法がわかりませんでしたが、ご存知の方がいたら教えてください。