Homeに戻る  一覧に戻る 

Modular Polynomials


[2002.02.08]modular多項式


■2次正方行列の集合Dn*,Sn*を以下のように定義する。ここで、nは自然数である。
     Dn*={ ((a b)(c d)) ∈ M2(Z): ad-bc=n, gcd(a,b,c,d)=1}
     Sn*={ ((a b)(0 d)) ∈ Dn*: d > 0, 0 <= b < d}

このとき、自然な写像
     Sn* ----> SL2\backslash Dn*
は全単射になる。また、
     #Sn*=nΠp|n(1+1/p)
特に、nが素数lの場合は、
     #Sl*=l+1
となる。

■modular多項式
n次のModular多項式Φn(X)を、次のように定義する。
     Φn(X)=Πα ∈ Sn*(X-j \circ α)

このとき、
(a)ΦnZ[j][X].
Φnを2変数の多項式とみる場合、Φn(j,X)と書く。
(b)ΦnはC[j]上で既約である。
(c)Φn(X,Y)=Φn(Y,X)
(d)nが完全平方数でないならば、Φn(X,X)は±1から始まる係数を持つ非定数の多項式である。

■素数lに対して、modular多項式Φl(X,Y)を求める。
     Φl(j,X) = Xl+1k=1l+1{(-1)ksk(j)Xl-k+1}
となるsk(j) = sk(τ)を求めればよい。
sk(τ)は、{j(lτ),j((τ+1)/l),...,j((τ+l-1)/l)}の基本対称式である。

そこで、対称式に関するNewtonの公式を利用する。
n個の変数x1,x2,...,xnに関する基本対称式をtr(1≦r≦n)とする。つまり、
     tr = Σσ{xσ1xσ2...xσr}
とする。xiの累乗(k乗)和を
     uk = Σi=1n{xik} = x1k+x2k+...+xnk
(k≧0)とすると、以下の漸化式が成立する。

     t1 = u1,
     t2 = -(1/2)(u2-t1u1),
     t3 = (1/3)(u3-t1u2+t2u1),
     ......
     tl-1 = (-1)l(1/(l-1))(ul-1-t1ul-2+...+(-1)ltl-2u1)

つまり、xiの累乗和u1,...,ulから、xiの対称式を求めることができる。

j(lτ)を除くJl={j(τ/l),j((τ+1)/l),...,j((τ+l-1)/l)}についての基本対称式を
     t1 = Σk{j((τ+k)/l)},
     t2 = Σk,k'{j((τ+k)/l)j((τ+k')/l)},
     .....
     tl = j(τ/l)j((τ+1)/l)...j((τ+l-1)/l)
とする。ただし、t0=1, tl+1=0と置く。
このとき、
     sk = j(lτ)tk-1+tk
となる。
ここで、j(τ)のr乗を
     jr(τ) = Σm=-r{cm(r)qm}
Jlの元のr乗和を
     ur = Σm=0l-1{jr((τ+k)/l)}
とすると、
     ur = lΣn=0{cln(r)qn}    (1≦r≦l),
     ul = l(1/q+Σn=0{cln(l)qn}
となる。
jの累乗和の係数からurを求め、Newton公式により、{tk}, {sk}を求めるとよい。

最後に、{sk}がq-展開の形で求まるので、j^(l+1),j^l,..,jで割ることにより、jの多項式が求まる。
jl+1におけるqlの項の係数が必要になるので、j(q)はl(l+1)次まで求める必要がある。

■Φ2(X,Y),Φ3(X,Y),Φ5(X,Y)をPARI/GPで計算してみると以下のようになる。

l Φl(X,Y)
2 X3 + (-Y2 + 1488*Y - 162000)*X2 + (1488*Y2 + 40773375*Y + 8748000000)*X + (Y3 - 162000*Y2 + 8748000000*Y - 157464000000000)
3 X4 + (-Y3 + 2232*Y2 - 1069956*Y + 36864000)*X3 + (2232*Y3 + 2587918086*Y2 + 8900222976000*Y + 452984832000000)*X2 + (-1069956*Y3 + 8900222976000*Y2 - 770845966336000000*Y + 1855425871872000000000)*X + (Y4 + 36864000*Y3 + 452984832000000*Y2 + 1855425871872000000000*Y)
5 X6 + (-Y5 + 3720*Y4 - 4550940*Y3 + 2028551200*Y2 - 246683410950*Y + 1963211489280)*X5 + (3720*Y5 + 1665999364600*Y4 + 107878928185336800*Y3 + 383083609779811215375*Y2 + 128541798906828816384000*Y + 1284733132841424456253440)*X4 + (-4550940*Y5 + 107878928185336800*Y4 - 441206965512914835246100*Y3 + 26898488858380731577417728000*Y2 - 192457934618928299655108231168000*Y + 280244777828439527804321565297868800)*X3 + (2028551200*Y5 + 383083609779811215375*Y4 + 26898488858380731577417728000*Y3 + 5110941777552418083110765199360000*Y2 + 36554736583949629295706472332656640000*Y + 6692500042627997708487149415015068467200)*X2 + (-246683410950*Y5 + 128541798906828816384000*Y4 - 192457934618928299655108231168000*Y3 + 36554736583949629295706472332656640000*Y2 - 264073457076620596259715790247978782949376*Y + 53274330803424425450420160273356509151232000)*X + (Y6 + 1963211489280*Y5 + 1284733132841424456253440*Y4 + 280244777828439527804321565297868800*Y3 + 6692500042627997708487149415015068467200*Y2 + 53274330803424425450420160273356509151232000*Y + 141359947154721358697753474691071362751004672000)



[参考文献]


Last Update: 2005.06.12
H.Nakao

Homeに戻る[Homeに戻る]  一覧に戻る[一覧に戻る]