Homeに戻る  一覧に戻る 

Rational Points on Elliptic Curves: v^2=u^4+u^3+u^2+u+1, y^2=x^3+x^2-3x-2


[2004.11.07]v^2=u^4+u^3+u^2+u+1, y^2=x^3+x^2-3x-2の有理点


■楕円曲線
     C: v2=u4+u3+u2+u+1
の有理点(u,v)を求める。

■楕円曲線CをWeierstrass長形式に変換すると、以下のようになる。
     E1: y2+xy+2y = x3+(3/4)x2-4x-3
ここで、双有理変換φ:C→E1は、
     x = {u -2v + 2}/{u2},
     y = {3u2 + 4u + 8v + 8}/{2u3}
であり、逆変換φ-1:E1→Cは、
     u = {4x+3}/{2y},
     v = {16x3 + 24x2 -8xy + 9x - 8y2 -6y}/{8y2}
である。

[pari/gpによる計算]
gp>  read("de14.gp")
time = 217 ms.
gp>  g2([u,v],[1,1,1,1,1])
time = 23 ms.
%1 = [(u + (2*v + 2))/u^2, (3*u^2 + 4*u + (8*v + 8))/(2*u^3)]
gp>  f2([x,y],[1,1,1,1,1])
time = 29 ms.
%2 = [2/y*x + 3/2/y, 2/y^2*x^3 + 3/y^2*x^2 + ((-8*y + 9)/(8*y^2))*x + ((-4*y - 3)/(4*y))]

■楕円曲線E1をWeierstrass標準形に変換すると、以下のようになる。
     E: Y2 = X3+X2-3X-2
ここで、双有理変換ψ=[1,0,-1/2,-1]:E1→Eは、
     X = x,
     Y = {x+2y+2}/2
であり、逆変換ψ-1=[1,0,1/2,1]:E→E1は、
     x = X,
     y = {-X+2Y-2}/2
である。

[pari/gpによる計算]
gp>  e
time = 0 ms.
%3 = [1, 3/4, 2, -4, -3, 4, -6, -8, -17, 160, 800, 2000, 2048, [1.618033988749894848204586834, -0.6180339887498948482045868343, -2.000000000000000000000000000]~, 1.856057636575666663453034012, 2.070900952361395279983105398*I, -0.8670060233687371131806434705, -2.659980032837684587610075449*I, 3.843711527222188582614595684]
gp>  e0
time = 0 ms.
%4 = [1, 0, -1/2, -1]
gp>  e2
time = 0 ms.
%5 = [0, 1, 0, -3, -2, 4, -6, -8, -17, 160, 800, 2000, 2048, [1.618033988749894848204586834, -0.6180339887498948482045868343, -2.000000000000000000000000000]~, 1.856057636575666663453034012, 2.070900952361395279983105398*I, -0.8670060233687371131806434705, -2.659980032837684587610075449*I, 3.843711527222188582614595684]
gp>  g3([x,y],e0)
time = 1 ms.
%6 = [x, 1/2*x + (y + 1)]
gp>  f3([X,Y],e0)
time = 0 ms.
%7 = [X, -1/2*X + (Y - 1)]

■双有理変換ξ=ψ o φ:C→Eを求めると、以下のようになる。
     X = {u+2v+2}/{u2},
     Y = {u3 + 2u2 + uv + 3u + 4u + 4}/{u3}

逆変換ξ-1:E→Cを求めると、
     u = {4X + 3}/{-X + 2Y - 2},
     v = {8X3 + 13X2 + 6X - 4Y2 + 5Y - 1)}/{(-X+2Y-2)2}
となる。
[pari/gpによる計算]
gp>  ggg([u,v],[1,1,1,1,1],e0)
time = 14 ms.
%8 = [(u + (2*v + 2))/u^2, (u^3 + 2*u^2 + (v + 3)*u + (4*v + 4))/u^3]
gp>  fff([X,Y],[1,1,1,1,1],e0)
time = 13 ms.
%9 = [(4*X + 3)/(-X + (2*Y - 2)), (8*X^3 + 13*X^2 + 6*X + (-4*Y^2 + 5*Y - 1))/(X^2 + (-4*Y + 4)*X + (4*Y^2 - 8*Y + 4))]

■楕円曲線Eのねじれ点群Etors(Q)は、 位数2の巡回群に同型である。

pari/gpで計算すると、以下のようになる。
     Etors(Q) = Z/2Z = { (-2,0), O }

[pari/gpでの計算結果]
gp>  elltors(e2,1)
time = 64 ms.
%10 = [2, [2], [[-2, 0]]]

■楕円曲線EのMordell-Weil群E(Q)をCremonaのmwrank3で計算すると、rankは1であり、その生成元は(-1, 1)である。

bash-2.05a$ mwrank3
Program mwrank: uses 2-descent (via 2-isogeny if possible) to
determine the rank of an elliptic curve E over Q, and list a
set of points which generate E(Q) modulo 2E(Q).
and finally search for further points on the curve.
For more details see the file mwrank.doc.
For details of algorithms see the author's book.

Please acknowledge use of this program in published work, 
and send problems to John.Cremona@nottingham.ac.uk.

Version compiled on Feb 11 2003 at 17:40:15 by GCC 3.2.1
using base arithmetic option LiDIA_ALL (LiDIA bigints and multiprecision floating point)
Using LiDIA multiprecision floating point with 15 decimal places.
Enter curve: [0, 1, 0, -3, -2]

Curve [0,1,0,-3,-2] :   
1 points of order 2:
[-2 : 0 : 1]

Using 2-isogenous curve [0,10,0,5,0]
-------------------------------------------------------
First step, determining 1st descent Selmer groups
-------------------------------------------------------
After first local descent, rank bound = 1
rk(S^{phi}(E'))=        1
rk(S^{phi'}(E))=        2

-------------------------------------------------------
Second step, determining 2nd descent Selmer groups
-------------------------------------------------------
After second local descent, rank bound = 1
rk(phi'(S^{2}(E)))=     1
rk(phi(S^{2}(E')))=     2
rk(S^{2}(E))=   2
rk(S^{2}(E'))=  2

Third step, determining E(Q)/phi(E'(Q)) and E'(Q)/phi'(E(Q))
-------------------------------------------------------
1. E(Q)/phi(E'(Q))
-------------------------------------------------------
(c,d)  =(-5,5)
(c',d')=(10,5)
This component of the rank is 0
-------------------------------------------------------
2. E'(Q)/phi'(E(Q))
-------------------------------------------------------
First stage (no second descent yet)...
(-1,0,10,0,-5):  (x:y:z) = (1:2:1)
        Curve E'        Point [-1 : -2 : 1], height = 0.146605513301181
        Curve E         Point [1 : 1 : 1], height = 0.293211026602363
After first global descent, this component of the rank = 2

-------------------------------------------------------
Summary of results:
-------------------------------------------------------
        rank(E) = 1
        #E(Q)/2E(Q) = 4

Information on III(E/Q):
        #III(E/Q)[phi']    = 1
        #III(E/Q)[2]       = 1

Information on III(E'/Q):
        #phi'(III(E/Q)[2]) = 1
        #III(E'/Q)[phi]    = 1
        #III(E'/Q)[2]      = 1

-------------------------------------------------------

List of points on E = [0,1,0,-3,-2]:

I.  Points on E mod phi(E')
--none (modulo torsion).


II. Points on phi(E') mod 2E
Point [-1 : 1 : 1], height = 0.293211026602363
-------------------------------------------------------
Computing full set of 2 coset representatives for
2E(Q) in E(Q) (modulo torsion), and sorting into height order....done.

Rank = 1
After descent, rank of points found is 1

Generator 1 is [-1 : 1 : 1]; height 0.293211026602363

The rank has been determined unconditionally.
The basis given is for a subgroup of full rank of the Mordell-Weil group
 (modulo torsion), possibly of index greater than 1.
Regulator (of this subgroup) = 0.293211026602363

 (10.5 seconds)
Enter curve: [0,0,0,0,0]

bash-2.05a$ 

■pari/gpで、楕円曲線Eの有理点をいくつか計算すると、以下のようになる。
gp>  rpE(5)
[0]
[-2, 0]
[-1, 1]
[3, -5]
[-1, -1]
[3, 5]
[2, 2]
[-3/4, -5/8]
[2, -2]
[-3/4, 5/8]
[-17/9, -19/27]
[43, 285]
[-17/9, 19/27]
[43, -285]
[89/16, -869/64]
[-162/121, 1580/1331]
[89/16, 869/64]
[-162/121, -1580/1331]
[-769/1225, -7421/42875]
[2763/1681, 31675/68921]
[-769/1225, 7421/42875]
[2763/1681, -31675/68921]
time = 3 ms.

■pari/gpで、楕円曲線E1の有理点をいくつか計算すると、以下のようになる。
gp>  rpE1(5)
[0]
[-2, 0]
[-1, 1/2]
[3, -15/2]
[-1, -3/2]
[3, 5/2]
[2, 0]
[-3/4, -5/4]
[2, -4]
[-3/4, 0]
[-17/9, -41/54]
[43, 525/2]
[-17/9, 35/54]
[43, -615/2]
[89/16, -1111/64]
[-162/121, 1140/1331]
[89/16, 627/64]
[-162/121, -2020/1331]
[-769/1225, -73677/85750]
[2763/1681, -187775/137842]
[-769/1225, -43993/85750]
[2763/1681, -314475/137842]
time = 7 ms.

■pari/gpで、楕円曲線Cの有理点をいくつか計算すると、以下のようになる。
gp>  rpC(10)
[0, 1]
[0]
[-1, -1]
[-1, 1]
[1/3, -11/9]
[3, 11]
[0]
[0, -1]
[-11/8, 101/64]
[-8/11, -101/121]
[3, -11]
[1/3, 11/9]
[-123/35, -13361/1225]
[-35/123, 13361/15129]
[-8/11, 101/121]
[-11/8, -101/64]
[808/627, 1169341/393129]
[627/808, -1169341/652864]
[-35/123, -13361/15129]
[-123/35, 13361/1225]
[-20965/43993, -1612186411/1935384049]
[-43993/20965, 1612186411/439531225]
[627/808, 1169341/652864]
[808/627, -1169341/393129]
[-761577/1404304, 1624763543401/1972069724416]
[-1404304/761577, -1624763543401/579999526929]
[-43993/20965, -1612186411/439531225]
[-20965/43993, 1612186411/1935384049]
[113095273/72676071, -20188985439712961/5281811295997041]
[72676071/113095273, 20188985439712961/12790540774944529]
[-1404304/761577, 1624763543401/579999526929]
[-761577/1404304, -1624763543401/1972069724416]
[-16258517264/3470319335, 240020196429554642201/12043116286874842225]
[-3470319335/16258517264, -240020196429554642201/264339383623786045696]
[72676071/113095273, -20188985439712961/12790540774944529]
[113095273/72676071, 20188985439712961/5281811295997041]
[-5907678749271/4692803610731, -29891946989942513908518251/22022405728889910978354361]
[-4692803610731/5907678749271, 29891946989942513908518251/34900668204588166883031441]
[-3470319335/16258517264, 240020196429554642201/264339383623786045696]
[-16258517264/3470319335, -240020196429554642201/12043116286874842225]
[418741237461085/1749162037068984, 3506790234728288196345900732301/3059567831923317756925574792256]
[1749162037068984/418741237461085, -3506790234728288196345900732301/175344223950440775736889377225]
time = 49 ms.

■楕円曲線C: y2=x4+x3+x2+x+1の整点(x,y)を求める。

文献[3]に記述されている次の定理を使うと、|x|,|y|の上界をeffectiveに求めることができる。
------------------------------------------------------------------------
[Walsh]
F,G ∈ Z[X]を整数係数のmonic多項式で、それぞれの次数をm = deg(F),n = deg(G), m >= nとし、F(X)-G(Y)はQ[X,Y]上で既約、かつ、gcd(m,n) > 1とする。
さらに、d > 1をgcd(m,n)の約数とし、H(・)を多項式のclassical height、つまり、多項式の係数の絶対値の最大値とする。

このとき、(x,y)∈ Z2が、Diophantine Equation
     F(x) = G(y)
の解であるならば、
     max{|x|,|y|} <= d{2m2}/d-m (m+1){3m}/{2d}({m/d}+1){3m}/2(h+1){m2+mn+n2}/d+2m
が成立する。
ただし、
     h = max{H(F), H(G)}
である。

------------------------------------------------------------------------

Walshの定理を適用するために、
     F(x) = x4+x3+x2+x+1,      G(y) = y2
とすると、m=4, n=2であり、gcd(m,n)=2 > 1を満たす。 F(X)はQ[X]上既約であるので、F(X)-G(Y)はQ[X,Y]上既約である。
また、h=max{H(F),H(G)}=1、d=2とする。
Walshの定理より、F(x)=G(y)の整数解(x,y)は、
     max{|x|,|y|} <= 1565515579392000
を満たす。
よって、
     |x|4-|x|3+|x|2-|x|+1 <= |x4+x3+x2+x+1| = |y|2 <= 15655155793920002
より、
     |x| <= 39566597
を得る。
この範囲で、F(x)=G(y)の整数解(x,y)を探すと、x=-1,0,3に限ることが分かる。

よって、楕円曲線
     C: y2=x4+x3+x2+x+1
の整点は、(-1,±1),(0,±1),(3,±11) に限る。

[pari/gpによる計算]
gp>  xymax(2,4,2,1)
time = 4 ms.
%1 = 1565515579392000
gp>  polroots(x^4-x^3+x^2-x+1-1565515579392000^2)
time = 188 ms.
%2 = [-39566596.51282507478780708576 + 0.E-28*I, 39566597.01282507478780728538 + 0.E-28*I, 0.2499999999999999001926253198 - 39566596.76282508268588348142*I, 0.2499999999999999001926253198 + 39566596.76282508268588348142*I]~
[gp2cによる計算]
gp>  findip(39566597)
[-1, 1]
[0, 1]
[3, 11]
time = 5mn, 27,095 ms.

[参考文献]


Last Update: 2005.06.12
H.Nakao

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