#16245: Compose isogenies
-------------------------------------+-------------------------------------
       Reporter:  sbesnier           |        Owner:
           Type:  defect             |       Status:  needs_review
       Priority:  major              |    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/16245            |  de93bbab579251ef42f03a22cec570a1ec61bc96
   Dependencies:  #12880             |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by pbruin):

 To continue the discussion from comment:17:ticket:12880 and
 comment:21:ticket:12880, I agree it is useful to have "formal" composition
 (returning a chain of isogenies) besides "flesh-and-blood" composition
 (returning a single isogeny).

 Which of the two the user wants depends of course on the application.  The
 "principle of least surprise" suggests that if `phi` and `psi` are of type
 `EllipticCurveIsogeny`, then `phi * psi` should again be an
 `EllipticCurveIsogeny`.  I am thinking of the analogy with integers: if
 `m` and `n` are of type `Integer`, then `m * n` returns an `Integer`,
 which does not remember `m` and `n`; there is a separate `Factorization`
 class for that.

 Hence I would be in favour of making `phi * psi` mean "flesh-and-blood"
 composition, and to have a differently named method, say `phi.chain(psi)`,
 that returns chains of isogenies.  (There doesn't seem to be an existing
 class for arbitrary finite chains of morphisms in a category;
 `sage.categories.map.FormalCompositeMap` only supports compositions of two
 morphisms.)

--
Ticket URL: <http://trac.sagemath.org/ticket/16245#comment:4>
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