2011-07-01-aplist

328 days ago by WilliamStein

K.<a> = NumberField(x^2 - x - 1) import psage.ellcurve.lseries.sqrt5 as sqrt5w 
       
def aplist(E, B): # doesn't give 2, 3, 5 yet v = sqrt5w.TracesOfFrobenius(E, B) v._compute_split_traces() return v.aplist() 
       
def ap(E,p): return E.change_ring(p.residue_field()).trace_of_frobenius() 
       
E = EllipticCurve([0,-1,1,-2*a-1,2*a+1]); E 
       
Elliptic Curve defined by y^2 + y = x^3 + (-1)*x^2 + (-2*a-1)*x +
(2*a+1) over Number Field in a with defining polynomial x^2 - x - 1
Elliptic Curve defined by y^2 + y = x^3 + (-1)*x^2 + (-2*a-1)*x + (2*a+1) over Number Field in a with defining polynomial x^2 - x - 1
F = E.short_weierstrass_model(); F 
       
Elliptic Curve defined by y^2 = x^3 + (-2592*a-1728)*x + (62208*a+39312)
over Number Field in a with defining polynomial x^2 - x - 1
Elliptic Curve defined by y^2 = x^3 + (-2592*a-1728)*x + (62208*a+39312) over Number Field in a with defining polynomial x^2 - x - 1
time v = aplist(E,10^6) 
       
Time: CPU 2.22 s, Wall: 2.22 s
Time: CPU 2.22 s, Wall: 2.22 s
time v[:20] 
       
[(2, 0, None), (3, 0, None), (5, 0, None), (7, 0, None), (11, 4, 0),
(11, 7, -3), (13, 0, None), (17, 0, None), (19, 9, -7), (19, 10, 2),
(23, 0, None), (29, 11, -6), (29, 18, 6), (31, 6, -4), (31, 25, -4),
(37, 0, None), (41, 13, 12), (41, 28, -3), (43, 0, None), (47, 0, None)]
Time: CPU 0.00 s, Wall: 0.00 s
[(2, 0, None), (3, 0, None), (5, 0, None), (7, 0, None), (11, 4, 0), (11, 7, -3), (13, 0, None), (17, 0, None), (19, 9, -7), (19, 10, 2), (23, 0, None), (29, 11, -6), (29, 18, 6), (31, 6, -4), (31, 25, -4), (37, 0, None), (41, 13, 12), (41, 28, -3), (43, 0, None), (47, 0, None)]
Time: CPU 0.00 s, Wall: 0.00 s
def cards(v): return [(p,p+1-ap) for p,w,ap in v if ap is not None] 
       
time z = cards(v) 
       
Time: CPU 0.21 s, Wall: 0.21 s
Time: CPU 0.21 s, Wall: 0.21 s
z[:10] 
       
[(11, 12), (11, 15), (19, 27), (19, 18), (29, 36), (29, 24), (31, 36),
(31, 36), (41, 30), (41, 45)]
[(11, 12), (11, 15), (19, 27), (19, 18), (29, 36), (29, 24), (31, 36), (31, 36), (41, 30), (41, 45)]
def prime_divisors(z, n, counts=False): """ Return ordered list of primes that divide at least n distinct entries of z. """ x = {} for p, c in z: for q in c.prime_divisors(): if x.has_key(q): x[q] += 1 else: x[q] = 1 if counts: w = [(q,m) for q,m in x.iteritems() if m>=n] else: w = [q for q,m in x.iteritems() if m>=n] w.sort() return w 
       
al3 = prime_divisors(z, 3) 
       
al3[:50] 
       
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67,
71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139,
149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223,
227, 229]
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229]
al3set = set(al3) 
       
[p for p in primes(10000) if p not in al3set] 
       
[9311, 9817]
[9311, 9817]
s = set(prime_divisors(cards(aplist(E,10^6)), 4)) [p for p in primes(10000) if p not in s] 
       
[6337, 7013, 8243, 8641, 9059, 9311, 9433, 9613, 9817]
[6337, 7013, 8243, 8641, 9059, 9311, 9433, 9613, 9817]
E = EllipticCurve([0,-a,1,-a-1,2*a+1]) 
       
s = set(prime_divisors(cards(aplist(E,10^6)), 4)) [p for p in primes(10000) if p not in s] 
       
[7757, 8167, 8369, 8707, 9133, 9463, 9631, 9941, 9973]
[7757, 8167, 8369, 8707, 9133, 9463, 9631, 9941, 9973]
s = set(prime_divisors(cards(aplist(E,10^6)), 3)) [p for p in primes(10000) if p not in s] 
       
[7757, 9463, 9941]
[7757, 9463, 9941]