#12880: Inconsistent domain, codomain and parent in EllipticCurveIsogeny
-------------------------------------+-------------------------------------
       Reporter:  nthiery            |        Owner:  cremona
           Type:  defect             |       Status:  needs_review
       Priority:  minor              |    Milestone:  sage-6.2
      Component:  elliptic curves    |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Sébastien Besnier  |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/sbesnier/ticket/12880            |  b486f244b98a16b144cd45399eee3112ed5f824b
   Dependencies:  #11474             |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by pbruin):

 Replying to [comment:10 sbesnier]:
 > I've also make some modifications in order to make the composition
 working (essentially, remove the overload of `_composition_').
 This looks good to me overall.  The main thing I am wondering about is if
 it wouldn't make sense to keep the current version of `_composition_`
 (raise a `NotImplementedError`) until we have real composition of
 isogenies.  What I mean is that with your change, we just get a "formal"
 composition of two isogenies.  Although this may be good enough for some
 applications, what we really want is to compute the actual polynomials
 defining the composed isogeny.  From that perspective I wouldn't say that
 removing the method "makes composition work".

 The question is whether it is worth having a "formal" composition in the
 (hopefully short!) time interval until we have "flesh-and-blood"
 composition of isogenies.  In other words, wouldn't it be reasonable to
 just make the following doctest change instead of removing the
 `_composition_()` method?
 {{{
 #!diff
 diff --git a/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py
 b/src/sage/schemes/elliptic_
 curves/ell_curve_isogeny.py
 index 101b81e..8b18590 100644
 --- a/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py
 +++ b/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py
 @@ -3342,21 +3301,12 @@ class EllipticCurveIsogeny(Morphism):
              ...
              NotImplementedError

 -        The following should test that :meth:`_composition_` is called
 -        upon a product. However phi is currently improperly
 -        constructed (see :trac:`12880`), which triggers an assertion
 -        failure before the actual call ::
 +        The following tests that :meth:`_composition_` is called upon
 +        a product (see :trac:`12880`)::

              sage: phi*phi
              Traceback (most recent call last):
              ...
 -            TypeError: Elliptic Curve defined by y^2 = x^3 + 1 over
 Finite Field of size 7 is not in Category of hom sets in Category of
 Schemes
 -
 -        Here would be the desired output::
 -
 -            sage: phi*phi            # not tested
 -            Traceback (most recent call last):
 -            ...
              NotImplementedError
          """
          raise NotImplementedError
 }}}

 Another small request: would it be possible to keep the doctests of
 `domain()` and `codomain()` and move them to another place, instead of
 deleting them together with the methods?

--
Ticket URL: <http://trac.sagemath.org/ticket/12880#comment:17>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to