Google ClassroomGoogle Classroom
GeoGebraGeoGebra Classroom

楕円曲線と群:有限体上の解とガロア表現

このワークシートはMath by Codeの一部です。 前回は、n等分点のガロア群をガロア表現にすることで、しくみがクリアにわかりました。 x^3-2=0の解は1の3乗根の1つω=-1/2+1/√3 i と2の3乗根s=cbrt(2)をとして、 E:y^2=x^3-2の2等分点はO∞、A=(s,0), B=(sω,0), C=(sω^2,0)の4点で、 ガロア群S3={e, r:(1 2 3), w:(1 3 2), u:(1 2) , v:(1 3) ,t :(2 3)}の6つの置換に対応する A,Bを基底として格子点の動きを行列にしてみると、 ガロア表現はe;{{1,0},{0,1}} ,r:{{0,1},{1,1}} ,w:{{1,1},{1,0}},{u:{0,1},{1,0}}, v:{{1,1},{0,1}},t:{{1,0},{1,1}} と1対1に決まってしまうことを学びました。 今回は有限体上の点の個数をガロア表現を使って、その秘密をさぐっていきましょう。

1.F5とF7で調べてみる

今まで、5以上の素数pを法として合同な整数が作る体Fp上の楕円曲線Eの解の個数をNpと名付けるとき、 ap=(p+1)-Npという、Npがp+1より下回るズレを表した。 ガウスの定理があったね。 pがガウス整数Z[i]の素数(4で割って3余る数)ap=0ピッタで、 pがガウス整数Z[i]での合成数(5=(1+2i)(1-2i)のようにpが4で割って1余る)ならap=2q (p=q^2+r^2と平方数の和に分解したときに、q+r-1が4の倍数になる) 前回と同じ楕円曲線Eを使って探ってみます。 <F5で調べる> p=5の有限体F5でさぐっていきましょう。 N5 = 8だったので、ap=(5+1)-8=-1です。 これをガロア表現とつなげられたらいいですね。 類体論のキーワードで「フロベニウス変換」を以前学びましたね。くわしくはこちら、https://www.geogebra.org/m/twxxx3yq#material/cr8tqsmq 1の原始n乗根をζnとするとき、有理数体Qのアーベル拡大Q(ζn)/Qのフロベニウス変換φpは nを割り切らない素数pで、ζn→(ζn)^pのp乗変換でした。 「クロネッカー・ウェーバーの定理」から、アーベル拡大K/Qは必ずQ[ζn]に含まれるのでした。 Gal(K/Q)でのφpはGal(Q(ζn)/Q)でのφpの制限になるという結論がでてました。 つまり、フロベニウス変換はアーベル的なガロア拡大Gal(K/Q)の親玉なのですね。 さっそく、このフロベニウスφ5で、有限体F5の点をかきまぜましょう。 有限体の要素をxとすると、φ5(x)=x^5ですね。 F5はZ5を体にしたものでした。だから、mod5です。そうなんです。 フェルマーの小定理からx^5≡5(mod 5)ですから。 F5の点にφ5をしても何も変化がないのです。 その代わり、F5にE[2]の4点を追加して拡大してみよう。 拡大体F5(E[2])でフロベニウスφ5でかき混ぜるとどうなるでしょうか? F5の中でのx^3ー2の根としての拡大でしたから、「複素数の中での2の3乗根」ではありません。 F5の中での2の3乗根です。{1^3,2^3,3^3,4^3(mod5)}≡{1,8,27,64}(mod 5)≡{1,3,2,4}です。 だから、x^3≡2(mod5)の解はx=3です。 ということは、A,B,Cはみな(3,0)の1点になり、x^5=3^5=3^3*3^2=2*9=18≡3(mod 5)です。 つまり、E[2]も動かなりです。なにも新しい情報が生まれません。
<F7で調べる> p=7の有限体F7でさぐっていきましょう。 N7 = 9だったので、ap=(7+1) - 9=-1です。 あとで種明かししますが、ap=-1≡1(mod 2), p=7≡1(mod2)なので、 ガロア表現から1と1を出したいのです。 このフロベニウスφ7で、有限体F7の点をかきまぜましょう。 F7の点にφ7をしても何も変化がないので、ここは調べません。 F7にE[2]の4点を追加して拡大してみよう。 拡大体F7(E[2])でフロベニウスφ7でかき混ぜるとどうなるでしょうか? F7の中でのx^3ー2の根としての拡大でしたから、 F7の中での2の3乗根です。{1^3,2^3,3^3,4^3,5^3,6^3(mod7)} ≡{1,8,27,64,125, (-1)^3}(mod 7)≡{1,1,6,1,6}です。 sは2の3乗根でしたから、s^3=2 2^3≡1, 4=2^2(mod 7)なので、ω=2、ω^2=4 としましょう。 だから、A(s,0),B(2s,0),C(4s,0)とおけますね。 A(s,0)のφ7(s)=s^7=s^3*s^3*s=2*2*s=4sです。A(s,0)→(4s,0)=Cです。 B(2s,0)のφ7(2s)=2^7*s^7=(2^3)^2*2*4s=8s=s (mod 7)です。B(2s,0)→A(s,0) C(4s,0)のφ7(4s)=4^7*s^7=2^14*4s=(2^3)^4*2^2*4s=16s=2s(mod 7)です。C(4s.0)→B(2s,0) A+B=Cとして、A、Bを基本として行列を作りましょう。 φ7はS3のw:(1 3 2)と同じですから。ガロア表現は{{1,1},{1,0}}です。 この行列式ad-bc=1*0-1*1=-1≡1≡7=p(mod2) トレース(主対角成分の和)=1+0=1≡-1=ap(mod2) 2等分点E[2]で調べた都合上mod2でしかないので、まだかすかな感じですが、 法pを変えたりと2等分点をl等分にとすると、 フロベニウス変換φpのガロア表現ρtについて det(ρt)=p (mod l), Tr(ρt)=ap (mod l ) という法則に合っていることがわかりますね。 この法則はどこからやってきたのでしょう?

2.象を見る

さっきまではmod5でF5、mod 7でF7と網を細かく刻んできました。 法lを上げて網目を細かくすると解像度が上がり、無限にlを大きくしたら? きれいな画像が見えるでしょう。 画像には「大きな象」が映るでしょう。 だったら、最初から、lを具体的な数値にすることは忘れて象を見たいですよね。 それができるのです。 一寸、Fpのことは忘れて、φpを複素数C全体で考えて、行列 Mの固有値を求めるための式 det(T・IーM)=0をφpのフロベニウス行列 ρlで作ってみましょう。 det(T・IーM)=T^2-Tr(ρl) T+det(ρl) ここで、Tr(ρl)=ap, det(ρl)=pとおきましょう。 複素数T上の固有2次方程式T^2-apT+p=0ができます。 固有方程式なので、代数方程式のように因数分解します。 2つの解をα,β(共役複素数)とすると、解と係数の関係から、 ap=α+β, p=α*β となりますね。 つまり、行列ρtで Tr(ρl)=ap=α+β det(ρl)=p=α*β 解の和がズレapで、行列のトレースになり、解の積がFpのpで行列式になるのです。 <ガウス定理とつながる> 固有値の和と積につながることがで、ガウスの定理とのつながりもわかります。 α,βは共役複素数なので、 α=q+ri, β=q-riとおきましょう。 ap=α+β=(q+ri)+(q-ri)=2q p=α*β=(q+ri)*(q-ri)=q^2+r^2 これって、ガウスの定理そのまんまつながります。 mod lのlを3,5,7、......と増やして調べる必要もありません。 T^2-apT+pのTを1/Tにした式 1-apT+pT^2は「局所ゼータ関数」という どこかで見たことのあるゼータ関数という名前がついてます。 <振り返り> ゼータ関数というと切れ味がいいけど、人類に問を投げかけてきた張本人です。 その親戚だと思ってください。 バーゼル問題、オイラー定数、リーマン予想、。。。。 そうです。この局所ゼータ関数も「謎の象」だったのです。 そのため、地道にlを増やしていくという方法よりましで、 局所ゼータ関数よりは「根拠の明確な方法」が探られました。 それが「p進テイト加群」です。 舌を噛みそうですね。これは次回、ドローンでさくっと見物してみよう。 課題:4で割って1余る素数pの平方数和分解と T^2-apT+p=0の2解をgeogebraでつなごう。 タイトルは「有限体Fp上の楕円曲線の解の個数のズレとガウスの定理と固有方程式」 #ap=2qになる素数pをガウス整数環の素数α、βの積で表すとき #p=αβ=(q+r i)(q-r i)で、qが奇数とする。 #解と係数の関係から固有2次方程式がかける。 #固有2次方程式の2解を解いて表示することもできる。 array= Sequence(1+4k, k,1,20) ps=KeepIf(IsPrime(k),k,array) n=slider(1,Length(ps)) p=Element(ps,n) #p qs=Sequence(k,k,1,sqrt(p),2) #qの候補 rs=Zip(sqrt(p-k^2),k,qs) # sqrt(p- q^2)のリスト rsN=Zip(ceil(k),k,rs) #rsを切り捨てた整数のリスト res=Zip(k-s,k,rs,s,rsN) #差が0なら合格 idx=IndexOf(0,res) q=Element(qs,idx) r=Element(rs,idx) ap=2 q α=q+ri β=q-ri f(x)=x^2- ap x + p ftxt=Formulatext(f) text1="素数"+p+"のap="+ap+"固有方程式は"+ftxt+"" #これで、有限体Fp上の楕円曲線の解の個数Npとp+1のズレapと #ガウスの定理、ガウス整数環、行列の固有値としての2つの複素数がつながったね。 スライダーを動かして、次々に姿を変える固有方程式の美しさを、ぜひ手元で実感してみてください! <お得な情報> geogebraアプレット作成に興味のある人は、中ほどの数行のqsのあとのZip3連発とIndexOfコマンドに 注目してください。 これはふつうの言語の「for文をまわして、見つけたらそこでq,rとして取り出す」 という定型パターンのgeogebra版で、筆者Zenが独自に見つけたロジックですが、 ぜひ流用してみてください。

有限体Fp上の楕円曲線の解の個数のズレとガウスの定理と固有方程式