New_Curve_Check_Worksheet_no_Galois

309 days ago by Ben.LeVeque

x = var('x') K.<a> = NumberField(x^2-x-1);K 
       
Number Field in a with defining polynomial x^2 - x - 1
Number Field in a with defining polynomial x^2 - x - 1
def grabber(line): return eval('['+line.split('[')[1].split(']')[0]+']') def grabber_paren(line): return eval('['+line.split('(')[1].split(')')[0]+']') def grabber_two(line): return eval('['+line.split(']')[1].split('[')[1].split(']')[0]+']') def grabber_N(line): return eval(line.split()[1]) 
       
def is_galois_conjugate(E,F): #eainv = E.global_minimal_model().a_invariants() fainv = F.global_minimal_model().a_invariants() fainv_conj = [] for i in range(5): fainv_conj.append(fainv[i][0]+fainv[i][1]*(1-a)) FC = EllipticCurve(K,fainv_conj).global_minimal_model() #if eainv == FC.a_invariants(): # return True if E.is_isomorphic(FC): return True else: return False 
       
E = EllipticCurve(K,[a+1,a,0,2*a,1]) F = EllipticCurve(K,[a,a-1,1,-a,0]) 
       
is_galois_conjugate(E,F) 
       
True
True

Here is the current list of curves found by looking at torsion families and twisting. Galois conjugates have been deleted:

curve1 = EllipticCurve(K,[0,-1,a,-108*a-67,684*a+423]) curve2 = EllipticCurve(K,[0,0,1,1652*a-2673,-38652*a+62540]) curve3 = EllipticCurve(K,[0,0,0,-17*a-12,-43*a-26]) curve4 = EllipticCurve(K,[0,-a-1,0,8*a-12,11*a-18]) curve5 = EllipticCurve(K,[0,0,0,-16*a-16,44*a+33]) curve6 = EllipticCurve(K,[1,0,0,121*a-211,619*a-1006]) curve7 = EllipticCurve(K,[a+1,-a,0,7*a-23,-24*a+20]) curve8= EllipticCurve(K,[1,-1,a,-44*a-27,-215*a-133]) curve9= EllipticCurve(K,[a,-a-1,0,0,-40*a-25]) curve10= EllipticCurve(K,[a,-a+1,0,202*a-329,-1553*a+2514]) curve11= EllipticCurve(K,[a+1,0,1,-1103*a-682,20454*a+12641]) curve12= EllipticCurve(K,[0,a+1,a+1,-226*a-140,1772*a+1095]) curve13= EllipticCurve(K,[a,0,a+1,-3*a-5,5*a-3]) curve14= EllipticCurve(K,[18*a-28,-105*a+170,-105*a+170,0,0]) curve15= EllipticCurve(K,[24*a-38,-165*a+267,-165*a+267,0,0]) curve16= EllipticCurve(K,[a + 1, -1, a, -54*a - 33, -63*a - 39]) curve17= EllipticCurve(K,[0,-a,0,-53*a-33,-126*a-78]) curve18= EllipticCurve(K,[a+1,1,a+1,27*a+17,27*a+17]) curve19= EllipticCurve(K,[a + 1, -a + 1, 0, 308*a - 498, -2948*a + 4770]) curve20= EllipticCurve(K,[a, a - 1, a + 1, 9*a + 3, -17*a - 6]) curve21= EllipticCurve(K,[1, -1, 1, a, -20*a - 12]) curve22= EllipticCurve(K,[1, a + 1, 0, -13*a - 13, 216*a + 128]) curve23= EllipticCurve(K,[0, a, a + 1, -223*a - 138, -2071*a - 1280]) curve24= EllipticCurve(K,[0, -a, a, -133*a - 83, -820*a - 507]) curve25= EllipticCurve(K,[0, -a, 1, -42*a - 53, -192*a - 140]) curve26= EllipticCurve(K,[0, 0, a, 112510*a - 182045, 21727126*a - 35155229]) 
       

#####################################################################

new_curve_list = [curve1,curve2,curve3,curve4,curve5,curve6,curve7, curve8,curve9,curve10,curve11,curve12,curve13,curve14, curve15,curve16,curve17,curve18,curve19,curve20,curve21, curve22,curve23,curve24,curve25,curve26] new_curve_list_copy = [curve1,curve2,curve3,curve4,curve5,curve6,curve7, curve8,curve9,curve10,curve11,curve12,curve13,curve14, curve15,curve16,curve17,curve18,curve19,curve20,curve21, curve22,curve23,curve24,curve25,curve26] 
       
current = 1 for curve in new_curve_list: if current >= 10: print current, '--', curve.conductor().norm(), curve.a_invariants() else: print current, '---', curve.conductor().norm(), curve.a_invariants() current+=1 
       
1 --- 895 (0, -1, a, -108*a - 67, 684*a + 423)
2 --- 199 (0, 0, 1, 1652*a - 2673, -38652*a + 62540)
3 --- 464 (0, 0, 0, -17*a - 12, -43*a - 26)
4 --- 704 (0, -a - 1, 0, 8*a - 12, 11*a - 18)
5 --- 784 (0, 0, 0, -16*a - 16, 44*a + 33)
6 --- 836 (1, 0, 0, 121*a - 211, 619*a - 1006)
7 --- 961 (a + 1, -a, 0, 7*a - 23, -24*a + 20)
8 --- 324 (1, -1, a, -44*a - 27, -215*a - 133)
9 --- 405 (a, -a - 1, 0, 0, -40*a - 25)
10 -- 836 (a, -a + 1, 0, 202*a - 329, -1553*a + 2514)
11 -- 396 (a + 1, 0, 1, -1103*a - 682, 20454*a + 12641)
12 -- 431 (0, a + 1, a + 1, -226*a - 140, 1772*a + 1095)
13 -- 829 (a, 0, a + 1, -3*a - 5, 5*a - 3)
14 -- 145 (18*a - 28, -105*a + 170, -105*a + 170, 0, 0)
15 -- 639 (24*a - 38, -165*a + 267, -165*a + 267, 0, 0)
16 -- 605 (a + 1, -1, a, -54*a - 33, -63*a - 39)
17 -- 400 (0, -a, 0, -53*a - 33, -126*a - 78)
18 -- 891 (a + 1, 1, a + 1, 27*a + 17, 27*a + 17)
19 -- 484 (a + 1, -a + 1, 0, 308*a - 498, -2948*a + 4770)
20 -- 836 (a, a - 1, a + 1, 9*a + 3, -17*a - 6)
21 -- 404 (1, -1, 1, a, -20*a - 12)
22 -- 775 (1, a + 1, 0, -13*a - 13, 216*a + 128)
23 -- 725 (0, a, a + 1, -223*a - 138, -2071*a - 1280)
24 -- 775 (0, -a, a, -133*a - 83, -820*a - 507)
25 -- 961 (0, -a, 1, -42*a - 53, -192*a - 140)
26 -- 725 (0, 0, a, 112510*a - 182045, 21727126*a - 35155229)
1 --- 895 (0, -1, a, -108*a - 67, 684*a + 423)
2 --- 199 (0, 0, 1, 1652*a - 2673, -38652*a + 62540)
3 --- 464 (0, 0, 0, -17*a - 12, -43*a - 26)
4 --- 704 (0, -a - 1, 0, 8*a - 12, 11*a - 18)
5 --- 784 (0, 0, 0, -16*a - 16, 44*a + 33)
6 --- 836 (1, 0, 0, 121*a - 211, 619*a - 1006)
7 --- 961 (a + 1, -a, 0, 7*a - 23, -24*a + 20)
8 --- 324 (1, -1, a, -44*a - 27, -215*a - 133)
9 --- 405 (a, -a - 1, 0, 0, -40*a - 25)
10 -- 836 (a, -a + 1, 0, 202*a - 329, -1553*a + 2514)
11 -- 396 (a + 1, 0, 1, -1103*a - 682, 20454*a + 12641)
12 -- 431 (0, a + 1, a + 1, -226*a - 140, 1772*a + 1095)
13 -- 829 (a, 0, a + 1, -3*a - 5, 5*a - 3)
14 -- 145 (18*a - 28, -105*a + 170, -105*a + 170, 0, 0)
15 -- 639 (24*a - 38, -165*a + 267, -165*a + 267, 0, 0)
16 -- 605 (a + 1, -1, a, -54*a - 33, -63*a - 39)
17 -- 400 (0, -a, 0, -53*a - 33, -126*a - 78)
18 -- 891 (a + 1, 1, a + 1, 27*a + 17, 27*a + 17)
19 -- 484 (a + 1, -a + 1, 0, 308*a - 498, -2948*a + 4770)
20 -- 836 (a, a - 1, a + 1, 9*a + 3, -17*a - 6)
21 -- 404 (1, -1, 1, a, -20*a - 12)
22 -- 775 (1, a + 1, 0, -13*a - 13, 216*a + 128)
23 -- 725 (0, a, a + 1, -223*a - 138, -2071*a - 1280)
24 -- 775 (0, -a, a, -133*a - 83, -820*a - 507)
25 -- 961 (0, -a, 1, -42*a - 53, -192*a - 140)
26 -- 725 (0, 0, a, 112510*a - 182045, 21727126*a - 35155229)
for i, curve_i in enumerate(new_curve_list): for j, curve_j in enumerate(new_curve_list_copy): if i<j and is_galois_conjugate(curve_i,curve_j): print curve_i.conductor().norm(), curve_i.a_invariants(), 'is Galois conjugate to', curve_j.conductor().norm(), curve_j.a_invariants(),'\n' 
       
new_curves=[] for i in new_curve_list: new_curves.append(list(i.a_invariants())) 
       
N_curves=[] for i in new_curve_list: N_curves.append((i.conductor().norm(),i)) 
       
len(new_curves) 
       
33
33
(curve20.conductor().norm(), curve20) in L 
       
Traceback (click to the left of this block for traceback)
...
NameError: name 'L' is not defined
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_15.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("KGN1cnZlMjAuY29uZHVjdG9yKCkubm9ybSgpLCBjdXJ2ZTIwKSBpbiBM"),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/private/var/folders/+3/+3+bRf7bGhaMk-2vvrWEvU+++TI/-Tmp-/tmpwITQWv/___code___.py", line 2, in <module>
    exec compile(u'(curve20.conductor().norm(), curve20) in L
  File "", line 1, in <module>
    
NameError: name 'L' is not defined
curve2.torsion_order() 
       
5
5
print curve13.is_isogenous(curve12), curve12.is_isomorphic(curve13) 
       
False False
False False
f = open('/Users/bleveque/Sage/known_matched_1000.txt') 
       
L = [] for line in f.readlines(): L.append((grabber_N(line),EllipticCurve(K,grabber(line)))) L.append((grabber_N(line),EllipticCurve(K,grabber_two(line)))) 
       
len(L) 
       
644
644
L[1] 
       
(31, Elliptic Curve defined by y^2 + x*y + a*y = x^3 + (-a-1)*x^2 over
Number Field in a with defining polynomial x^2 - x - 1)
(31, Elliptic Curve defined by y^2 + x*y + a*y = x^3 + (-a-1)*x^2 over Number Field in a with defining polynomial x^2 - x - 1)
def new_curve_check(curve): N = curve.conductor().norm() new_ind = 1 for cnorm,known_curve in L: if cnorm == N: if curve.is_isomorphic(known_curve) or curve.is_isogenous(known_curve): new_ind = 0 print 'broken: ',known_curve break if new_ind: L.append((N,curve)) print N, curve.a_invariants(), 'is a new curve' 
       

Below we check that the curves found by various methods are actually new, by checking against the matched.txt + Cremona-Lingham file as well as against each other:

new_curve_check(curve1) #3-torsion curve 
       
895 (0, -1, a, -108*a - 67, 684*a + 423) is a new curve
895 (0, -1, a, -108*a - 67, 684*a + 423) is a new curve
new_curve_check(curve2) #5-torsion curve 
       
199 (0, 0, 1, 1652*a - 2673, -38652*a + 62540) is a new curve
199 (0, 0, 1, 1652*a - 2673, -38652*a + 62540) is a new curve
new_curve_check(curve3) #found using 2-tor family 
       
464 (0, 0, 0, -17*a - 12, -43*a - 26) is a new curve
464 (0, 0, 0, -17*a - 12, -43*a - 26) is a new curve
new_curve_check(curve4) #found using 2-tor family 
       
704 (0, -a - 1, 0, 8*a - 12, 11*a - 18) is a new curve
704 (0, -a - 1, 0, 8*a - 12, 11*a - 18) is a new curve
new_curve_check(curve5) #found using 2-tor family 
       
784 (0, 0, 0, -16*a - 16, 44*a + 33) is a new curve
784 (0, 0, 0, -16*a - 16, 44*a + 33) is a new curve
new_curve_check(curve6) #found using 6-tor family 
       
836 (1, 0, 0, 121*a - 211, 619*a - 1006) is a new curve
836 (1, 0, 0, 121*a - 211, 619*a - 1006) is a new curve
new_curve_check(curve7) #found using twisting 
       
961 (a + 1, -a, 0, 7*a - 23, -24*a + 20) is a new curve
961 (a + 1, -a, 0, 7*a - 23, -24*a + 20) is a new curve
new_curve_check(curve8) #found using twisting 
       
324 (1, -1, a, -44*a - 27, -215*a - 133) is a new curve
324 (1, -1, a, -44*a - 27, -215*a - 133) is a new curve
new_curve_check(curve9) #found using twisting 
       
405 (a, -a - 1, 0, 0, -40*a - 25) is a new curve
405 (a, -a - 1, 0, 0, -40*a - 25) is a new curve
new_curve_check(curve10) #found using 3-tor family 
       
836 (a, -a + 1, 0, 202*a - 329, -1553*a + 2514) is a new curve
836 (a, -a + 1, 0, 202*a - 329, -1553*a + 2514) is a new curve
new_curve_check(curve11) #found using 3-tor family 
       
396 (a + 1, 0, 1, -1103*a - 682, 20454*a + 12641) is a new curve
396 (a + 1, 0, 1, -1103*a - 682, 20454*a + 12641) is a new curve
new_curve_check(curve12) #found using 3-tor family 
       
431 (0, a + 1, a + 1, -226*a - 140, 1772*a + 1095) is a new curve
431 (0, a + 1, a + 1, -226*a - 140, 1772*a + 1095) is a new curve
new_curve_check(curve13) #found using 3-tor family 
       
829 (a, 0, a + 1, -3*a - 5, 5*a - 3) is a new curve
829 (a, 0, a + 1, -3*a - 5, 5*a - 3) is a new curve
new_curve_check(curve14) #found using 7-tor family 
       
145 (18*a - 28, -105*a + 170, -105*a + 170, 0, 0) is a new curve
145 (18*a - 28, -105*a + 170, -105*a + 170, 0, 0) is a new curve
new_curve_check(curve15) #found using 7-tor family 
       
639 (24*a - 38, -165*a + 267, -165*a + 267, 0, 0) is a new curve
639 (24*a - 38, -165*a + 267, -165*a + 267, 0, 0) is a new curve
new_curve_check(curve16) #found using twisting 
       
605 (a + 1, -1, a, -54*a - 33, -63*a - 39) is a new curve
605 (a + 1, -1, a, -54*a - 33, -63*a - 39) is a new curve
new_curve_check(curve17) #found using twisting 
       
400 (0, -a, 0, -53*a - 33, -126*a - 78) is a new curve
400 (0, -a, 0, -53*a - 33, -126*a - 78) is a new curve
new_curve_check(curve18) #found using twisting 
       
891 (a + 1, 1, a + 1, 27*a + 17, 27*a + 17) is a new curve
891 (a + 1, 1, a + 1, 27*a + 17, 27*a + 17) is a new curve
new_curve_check(curve19) #found using 5-tor family 
       
484 (a + 1, -a + 1, 0, 308*a - 498, -2948*a + 4770) is a new curve
484 (a + 1, -a + 1, 0, 308*a - 498, -2948*a + 4770) is a new curve
new_curve_check(curve20) #found using 5-tor family 
       
836 (a, a - 1, a + 1, 9*a + 3, -17*a - 6) is a new curve
836 (a, a - 1, a + 1, 9*a + 3, -17*a - 6) is a new curve
new_curve_check(curve21) #found using 5-tor family 
       
404 (1, -1, 1, a, -20*a - 12) is a new curve
404 (1, -1, 1, a, -20*a - 12) is a new curve
new_curve_check(curve22) #found using twisting 
       
775 (1, a + 1, 0, -13*a - 13, 216*a + 128) is a new curve
775 (1, a + 1, 0, -13*a - 13, 216*a + 128) is a new curve
new_curve_check(curve23) #found using twisting 
       
725 (0, a, a + 1, -223*a - 138, -2071*a - 1280) is a new curve
725 (0, a, a + 1, -223*a - 138, -2071*a - 1280) is a new curve
new_curve_check(curve24) #found using twisting 
       
775 (0, -a, a, -133*a - 83, -820*a - 507) is a new curve
775 (0, -a, a, -133*a - 83, -820*a - 507) is a new curve
new_curve_check(curve25) #found using twisting 
       
961 (0, -a, 1, -42*a - 53, -192*a - 140) is a new curve
961 (0, -a, 1, -42*a - 53, -192*a - 140) is a new curve
new_curve_check(curve26) #found by twisting the new curves above 
       
725 (0, 0, a, 112510*a - 182045, 21727126*a - 35155229) is a new curve
725 (0, 0, a, 112510*a - 182045, 21727126*a - 35155229) is a new curve

################################################################

len(L) 
       
670
670
 
       
LL=[] for i,item in enumerate(L): LL.append((L[i][0],L[i][1].a_invariants())) 
       
len(LL) 
       
682
682
def twists_and_checks(E,known_curve_list,B): for i in range(-B,B+1): for j in range(-B,B+1): if i!=0 or j!=0: try: F = E.quadratic_twist(i*a+j) #.global_minimal_model() fainv = F.a_invariants() if fainv != E.a_invariants(): N = F.conductor().norm() if N < 1001: new_ind = 1 for cnorm,known_ainv in known_curve_list: G = EllipticCurve(K,list(known_ainv)) if cnorm == N: if F.is_isomorphic(G): new_ind = 0 break try: if F.is_isogenous(G): new_ind = 0 break except NotImplementedError: new_ind = 2 #if F is potentially isog. to any known, add *** if new_ind == 1: H = F.global_minimal_model() hainv = H.a_invariants() #file_to_write.write(output_string(N,H)) known_curve_list.append((N,hainv)) print 'New Curve found by twisting by',i,'*a +',j,': ',hainv if new_ind == 2: H = F.global_minimal_model() hainv = H.a_invariants() #file_to_write.write(output_string_star(N,H)) known_curve_list.append((N,hainv)) print 'New Curve: ',hainv,' ***' #print len(known_curve_list) except ArithmeticError: print 'ArithmeticError occurred' pass return known_curve_list 
       
current = 0 for curve in new_curves: print 'current:',current LL = twists_and_checks(EllipticCurve(K,curve),LL,10) 
       
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
current: 0
current: 0
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
current: 0
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
New Curve found by twisting by -5 *a + -10 :  (0, 0, a, 112510*a -
182045, 21727126*a - 35155229)
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
current: 0
current: 0
current: 0
current: 0
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
current: 0
current: 0
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
current: 0
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
New Curve found by twisting by -5 *a + -10 :  (0, 0, a, 112510*a - 182045, 21727126*a - 35155229)
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
current: 0
current: 0
current: 0
current: 0
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
current: 0
ArithmeticError occurred
 
       
E = EllipticCurve(K,[1,a+1,a,a,0]) 
       
for i in range(-10,10): for j in range(-10,10): if i!=0 or j!=0: print i,j,E.quadratic_twist(i*a+j).global_minimal_model().a_invariants() 
       
WARNING: Output truncated!  
full_output.txt



-10 -10 (0, a, 0, -57*a - 45, -366*a - 233)
-10 -9 (0, -1, 0, -1368*a - 980, -36692*a - 23076)
-10 -8 (0, a + 1, 0, -1291*a - 854, -34164*a - 21241)
-10 -7 (0, -a, 0, -1205*a - 756, -28477*a - 17613)
-10 -6 (0, -1, 0, -1108*a - 685, -25156*a - 15547)
-10 -5 (0, -a - 1, 0, -39*a - 25, -143*a - 88)
-10 -4 (0, -a, 0, -881*a - 625, -18814*a - 11439)
-10 -3 (0, -1, 0, -752*a - 636, -16540*a - 9528)
-10 -2 (0, a + 1, 0, -611*a - 674, -15336*a - 8069)
-10 -1 (0, -a, 0, -461*a - 740, -12693*a - 5185)
-10 0 (0, 1, 0, -12*a - 33, -100*a - 33)
-10 1 (0, a + 1, 0, -127*a - 953, -11865*a - 112)
-10 2 (0, -a, 0, 55*a - 1101, -11170*a + 3705)
-10 3 (0, -1, 0, -3*a - 8, -11*a)
-10 4 (0, a + 1, 0, 453*a - 1478, -13764*a + 12167)
-10 5 (0, a, 0, 27*a - 68, -139*a + 153)
-10 6 (0, -1, 0, 892*a - 1965, -18772*a + 25029)
-10 7 (0, a + 1, 0, 20*a - 32, -36*a + 56)
-10 8 (0, -a, 0, 1375*a - 2561, -26142*a + 39617)
-10 9 (0, -1, 0, 1632*a - 2900, -32396*a + 50568)
-9 -10 (a + 1, -a - 1, 1, -76*a - 68, -505*a - 337)
-9 -9 (0, -a, 0, -14*a - 11, -33*a - 22)
-9 -8 (0, a - 1, 0, -1102*a - 781, -26999*a - 16919)
-9 -7 (0, -a + 1, 0, -1032*a - 672, -23200*a - 14416)
-9 -6 (a + 1, 1, a + 1, -60*a - 37, -372*a - 230)
-9 -5 (0, a - 1, 0, -860*a - 536, -17692*a - 10928)
-9 -4 (0, -a + 1, 0, -758*a - 509, -14825*a - 9109)
-9 -3 (0, 0, 0, -645*a - 510, -12820*a - 7590)
-9 -2 (a + 1, a, a, -32*a - 33, -216*a - 117)
-9 -1 (0, -a + 1, 0, -388*a - 592, -9460*a - 4156)
-9 0 (0, -1, 0, -3*a - 8, -11*a)
-9 1 (0, a - 1, 0, -88*a - 784, -8600*a + 676)
-9 2 (a + 1, -a - 1, a, 4*a - 58, -129*a + 61)
-9 3 (0, 0, 0, 255*a - 1086, -9176*a + 6762)
-9 4 (0, a - 1, 0, 442*a - 1277, -10927*a + 11401)
-9 5 (0, -a + 1, 0, 640*a - 1496, -11984*a + 14912)
-9 6 (a + 1, 1, 0, 54*a - 108, -224*a + 291)
-9 7 (0, a - 1, 0, 1068*a - 2016, -19244*a + 28816)
-9 8 (0, -a + 1, 0, 1298*a - 2317, -21985*a + 34139)
-9 9 (0, a + 1, 0, 20*a - 32, -36*a + 56)
-8 -10 (0, -a - 1, 0, -991*a - 1046, -26100*a - 18635)
-8 -9 (0, 1, 0, -960*a - 872, -24448*a - 16524)
-8 -8 (0, a, 0, -57*a - 45, -366*a - 233)
-8 -7 (1, -a + 1, a, -55*a - 37, -281*a - 179)
-8 -6 (0, 1, 0, -800*a - 513, -16160*a - 10017)
-8 -5 (0, a, 0, -725*a - 448, -13907*a - 8595)
-8 -4 (0, -a - 1, 0, -39*a - 25, -143*a - 88)
-8 -3 (1, 0, 0, -34*a - 25, -152*a - 92)
-8 -2 (0, a, 0, -437*a - 417, -8318*a - 4605)
-8 -1 (0, -a - 1, 0, -319*a - 461, -6519*a - 2780)
-8 0 (0, 1, 0, -12*a - 33, -100*a - 33)
-8 1 (1, a - 1, a, -4*a - 39, -105*a + 17)
-8 2 (0, -a - 1, 0, 97*a - 758, -5844*a + 3125)
-8 3 (0, 1, 0, 256*a - 912, -6656*a + 5460)
-8 4 (0, a, 0, 27*a - 68, -139*a + 153)
-8 5 (1, -a + 1, a + 1, 37*a - 81, -125*a + 162)
-8 6 (0, 1, 0, 800*a - 1537, -12128*a + 17791)
-8 7 (0, a, 0, 1003*a - 1800, -15851*a + 24453)
-8 8 (0, -a - 1, 0, 77*a - 130, -312*a + 501)

...

7 -10 (a + 1, -a, a, 96*a - 158, 428*a - 693)
7 -9 (0, 1, 0, 1335*a - 2187, 21437*a - 34629)
7 -8 (0, a, 0, 1128*a - 1880, 16424*a - 26412)
7 -7 (0, -a - 1, 0, 932*a - 1600, 12972*a - 20484)
7 -6 (a + 1, -1, a + 1, 45*a - 85, 140*a - 218)
7 -5 (0, a, 0, 570*a - 1123, 7593*a - 11070)
7 -4 (0, -a - 1, 0, 406*a - 925, 6071*a - 7531)
7 -3 (0, 1, 0, 251*a - 755, 4917*a - 5053)
7 -2 (a + 1, a + 1, 1, 9*a - 37, 51*a - 53)
7 -1 (0, -a - 1, 0, -24*a - 496, 4096*a - 400)
7 0 (0, 1, 0, -147*a - 408, 4067*a + 804)
7 1 (0, a, 0, -258*a - 347, 4505*a + 2094)
7 2 (a + 1, -a, 1, -23*a - 20, 88*a + 49)
7 3 (0, 1, 0, -449*a - 307, 6749*a + 4115)
7 4 (0, a, 0, -528*a - 328, 8136*a + 5028)
7 5 (0, -a - 1, 0, -596*a - 376, 10700*a + 6620)
7 6 (a + 1, -1, 0, -41*a - 28, 179*a + 113)
7 7 (0, a, 0, -702*a - 555, 13809*a + 8938)
7 8 (0, -a - 1, 0, -738*a - 685, 17167*a + 11621)
7 9 (0, 1, 0, -765*a - 843, 18485*a + 13323)
8 -10 (0, -a, 0, 1675*a - 2753, 29982*a - 48355)
8 -9 (0, -1, 0, 1440*a - 2408, 23680*a - 37968)
8 -8 (0, a + 1, 0, 77*a - 130, 312*a - 501)
8 -7 (1, -a - 1, a, 63*a - 112, 244*a - 370)
8 -6 (0, -1, 0, 800*a - 1537, 12128*a - 17791)
8 -5 (0, a + 1, 0, 609*a - 1301, 9855*a - 13600)
8 -4 (0, -a, 0, 27*a - 68, 139*a - 153)
8 -3 (1, 1, 1, 16*a - 57, 112*a - 114)
8 -2 (0, a + 1, 0, 97*a - 758, 5844*a - 3125)
8 -1 (0, -a, 0, -53*a - 632, 6075*a - 529)
8 0 (0, -1, 0, -12*a - 33, 100*a + 33)
8 1 (1, a, a + 1, -20*a - 29, 89*a + 38)
8 2 (0, -a, 0, -437*a - 417, 8318*a + 4605)
8 3 (0, -1, 0, -544*a - 400, 9728*a + 5888)
8 4 (0, a + 1, 0, -39*a - 25, 143*a + 88)
8 5 (1, -a - 1, a + 1, -45*a - 28, 246*a + 152)
8 6 (0, -1, 0, -800*a - 513, 16160*a + 10017)
8 7 (0, a + 1, 0, -863*a - 605, 17703*a + 11104)
8 8 (0, -a, 0, -57*a - 45, 366*a + 233)
8 9 (1, 1, 0, -60*a - 54, 352*a + 231)
9 -10 (0, -a + 1, 0, 1790*a - 3001, 34607*a - 55477)
9 -9 (0, -a - 1, 0, 20*a - 32, 36*a - 56)
9 -8 (0, a - 1, 0, 1298*a - 2317, 21985*a - 34139)
9 -7 (a, a, a, 67*a - 126, 271*a - 417)
9 -6 (0, 0, 0, 849*a - 1743, 15160*a - 21246)
9 -5 (0, a - 1, 0, 640*a - 1496, 11984*a - 14912)
9 -4 (0, -a + 1, 0, 442*a - 1277, 10927*a - 11401)
9 -3 (a, -a - 1, a, 16*a - 68, 152*a - 93)
9 -2 (0, a - 1, 0, 78*a - 921, 8161*a - 2999)
9 -1 (0, -a + 1, 0, -88*a - 784, 8600*a - 676)
9 0 (0, 1, 0, -3*a - 8, 11*a)
9 1 (a, 1, a + 1, -25*a - 37, 135*a + 46)
9 2 (0, -a + 1, 0, -522*a - 537, 11207*a + 5915)
9 3 (0, 0, 0, -645*a - 510, 12820*a + 7590)
9 4 (0, a - 1, 0, -758*a - 509, 14825*a + 9109)
9 5 (a, a, 0, -53*a - 33, 233*a + 144)
9 6 (0, 0, 0, -951*a - 591, 20336*a + 12570)
9 7 (0, a - 1, 0, -1032*a - 672, 23200*a + 14416)
9 8 (0, -a + 1, 0, -1102*a - 781, 26999*a + 16919)
9 9 (a, -1, a + 1, -2*a - 1, 0)
WARNING: Output truncated!  
full_output.txt



-10 -10 (0, a, 0, -57*a - 45, -366*a - 233)
-10 -9 (0, -1, 0, -1368*a - 980, -36692*a - 23076)
-10 -8 (0, a + 1, 0, -1291*a - 854, -34164*a - 21241)
-10 -7 (0, -a, 0, -1205*a - 756, -28477*a - 17613)
-10 -6 (0, -1, 0, -1108*a - 685, -25156*a - 15547)
-10 -5 (0, -a - 1, 0, -39*a - 25, -143*a - 88)
-10 -4 (0, -a, 0, -881*a - 625, -18814*a - 11439)
-10 -3 (0, -1, 0, -752*a - 636, -16540*a - 9528)
-10 -2 (0, a + 1, 0, -611*a - 674, -15336*a - 8069)
-10 -1 (0, -a, 0, -461*a - 740, -12693*a - 5185)
-10 0 (0, 1, 0, -12*a - 33, -100*a - 33)
-10 1 (0, a + 1, 0, -127*a - 953, -11865*a - 112)
-10 2 (0, -a, 0, 55*a - 1101, -11170*a + 3705)
-10 3 (0, -1, 0, -3*a - 8, -11*a)
-10 4 (0, a + 1, 0, 453*a - 1478, -13764*a + 12167)
-10 5 (0, a, 0, 27*a - 68, -139*a + 153)
-10 6 (0, -1, 0, 892*a - 1965, -18772*a + 25029)
-10 7 (0, a + 1, 0, 20*a - 32, -36*a + 56)
-10 8 (0, -a, 0, 1375*a - 2561, -26142*a + 39617)
-10 9 (0, -1, 0, 1632*a - 2900, -32396*a + 50568)
-9 -10 (a + 1, -a - 1, 1, -76*a - 68, -505*a - 337)
-9 -9 (0, -a, 0, -14*a - 11, -33*a - 22)
-9 -8 (0, a - 1, 0, -1102*a - 781, -26999*a - 16919)
-9 -7 (0, -a + 1, 0, -1032*a - 672, -23200*a - 14416)
-9 -6 (a + 1, 1, a + 1, -60*a - 37, -372*a - 230)
-9 -5 (0, a - 1, 0, -860*a - 536, -17692*a - 10928)
-9 -4 (0, -a + 1, 0, -758*a - 509, -14825*a - 9109)
-9 -3 (0, 0, 0, -645*a - 510, -12820*a - 7590)
-9 -2 (a + 1, a, a, -32*a - 33, -216*a - 117)
-9 -1 (0, -a + 1, 0, -388*a - 592, -9460*a - 4156)
-9 0 (0, -1, 0, -3*a - 8, -11*a)
-9 1 (0, a - 1, 0, -88*a - 784, -8600*a + 676)
-9 2 (a + 1, -a - 1, a, 4*a - 58, -129*a + 61)
-9 3 (0, 0, 0, 255*a - 1086, -9176*a + 6762)
-9 4 (0, a - 1, 0, 442*a - 1277, -10927*a + 11401)
-9 5 (0, -a + 1, 0, 640*a - 1496, -11984*a + 14912)
-9 6 (a + 1, 1, 0, 54*a - 108, -224*a + 291)
-9 7 (0, a - 1, 0, 1068*a - 2016, -19244*a + 28816)
-9 8 (0, -a + 1, 0, 1298*a - 2317, -21985*a + 34139)
-9 9 (0, a + 1, 0, 20*a - 32, -36*a + 56)
-8 -10 (0, -a - 1, 0, -991*a - 1046, -26100*a - 18635)
-8 -9 (0, 1, 0, -960*a - 872, -24448*a - 16524)
-8 -8 (0, a, 0, -57*a - 45, -366*a - 233)
-8 -7 (1, -a + 1, a, -55*a - 37, -281*a - 179)
-8 -6 (0, 1, 0, -800*a - 513, -16160*a - 10017)
-8 -5 (0, a, 0, -725*a - 448, -13907*a - 8595)
-8 -4 (0, -a - 1, 0, -39*a - 25, -143*a - 88)
-8 -3 (1, 0, 0, -34*a - 25, -152*a - 92)
-8 -2 (0, a, 0, -437*a - 417, -8318*a - 4605)
-8 -1 (0, -a - 1, 0, -319*a - 461, -6519*a - 2780)
-8 0 (0, 1, 0, -12*a - 33, -100*a - 33)
-8 1 (1, a - 1, a, -4*a - 39, -105*a + 17)
-8 2 (0, -a - 1, 0, 97*a - 758, -5844*a + 3125)
-8 3 (0, 1, 0, 256*a - 912, -6656*a + 5460)
-8 4 (0, a, 0, 27*a - 68, -139*a + 153)
-8 5 (1, -a + 1, a + 1, 37*a - 81, -125*a + 162)
-8 6 (0, 1, 0, 800*a - 1537, -12128*a + 17791)
-8 7 (0, a, 0, 1003*a - 1800, -15851*a + 24453)
-8 8 (0, -a - 1, 0, 77*a - 130, -312*a + 501)

...

7 -10 (a + 1, -a, a, 96*a - 158, 428*a - 693)
7 -9 (0, 1, 0, 1335*a - 2187, 21437*a - 34629)
7 -8 (0, a, 0, 1128*a - 1880, 16424*a - 26412)
7 -7 (0, -a - 1, 0, 932*a - 1600, 12972*a - 20484)
7 -6 (a + 1, -1, a + 1, 45*a - 85, 140*a - 218)
7 -5 (0, a, 0, 570*a - 1123, 7593*a - 11070)
7 -4 (0, -a - 1, 0, 406*a - 925, 6071*a - 7531)
7 -3 (0, 1, 0, 251*a - 755, 4917*a - 5053)
7 -2 (a + 1, a + 1, 1, 9*a - 37, 51*a - 53)
7 -1 (0, -a - 1, 0, -24*a - 496, 4096*a - 400)
7 0 (0, 1, 0, -147*a - 408, 4067*a + 804)
7 1 (0, a, 0, -258*a - 347, 4505*a + 2094)
7 2 (a + 1, -a, 1, -23*a - 20, 88*a + 49)
7 3 (0, 1, 0, -449*a - 307, 6749*a + 4115)
7 4 (0, a, 0, -528*a - 328, 8136*a + 5028)
7 5 (0, -a - 1, 0, -596*a - 376, 10700*a + 6620)
7 6 (a + 1, -1, 0, -41*a - 28, 179*a + 113)
7 7 (0, a, 0, -702*a - 555, 13809*a + 8938)
7 8 (0, -a - 1, 0, -738*a - 685, 17167*a + 11621)
7 9 (0, 1, 0, -765*a - 843, 18485*a + 13323)
8 -10 (0, -a, 0, 1675*a - 2753, 29982*a - 48355)
8 -9 (0, -1, 0, 1440*a - 2408, 23680*a - 37968)
8 -8 (0, a + 1, 0, 77*a - 130, 312*a - 501)
8 -7 (1, -a - 1, a, 63*a - 112, 244*a - 370)
8 -6 (0, -1, 0, 800*a - 1537, 12128*a - 17791)
8 -5 (0, a + 1, 0, 609*a - 1301, 9855*a - 13600)
8 -4 (0, -a, 0, 27*a - 68, 139*a - 153)
8 -3 (1, 1, 1, 16*a - 57, 112*a - 114)
8 -2 (0, a + 1, 0, 97*a - 758, 5844*a - 3125)
8 -1 (0, -a, 0, -53*a - 632, 6075*a - 529)
8 0 (0, -1, 0, -12*a - 33, 100*a + 33)
8 1 (1, a, a + 1, -20*a - 29, 89*a + 38)
8 2 (0, -a, 0, -437*a - 417, 8318*a + 4605)
8 3 (0, -1, 0, -544*a - 400, 9728*a + 5888)
8 4 (0, a + 1, 0, -39*a - 25, 143*a + 88)
8 5 (1, -a - 1, a + 1, -45*a - 28, 246*a + 152)
8 6 (0, -1, 0, -800*a - 513, 16160*a + 10017)
8 7 (0, a + 1, 0, -863*a - 605, 17703*a + 11104)
8 8 (0, -a, 0, -57*a - 45, 366*a + 233)
8 9 (1, 1, 0, -60*a - 54, 352*a + 231)
9 -10 (0, -a + 1, 0, 1790*a - 3001, 34607*a - 55477)
9 -9 (0, -a - 1, 0, 20*a - 32, 36*a - 56)
9 -8 (0, a - 1, 0, 1298*a - 2317, 21985*a - 34139)
9 -7 (a, a, a, 67*a - 126, 271*a - 417)
9 -6 (0, 0, 0, 849*a - 1743, 15160*a - 21246)
9 -5 (0, a - 1, 0, 640*a - 1496, 11984*a - 14912)
9 -4 (0, -a + 1, 0, 442*a - 1277, 10927*a - 11401)
9 -3 (a, -a - 1, a, 16*a - 68, 152*a - 93)
9 -2 (0, a - 1, 0, 78*a - 921, 8161*a - 2999)
9 -1 (0, -a + 1, 0, -88*a - 784, 8600*a - 676)
9 0 (0, 1, 0, -3*a - 8, 11*a)
9 1 (a, 1, a + 1, -25*a - 37, 135*a + 46)
9 2 (0, -a + 1, 0, -522*a - 537, 11207*a + 5915)
9 3 (0, 0, 0, -645*a - 510, 12820*a + 7590)
9 4 (0, a - 1, 0, -758*a - 509, 14825*a + 9109)
9 5 (a, a, 0, -53*a - 33, 233*a + 144)
9 6 (0, 0, 0, -951*a - 591, 20336*a + 12570)
9 7 (0, a - 1, 0, -1032*a - 672, 23200*a + 14416)
9 8 (0, -a + 1, 0, -1102*a - 781, 26999*a + 16919)
9 9 (a, -1, a + 1, -2*a - 1, 0)
F=E.quadratic_twist(-5*a+2).global_minimal_model() 
       
E.quadratic_twist(-8*a-3).global_minimal_model().a_invariants() 
       
(1, 0, 0, -34*a - 25, -152*a - 92)
(1, 0, 0, -34*a - 25, -152*a - 92)
E.quadratic_twist(-21*a-13).is_isogenous(F) 
       
False
False
len(L) 
       
682
682
curve15.is_isogenous(curve7) 
       
True
True
curve15.conductor().norm() 
       
836
836