順番 41 / 64

大学院

点の数え上げ——素数での曲線の数

曲線を素数で割った余りの世界へ置き、その有限の点の集合を数えます。

まず、身近な例で

y²=x³−xを0から4の余りで調べると、xごとのyの個数は1、1、2、2、1。普通の点7個と無限遠点1個で計8個。記録する数は、5+1−8=−2です。

ちいさな確認:考えてみよう

上の具体例を見ながら考えよう。何度やり直しても大丈夫。

5の余りの世界で点が8個の例。記録する数5+1−8は?

答えと考え方を読む

−2。 点の個数そのものを答えるのではありません。余りの世界の大きさと合わせて計算し、6−8=−2です。

3段階で考えよう

  1. 二重奏で比べる量は、どこかで定義されていなければなりません。カスプ形式は係数を与え、曲線も自分の数を与えなければなりません。ここが、曲線が与える数の入口です。
  2. 素数ℓでの曲線の算術を読むには、曲線をℓを法としてZMod ℓの世界へ移し、還元後の曲線の点を観察します。その数え上げは、普通の有限の計算です。
  3. Leanは合成された量にapOfModelという名を付けます。reductionMod pが整数係数をZMod pへ送り、その還元のtraceOfFrobeniusが「余りの世界の大きさ」と「数えた点の数」を組み合わせます。分類IsGoodPrimeForはΔを割る素数を禁じます。その素数では還元後の曲線のふるまいが変わるからです。

小さな例で確かめる

5を法とするy² = x³ − xでは、x = 0・1・2・3・4それぞれのyの個数は1・1・2・2・1。アフィンの点は7個で、無限遠点を加えると#E(𝔽₅) = 8です。したがってトレースは5 + 1 − 8 = −2で、点の個数そのものではありません。

Leanの定義・原文の抜粋

FLT · aa2d8b3 · Def_FLTPrelim_Modularity.lean

def traceOfFrobenius : ℤ := (Nat.card F : ℤ) + 1 - (W.card : ℤ) end Card def reductionMod (W : WeierstrassCurve ℤ) (p : ℕ) : WeierstrassCurve (ZMod p) :=  W.map (Int.castRingHom (ZMod p)) def apOfModel (W : WeierstrassCurve ℤ) (p : ℕ) : ℤ :=

このLeanの読み方

名前にAffineとありますが、W.toAffine.Pointには特異点でないアフィンの点と、単位元となる無限遠点が入ります。良い素数pでは還元後の曲線に特異点がなく、traceOfFrobeniusはp + 1からその全体の点の個数を引いた値です。reductionModとapOfModelは、この計算を整数係数の模型に適用します。

この言葉を使う章

8. ひみつの二重奏9. コンサートへの二つの入口10. 3音だけのオーディション11. パスポートを借りる作戦12. 二つの工房、同じ注文13. ピップの無謀なキルト14. どんどん小さくなる予約
わからない・道に迷った

ミカのたすけ舟

点の数え上げ——素数での曲線の数

今は、一つだけ

まず「3段階で考えよう」を上から読みます。Leanの原文は、その後でも大丈夫です。

言葉をほどこう

曲線を素数で割った余りの世界へ置き、その有限の点の集合を数えます。

このページの「この言葉の前に」に、先に知ると読みやすい言葉があります。

小さな手がかり

5を法とするy² = x³ − xでは、x = 0・1・2・3・4それぞれのyの個数は1・1・2・2・1。アフィンの点は7個で、無限遠点を加えると#E(𝔽₅) = 8です。したがってトレースは5 + 1 − 8 = −2で、点の個数そのものではありません。

閉じれば、読んでいた場所に戻れます。このページに合わせて用意したヒントです。

最初の小さな物語から読む →