regulator_computation

331 days ago by arabindr

ch = var('ch') K.<a> = NumberField(ch^2 - ch - 1) E=EllipticCurve(K, [0,1,1,0,0]) 
       
def saturate_rank_one(E, norm_bound): v = E.simon_two_descent() Q = v[len(v)-1][0] if Q.order() for p in prime_range(norm_bound): if len(Q.division_points(p)) != 0: Q = Q.division_points(p)[0] return Q 
       
def saturate_rank_01(E, norm_bound): v = E.simon_two_descent() Q = v[len(v)-1][0] if Q.order() == +Infinity: for p in prime_range(norm_bound): if len(Q.division_points(p)) != 0: Q = Q.division_points(p)[0] return Q else: return 0 
       
(0 : 0 : 1)
Time: CPU 5.50 s, Wall: 5.72 s
(0 : 0 : 1)
Time: CPU 5.50 s, Wall: 5.72 s
def regulator_new(E): M = saturate_rank_01(E,20) if M: return M.height() else: return 1 
       
(1 : -1 : 1)
Time: CPU 7.46 s, Wall: 7.82 s
(1 : -1 : 1)
Time: CPU 7.46 s, Wall: 7.82 s