Function to initialize the gp process
Interface to Simon’s gp script for two-descent.
Note
Users should instead run E.simon_two_descent()
EXAMPLES:
sage: import sage.schemes.elliptic_curves.gp_simon
sage: E=EllipticCurve('389a1')
sage: sage.schemes.elliptic_curves.gp_simon.simon_two_descent(E)
(2, 2, [(5/4 : 5/8 : 1), (-3/4 : 7/8 : 1)])
TESTS:
sage: E = EllipticCurve('37a1').change_ring(QuadraticField(-11,'x'))
sage: E.simon_two_descent()
(1, 1, [(0 : 0 : 1)])
An example with an elliptic curve defined over a relative number field:
sage: F.<a> = QuadraticField(29)
sage: x = QQ['x'].gen()
sage: K.<b> = F.extension(x^2-1/2*a+1/2)
sage: E = EllipticCurve(K,[1, 0, 5/2*a + 27/2, 0, 0]) # long time (about 3 s)
sage: E.simon_two_descent(lim1=2, limtriv=3)
(1, 1, ...)
Check that trac ticket #16022 is fixed:
sage: K.<y> = NumberField(x^4 + x^2 - 7)
sage: E = EllipticCurve(K, [1, 0, 5*y^2 + 16, 0, 0])
sage: E.simon_two_descent(lim1=2, limtriv=3) # long time (about 3 s)
(1, 1, ...)
An example that checks that trac ticket #9322 is fixed (it should take less than a second to run):
sage: K.<w> = NumberField(x^2-x-232)
sage: E = EllipticCurve([2-w,18+3*w,209+9*w,2581+175*w,852-55*w])
sage: E.simon_two_descent()
(0, 2, [])