# HG changeset patch
# User tobi@laptop
# Date 1218464346 7200
# Node ID 7dea9cd05ceab9564683e7b9d624737beed0d050
# Parent b4bdd819f08911aec9ba47ab462c7a9bcc39b1c5
should apply after sagetrac3674newextra2.
diff r b4bdd819f089 r 7dea9cd05cea sage/schemes/elliptic_curves/ell_rational_field.py
a

b

class EllipticCurve_rational_field(Ellip 
3787  3787  set([2, 3, 4]) 
3788  3788  starting search of remaining points using coefficient bound 6 
3789  3789  xcoords 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 
… 
… 
class EllipticCurve_rational_field(Ellip 
3909  3909  
3910  3910  # We use a naive method when the number of possibilities is small: 
3911  3911  
3912   if r==1 or N<=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 
… 
… 
class EllipticCurve_rational_field(Ellip 
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_egg 
 4016  #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) 
… 
… 
class EllipticCurve_rational_field(Ellip 
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() 