Changeset 7684:efff27d56eb3


Ignore:
Timestamp:
11/20/07 03:38:04 (6 years ago)
Author:
Robert Bradshaw <robertwb@…>
Branch:
default
Message:

Translate points back to curve for Simon's two descent

Location:
sage/schemes/elliptic_curves
Files:
4 edited

Legend:

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

    r7683 r7684  
    12841284    division_polynomial = torsion_polynomial 
    12851285 
    1286     def isomporphism_to(self, other): 
     1286    def isomorphism_to(self, other): 
    12871287        """ 
    12881288        Given another weierstrass model \code{other} of self, return a morphism 
     
    12941294            sage: E = EllipticCurve('37a') 
    12951295            sage: F = E.weierstrass_model() 
    1296             sage: w = E.isomporphism_to(F); w 
     1296            sage: w = E.isomorphism_to(F); w 
    12971297            Generic morphism: 
    12981298              From: Abelian group of points on Elliptic Curve defined by y^2 + y = x^3 - x over Rational Field 
     
    13101310          We can also handle injections to different base rings:  
    13111311              sage: K.<a> = NumberField(x^3-7) 
    1312               sage: E.isomporphism_to(E.change_ring(K)) 
     1312              sage: E.isomorphism_to(E.change_ring(K)) 
    13131313              Generic morphism: 
    13141314                From: Abelian group of points on Elliptic Curve defined by y^2 + y = x^3 - x over Rational Field 
     
    13371337        else: 
    13381338            try: 
    1339                 phi = self.isomporphism_to(other) 
     1339                phi = self.isomorphism_to(other) 
    13401340                return True 
    13411341            except ValueError: 
  • sage/schemes/elliptic_curves/ell_number_field.py

    r7681 r7684  
    7979         
    8080        If the curve has 2-torsion, only the probable rank is returned.  
    81  
    82         \note{The points are not translated back to self only because 
    83         I haven't written code to do this yet.} 
    8481         
    8582        INPUT: 
     
    129126            (1, -1, []) 
    130127        """ 
    131         #Should this really be here? 
    132         #if self.torsion_order() % 2 == 0: 
    133         #    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)." 
    134         # F = self.integral_weierstrass_model() 
    135         # a1,a2,a3,a4,a6 = F.a_invariants() 
    136128        x = PolynomialRing(self.base_ring(), 'x').gen(0) 
    137129        t = simon_two_descent(self, 
  • sage/schemes/elliptic_curves/ell_rational_field.py

    r7683 r7684  
    789789        Given a curve with no 2-torsion, computes (probably) the rank 
    790790        of the Mordell-Weil group, with certainty the rank of the 
    791         2-Selmer group, and a list of independent points on 
    792         some mysterious model of the curve. 
    793  
    794         \note{The points are not translated back to self only because 
    795         nobody has written code to do this yet.  Implement it and send  
    796         a patch.} 
    797          
     791        2-Selmer group, and a list of independent points on the curve. 
     792 
    798793        INPUT: 
    799794            verbose -- integer, 0,1,2,3; (default: 0), the verbosity level 
     
    810805            integer -- "probably" the rank of self 
    811806            integer -- the 2-rank of the Selmer group 
    812             list    -- list of independent points on some (myserious!!) model for the curve. 
     807            list    -- list of independent points on the curve. 
    813808 
    814809        IMPLEMENTATION: Uses {\bf Denis Simon's} GP/PARI scripts from 
     
    15991594        for a in ai: 
    16001595            if not a.is_integral(): 
    1601       ### Is there really no prime_factors() function? 
    1602                pj=[fi[0] for fi in a.denom().factor()] 
    1603                for p in pj: 
     1596               for p, _ in a.denom().factor(): 
    16041597                  e  = min([(ai[i].valuation(p)/[1,2,3,4,6][i]) for i in range(5)]).floor() 
    16051598                  ai = [ai[i]/p**(e*[1,2,3,4,6][i]) for i in range(5)] 
     
    16071600 
    16081601    integral_model = global_integral_model 
     1602     
     1603    def integral_model(self): 
     1604        F = self.global_integral_model() 
     1605        return F, self.isomorphism_to(F) 
    16091606 
    16101607    def integral_weierstrass_model(self): 
  • sage/schemes/elliptic_curves/weierstrass_morphism.py

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