Ticket #3674: sage-trac3674new-extra3.patch
| File sage-trac3674new-extra3.patch, 2.2 kB (added by cremona, 4 months ago) |
|---|
-
a/sage/schemes/elliptic_curves/ell_rational_field.py
old new 3787 3787 set([2, 3, 4]) 3788 3788 starting search of remaining points using coefficient bound 6 3789 3789 x-coords of extra integral points: 3790 set([2, 3, 4, 37, 406, 8, 11, 14, 816, 52, 21, 342, 93])3790 set([2, 3, 4, 37, 8, 342, 11, 14, 816, 52, 21, 406, 93]) 3791 3791 Total number of integral points: 18 3792 3792 3793 3793 It is also possible to not specify mw_base, but then the … … 3909 3909 3910 3910 # We use a naive method when the number of possibilities is small: 3911 3911 3912 if r==1 orN<=10:3912 if r==1 and N<=10: 3913 3913 for P in multiples(mw_base[0],N+1): 3914 3914 use_t(P) 3915 3915 return xs … … 4013 4013 e1,e2,e3 = ei 4014 4014 if r >= 2: #preprocessing of mw_base only necessary if rank > 1 4015 4015 mw_base = point_preprocessing(mw_base) #at most one point in 4016 #E^{egg} , saved in P_egg4016 #E^{egg} 4017 4017 4018 4018 elif disc < 0: # one real component => 1 root in RR (=: e3), 4019 4019 # 2 roots in C (e1,e2) … … 4094 4094 m = M.identity_matrix() 4095 4095 for i in range(r): 4096 4096 m[i, r] = R(c*mw_base_log[i]).round() 4097 m[r,r] = R(c*w1).round()4097 m[r,r] = max(1,R(c*w1).round()) #ensures that m isn't singular 4098 4098 4099 4099 #LLL - implemented in sage - operates on rows not on columns 4100 4100 m_LLL = m.LLL()