# Ticket #3674: sage-trac3674new-extra3.patch

File sage-trac3674new-extra3.patch, 2.2 KB (added by cremona, 10 years ago)
• ## sage/schemes/elliptic_curves/ell_rational_field.py

```# HG changeset patch
# User tobi@laptop
# Date 1218464346 -7200
# Node ID 7dea9cd05ceab9564683e7b9d624737beed0d050
# Parent  b4bdd819f08911aec9ba47ab462c7a9bcc39b1c5
should apply after sage-trac3674new-extra2.

diff -r b4bdd819f089 -r 7dea9cd05cea sage/schemes/elliptic_curves/ell_rational_field.py```
 a class EllipticCurve_rational_field(Ellip set([2, 3, 4]) starting search of remaining points using coefficient bound  6 x-coords of extra integral points: set([2, 3, 4, 37, 406, 8, 11, 14, 816, 52, 21, 342, 93]) set([2, 3, 4, 37, 8, 342, 11, 14, 816, 52, 21, 406, 93]) Total number of integral points: 18 It is also possible to not specify mw_base, but then the class EllipticCurve_rational_field(Ellip # We use a naive method when the number of possibilities is small: if r==1 or N<=10: if r==1 and N<=10: for P in multiples(mw_base[0],N+1): use_t(P) return xs class EllipticCurve_rational_field(Ellip e1,e2,e3 = ei if r >= 2: #preprocessing of mw_base only necessary if rank > 1 mw_base = point_preprocessing(mw_base) #at most one point in #E^{egg}, saved in P_egg #E^{egg} elif disc < 0: # one real component => 1 root in RR (=: e3), # 2 roots in C (e1,e2) class EllipticCurve_rational_field(Ellip m = M.identity_matrix() for i in range(r): m[i, r] = R(c*mw_base_log[i]).round() m[r,r] = R(c*w1).round() m[r,r] = max(1,R(c*w1).round()) #ensures that m isn't singular #LLL - implemented in sage - operates on rows not on columns m_LLL = m.LLL()