Changeset 7684:efff27d56eb3

Ignore:
Timestamp:
11/20/07 03:38:04 (6 years ago)
Branch:
default
Message:

Translate points back to curve for Simon's two descent

Location:
sage/schemes/elliptic_curves
Files:
4 edited

Unmodified
Removed
• sage/schemes/elliptic_curves/ell_generic.py

 r7683 division_polynomial = torsion_polynomial def isomporphism_to(self, other): def isomorphism_to(self, other): """ Given another weierstrass model \code{other} of self, return a morphism sage: E = EllipticCurve('37a') sage: F = E.weierstrass_model() sage: w = E.isomporphism_to(F); w sage: w = E.isomorphism_to(F); w Generic morphism: From: Abelian group of points on Elliptic Curve defined by y^2 + y = x^3 - x over Rational Field We can also handle injections to different base rings: sage: K. = NumberField(x^3-7) sage: E.isomporphism_to(E.change_ring(K)) sage: E.isomorphism_to(E.change_ring(K)) Generic morphism: From: Abelian group of points on Elliptic Curve defined by y^2 + y = x^3 - x over Rational Field else: try: phi = self.isomporphism_to(other) phi = self.isomorphism_to(other) return True except ValueError:
• sage/schemes/elliptic_curves/ell_number_field.py

 r7681 If the curve has 2-torsion, only the probable rank is returned. \note{The points are not translated back to self only because I haven't written code to do this yet.} INPUT: (1, -1, []) """ #Should this really be here? #if self.torsion_order() % 2 == 0: #    raise ArithmeticError, "curve must not have rational 2-torsion\nThe *only* reason for this is that I haven't finished implementing the wrapper\nin this case.  It wouldn't be too difficult.\nPerhaps you could do it?!  Email me (wstein@gmail.com)." # F = self.integral_weierstrass_model() # a1,a2,a3,a4,a6 = F.a_invariants() x = PolynomialRing(self.base_ring(), 'x').gen(0) t = simon_two_descent(self,
• sage/schemes/elliptic_curves/ell_rational_field.py

 r7683 Given a curve with no 2-torsion, computes (probably) the rank of the Mordell-Weil group, with certainty the rank of the 2-Selmer group, and a list of independent points on some mysterious model of the curve. \note{The points are not translated back to self only because nobody has written code to do this yet.  Implement it and send a patch.} 2-Selmer group, and a list of independent points on the curve. INPUT: verbose -- integer, 0,1,2,3; (default: 0), the verbosity level integer -- "probably" the rank of self integer -- the 2-rank of the Selmer group list    -- list of independent points on some (myserious!!) model for the curve. list    -- list of independent points on the curve. IMPLEMENTATION: Uses {\bf Denis Simon's} GP/PARI scripts from for a in ai: if not a.is_integral(): ### Is there really no prime_factors() function? pj=[fi[0] for fi in a.denom().factor()] for p in pj: for p, _ in a.denom().factor(): e  = min([(ai[i].valuation(p)/[1,2,3,4,6][i]) for i in range(5)]).floor() ai = [ai[i]/p**(e*[1,2,3,4,6][i]) for i in range(5)] integral_model = global_integral_model def integral_model(self): F = self.global_integral_model() return F, self.isomorphism_to(F) def integral_weierstrass_model(self):
• sage/schemes/elliptic_curves/weierstrass_morphism.py

 r7683 sage: F = E.change_weierstrass_model([2,3,4,5]); F Elliptic Curve defined by y^2 - 8*x*y + 22*y = x^3 - 25*x^2 + 3*x + 588 over Rational Field sage: w = E.isomporphism_to(F) sage: w = E.isomorphism_to(F) sage: P = E(-2,3,1) sage: w(P)
Note: See TracChangeset for help on using the changeset viewer.