On Jul 31, 2014, at 7:37, William Stein <[email protected]> wrote: > On Wed, Jul 30, 2014 at 7:51 AM, John Cremona <[email protected]> wrote: >> I am implementing a method for elliptic curves over number fields to >> detect CM. I want to distingish between E.has_cm() and >> E.has_potential_cm(). The latter only depends on the j-invariant, and >> will return either (False, None) or (True, (d,f)) if j(E) is the >> j-invariant of the order with discriminant d*f^2 (of index f in the >> maximal order with discriminant d). The former, E.has_cm(), will only >> retrun True (with (d,f) as above if in addition d is a square in >> E.base_field() so that the additional endomorphisms are defined over >> the base field. >> >> With this convention, elliptic curves over Q never have CM, they can >> only have potential CM (iff the j-invariant is one of the 13 famous >> values). >> >> BUT the class EllipticCurve_rational_field already has a method >> has_cm() which returns the same as what I want to call >> has_potential_cm() (but without the discriminant), so this is >> inconsistent with what I want to do over other number fields. > > If a mathematician says "let E/Q be an elliptic curve with CM" that > *means* something. > Sage shouldn't be inconsistent with that... Also, I've never > seen the phrase "potential CM" in any paper (though maybe you have).
For the record, I've seen it in the wild, e.g., the recent "CM lifting" book by Chai-Conrad-Oort, and here: <http://arxiv.org/pdf/hep-th/0312319.pdf> Justin -- Justin C. Walker Curmudgeon-at-large Director Institute for the Absorption of Federal Funds ---- 186,000 Miles per Second Not just a good idea: it's the law! ---- -- You received this message because you are subscribed to the Google Groups "sage-nt" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send an email to [email protected]. Visit this group at http://groups.google.com/group/sage-nt. For more options, visit https://groups.google.com/d/optout.
