Pebble Coding

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

素体の等分点の群構造を調べる その1

楕円曲線Eにおいて n P = Oとなる点Pの集まりを等分点(torsion point)と呼びます。
左辺は点をn倍することを表し、右辺は無限遠点を表します。

python で有限体Fpでの楕円曲線上の有理点の群構造を調べる - Pebble Coding

以前使ったpythonスクリプトをちょっといじって計算してみました。
まずは、 y^{2} = x^{3} + x^{2} + 1 で 素体を F_5とします。

f:id:pebble8888:20170909165102p:plain

1 torsion Point:
2 torsion Point:
3 torsion Point:
 P3
 P4
4 torsion Point:
5 torsion Point:
6 torsion Point:
 P3
 P4
7 torsion Point:
8 torsion Point:

3等分点がP3, P4の2つ、6等分点がP3, P4の2つ見つかりましたが、無限遠点はn等分でもあるので、 3等分点がP3, P4, Oの3つ、6等分点がP3, P4, O の3つとなります。
ちなみに、この群の位数は9なので、全ての点は9倍すると無限遠点になります。

別の曲線でも試してみます。

 y^{2} = x^{3} + 2 x + 4
 F_{13} 群位数17

1 torsion Point:
2 torsion Point:
3 torsion Point:
4 torsion Point:
5 torsion Point:
6 torsion Point:
7 torsion Point:
8 torsion Point:
9 torsion Point:
10 torsion Point:
11 torsion Point:
12 torsion Point:
13 torsion Point:
14 torsion Point:
15 torsion Point:
16 torsion Point:
17 torsion Point:
 P1
 P2
 P3
 P4
 P5
 P6
 P7
 P8
 P9
 P10
 P11
 P12
 P13
 P14
 P15
 P16

f:id:pebble8888:20181105220626p:plain

等分点が17 Torsion Pointしかみつかりませんでした。

最期です  y^{2} = x^{3} + 7
 F_{17} 群位数は18です。

1 torsion Point:
2 torsion Point:
 P5
3 torsion Point:
 P6
 P7
4 torsion Point:
 P5
5 torsion Point:
6 torsion Point:
 P5
 P6
 P7
 P10
 P11
7 torsion Point:
8 torsion Point:
 P5
9 torsion Point:
 P1
 P2
 P3
 P4
 P6
 P7
 P14
 P15
10 torsion Point:
 P5
11 torsion Point:
12 torsion Point:
 P5
 P6
 P7
 P10
 P11
13 torsion Point:
14 torsion Point:
 P5
15 torsion Point:
 P6
 P7
16 torsion Point:
 P5
17 torsion Point:

f:id:pebble8888:20181104201023p:plain

なんとなくイメージはつかめたでしょうか。
無限遠点はn等分点全てに含まれるので、n等分点の個数を数えてみると、
2等分点の個数:2 (O, P5)
3等分点の個数:3 (O, P6, P7)
4等分点の個数:2 (O, P5)
6等分点の個数:6 (O, P5, P6, P7, P10, P11)
8等分点の個数:2 (O, P5)
9等分点の個数:9 (O, P1, P2, P3, P4, P6, P7, P14, P15)
10等分点の個数:2 (O, P5)
12等分点の個数:6 (O, P5, P6, P7, P10, P11)
14等分点の個数:2 (O, P5)
15等分点の個数:3 (O, P6, P7)
16等分点の個数:2 (O, P5)
のようになっており、n等分点の点の個数はnの約数になっていることが分かります。

実は、n等分点だけからなる集合を考えると、有理点の群の部分群になっていることが知られています。
このn等分点だけからなる集合を E[n] と書きます。

このリストだけをみても分かることは2等分点と,3等分点の数は除外して、それ以外はn等分点のnの部分は全て合成数であることが分かります。
2等分点の群構造は Z_2、3等分点の群構造は Z_3です。
残りも調べてみると、
4等分点の群構造:  Z_2
6等分点の群構造:  Z_2 \times Z_3
8等分点の群構造:  Z_2
9等分点の群構造:  Z_9 (巡回群)
10等分点の群構造:  Z_2
12等分点の群構造:  Z_2 \times Z_3
14等分点の群構造:  Z_2
15等分点の群構造:  Z_3
16等分点の群構造:  Z_2

6等分点、9等分点、12等分点の群構造を調べるには以下の計算結果を使いました。

ここでは体が素体F_{17}なので、標数が17です。
17等分点は無限遠点のみです。
標数等分点が無限遠点のみである楕円曲線を超特異(supersingular)と呼びます。
標数等分点が無限遠点以外にも存在する楕円曲線を通常(ordinary)と呼びます。
ordinaryの場合の例も示したいですが、力尽きてしまったので、別の記事に回したいと思います。

P1+P2=O
P1+P3=P2
P1+P4=P7
P1+P5=P17
P1+P6=P3
P1+P7=P14
P1+P8=P11
P1+P9=P8
P1+P10=P9
P1+P11=P13
P1+P12=P10
P1+P13=P16
P1+P14=P15
P1+P15=P6
P1+P16=P5
P1+P17=P12
P2+P3=P6
P2+P4=P1
P2+P5=P16
P2+P6=P15
P2+P7=P4
P2+P8=P9
P2+P9=P10
P2+P10=P12
P2+P11=P8
P2+P12=P17
P2+P13=P11
P2+P14=P7
P2+P15=P14
P2+P16=P13
P2+P17=P5
P3+P4=O
P3+P5=P13
P3+P6=P14
P3+P7=P1
P3+P8=P10
P3+P9=P12
P3+P10=P17
P3+P11=P9
P3+P12=P5
P3+P13=P8
P3+P14=P4
P3+P15=P7
P3+P16=P11
P3+P17=P16
P4+P5=P12
P4+P6=P2
P4+P7=P15
P4+P8=P13
P4+P9=P11
P4+P10=P8
P4+P11=P16
P4+P12=P9
P4+P13=P5
P4+P14=P6
P4+P15=P3
P4+P16=P17
P4+P17=P10
P5+P6=P11
P5+P7=P10
P5+P8=P15
P5+P9=P14
P5+P10=P7
P5+P11=P6
P5+P12=P4
P5+P13=P3
P5+P14=P9
P5+P15=P8
P5+P16=P2
P5+P17=P1
P6+P7=O
P6+P8=P12
P6+P9=P17
P6+P10=P5
P6+P11=P10
P6+P12=P16
P6+P13=P9
P6+P14=P1
P6+P15=P4
P6+P16=P8
P6+P17=P13
P7+P8=P16
P7+P9=P13
P7+P10=P11
P7+P11=P5
P7+P12=P8
P7+P13=P17
P7+P14=P3
P7+P15=P2
P7+P16=P12
P7+P17=P9
P8+P9=O
P8+P10=P2
P8+P11=P4
P8+P12=P3
P8+P13=P7
P8+P14=P5
P8+P15=P17
P8+P16=P14
P8+P17=P6
P9+P10=P3
P9+P11=P1
P9+P12=P6
P9+P13=P4
P9+P14=P16
P9+P15=P5
P9+P16=P7
P9+P17=P15
P10+P11=O
P10+P12=P15
P10+P13=P1
P10+P14=P13
P10+P15=P16
P10+P16=P4
P10+P17=P14
P11+P12=P2
P11+P13=P14
P11+P14=P17
P11+P15=P12
P11+P16=P15
P11+P17=P3
P12+P13=O
P12+P14=P11
P12+P15=P13
P12+P16=P1
P12+P17=P7
P13+P14=P12
P13+P15=P10
P13+P16=P6
P13+P17=P2
P14+P15=O
P14+P16=P10
P14+P17=P8
P15+P16=P9
P15+P17=P11
P16+P17=O

プライバシーポリシー

お問い合わせ

スポンサーリンク