aps = ['?','?',-4,8,6,-6,-4,8,6,-6,0,-12,2,-10,0,0,8,-4,6,-18]
di={K(3*a-2): aps[0], K(3*a-1): aps[1], K(-4*a+1): aps[2], K(-4*a+3): aps[3], K(-a+6): aps[4], K(a+5): aps[5], K(5*a-2): aps[6], K(5*a-3): aps[7], K(a-7): aps[8], K(a+6): aps[9], K(7*a-2): aps[10], K(7*a-5): aps[11], K(7*a-3): aps[12], K(7*a-4): aps[13], K(a-9): aps[14], K(a+8): aps[15], K(-8*a+5): aps[16], K(-8*a+3): aps[17], K(a-10): aps[18], K(a+9): aps[19]}
N=275
cond = 15*a-10
found = False
for p in (11,19,29,31,41,59,61,71,79,89):
print 'CURRENT PRIME: ',p
r1 = K.primes_above(p)[0]
r2 = K.primes_above(p)[1]
ap1 = di[r1.gens_reduced()[0]]
ap2 = di[r2.gens_reduced()[0]]
if type(ap1) == str:
continue
c = r1.integral_basis()[1][0]
d = r2.integral_basis()[1][0]
if c>d:
r1,r2 = r2,r1
ap1,ap2 = ap2,ap1
modp = curves_in_GF(p)
firstp = []
for E in modp[ap1]:
firstp.append((int(E.a4()),int(E.a6())))
secondp = []
for E in modp[ap2]:
secondp.append((int(E.a4()),int(E.a6())))
big_list_newp = split_prime_combine(p,firstp,secondp)
print 'Length of big_list_new%s:'%p,len(big_list_newp)
current = 1
for e in big_list_newp:
print current
current += 1
A = e[0]+e[1]*a
B = e[2]+e[3]*a
for ainv in various_lifts(A,B,p):
D = quick_disc(ainv).norm()
if D%N==0:
E = EllipticCurve(K,list(ainv))
if E.conductor() == cond:
print E, 'tentative'
if check_aps_against(E,aps):
print E, 'a_ps match'
found = True
break
if found:
break
if found:
break
|
|
CURRENT PRIME: 11
CURRENT PRIME: 19
Length of big_list_new19: 432
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
CURRENT PRIME: 11
CURRENT PRIME: 19
Length of big_list_new19: 432
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|