Pebble Coding

ソフトウェアエンジニアによるIT技術、数学の備忘録

j不変量

体K上の楕円曲線 y^{2} = 4 x^{3} - A x - B
 A, B \in K
体Kの標数は2,3以外とする。
j不変量を
 1728 \frac {A^{3}} {A^{3} - 27 B^{2}}
と定義する。
この時、 x'= {\mu}^{3} x, y' = {\mu}^{2}yの変換によってjの値は同じになる。
なので不変量という名前がついている。

 \omega_1, \omega_2 \in \mathbb{C}
 L= \mathbb{Z} \omega_1 + \mathbb{Z} \omega_2 = \{ m \omega_1 + n \omega_2 | m, n \in \mathbb{Z} \}
を格子とする。
ペー関数を
 p(z; L) = \frac {1} {z^{2}} + \sum_{\omega \in L, \omega \ne 0} (\frac {1} {(z-\omega)^{2}} - \frac {1} {\omega^{2}})
と定義する。
 y^{2} = 4 x^{3} - A - B
が成り立つ。
 x = p(z)
 y = p'(z)
 A = 60 \sum_{\omega \in L, \omega \ne 0} {\omega}^{-4}
 B = 140 \sum_{\omega \in L, \omega \ne 0} {\omega}^{-6}
である。
 \tau = \frac {\omega_1} {\omega_2}と定義すると、A, Bは \tauの関数となる。
j関数を
 j(\tau) = \frac {{A({\tau})}^{3}} {{A({\tau})}^{3} - 27 {B({\tau})}^{2}}
と定義する。
格子の基底 \omega_1, \omega_2の比率が変わらなければ、2つのこの値は変化しないことが容易に分かる。
これは2つの格子 L_1を複素数倍に拡大したものが L_2になっていればよい。

j関数を不変にするような基底の変換は他にもある。
 a, b, c, d \in \mathbb{Z}, ad - bc = 1である時、
 j(\frac {a \tau + b} {c \tau + d}) = j(\tau)
が成り立つ。

Nを整数として、 S_Nを次の条件を満たすa, b, dの値の組みとする。
 a, b, d \in \mathbb{Z}, ad = N, 0 \le b \lt d
Nが素数の場合はこの組みの数はN+1通りある。
Xの多項式を考える。
 F(X, \tau) = \prod_{S \in S_{N}} (X - j(\frac {a_{S} \tau + b_{S}} {d_{S}}))
Nが素数の場合は、Sの取り方はN+1通りあるので、XのN+1次多項式となる。
驚くべきことにこの多項式のXの係数は j(\tau)で表せることが知られている。
この多項式を \Phi_N(X, j)と書きモジュラー多項式と呼ぶ。
この多項式はX, jに対して対称であることが知られている。
 \Phi_N(X, Y) = \Phi_N(Y, X)

2つの格子 L_1, L_2のj不変量 j_1, j_2を考える。
 \Phi_N(j_1, j_2) = 0を満たす時、
2つの格子の間には、ある関係が成立する。
 L_1格子の基底を L_2格子の基底の一次式で表した時の係数が整数 a, b, c, d \in Z
であり、 ad - bc = Nである時である。