Sage: Ticket #12880: Inconsistent domain, codomain and parent in EllipticCurveIsogeny
https://trac.sagemath.org/ticket/12880
<p>
In the following example, the domain and codomain of phi do not match those of its parent::
</p>
<pre class="wiki">sage: E = EllipticCurve(j=GF(7)(0))
sage: phi = EllipticCurveIsogeny(E, [E(0), E((0,1)), E((0,-1))])
sage: phi.parent()
Set of Morphisms from Abelian group of points on Elliptic Curve defined by y^2 = x^3 + 1 over Finite Field of size 7 to Abelian group of points on Elliptic Curve defined by y^2 = x^3 + 1 over Finite Field of size 7 in Category of hom sets in Category of Schemes
sage: phi.parent().domain()
Abelian group of points on Elliptic Curve defined by y^2 = x^3 + 1 over Finite Field of size 7
sage: phi.domain()
Elliptic Curve defined by y^2 = x^3 + 1 over Finite Field of size 7
sage: phi.parent().codomain()
Abelian group of points on Elliptic Curve defined by y^2 = x^3 + 1 over Finite Field of size 7
sage: phi.codomain()
Elliptic Curve defined by y^2 = x^3 + 1 over Finite Field of size 7
</pre>en-usSagehttps://trac.sagemath.org/chrome/site/logo_sagemath_trac.png
https://trac.sagemath.org/ticket/12880
Trac 1.1.6davidloefflerThu, 25 Jul 2013 17:32:38 GMTowner, component changed
https://trac.sagemath.org/ticket/12880#comment:1
https://trac.sagemath.org/ticket/12880#comment:1
<ul>
<li><strong>owner</strong>
changed from <em>was</em> to <em>cremona</em>
</li>
<li><strong>component</strong>
changed from <em>number theory</em> to <em>elliptic curves</em>
</li>
</ul>
TicketjdemeyerTue, 13 Aug 2013 15:35:53 GMTmilestone changed
https://trac.sagemath.org/ticket/12880#comment:2
https://trac.sagemath.org/ticket/12880#comment:2
<ul>
<li><strong>milestone</strong>
changed from <em>sage-5.11</em> to <em>sage-5.12</em>
</li>
</ul>
Ticketvbraun_spamThu, 30 Jan 2014 21:20:52 GMTmilestone changed
https://trac.sagemath.org/ticket/12880#comment:3
https://trac.sagemath.org/ticket/12880#comment:3
<ul>
<li><strong>milestone</strong>
changed from <em>sage-6.1</em> to <em>sage-6.2</em>
</li>
</ul>
TicketpbruinMon, 07 Apr 2014 09:25:10 GMTcc changed
https://trac.sagemath.org/ticket/12880#comment:4
https://trac.sagemath.org/ticket/12880#comment:4
<ul>
<li><strong>cc</strong>
<em>pbruin</em> added
</li>
</ul>
TicketcremonaMon, 07 Apr 2014 20:08:29 GMT
https://trac.sagemath.org/ticket/12880#comment:5
https://trac.sagemath.org/ticket/12880#comment:5
<p>
I have used elliptic curve isogenies a huge amount and this has never bothered me, presumably because it never occurred to me to ask for the parent of an isogeny. If anyone wants to change this without breaking anything they are welcome, but I don't care very much.
</p>
TicketpbruinTue, 08 Apr 2014 00:22:34 GMTpriority, description changed; dependencies set
https://trac.sagemath.org/ticket/12880#comment:6
https://trac.sagemath.org/ticket/12880#comment:6
<ul>
<li><strong>priority</strong>
changed from <em>major</em> to <em>minor</em>
</li>
<li><strong>dependencies</strong>
set to <em>#11474</em>
</li>
<li><strong>description</strong>
modified (<a href="/ticket/12880?action=diff&version=6">diff</a>)
</li>
</ul>
<p>
It should be very easy to fix in principle:
</p>
<div class="wiki-code"><div xmlns="http://www.w3.org/1999/xhtml" class="diff">
<ul class="entries">
<li class="entry">
<h2>
<a>src/sage/schemes/elliptic_curves/ell_curve_isogeny.py</a>
</h2>
<pre>diff --git a/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py b/src/sage/schemes/e
index 5cdbbdf..a729d3a 100644</pre>
<table class="trac-diff inline" summary="Differences" cellspacing="0">
<colgroup><col class="lineno" /><col class="lineno" /><col class="content" /></colgroup>
<thead>
<tr>
<th title="File a/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py">
a
</th>
<th title="File b/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py">
b
</th>
<td><em> class EllipticCurveIsogeny(Morphism):</em> </td>
</tr>
</thead>
<tbody class="unmod">
<tr>
<th>1322</th><th>1322</th><td class="l"><span> self._codomain = self.__E2</span></td>
</tr><tr>
<th>1323</th><th>1323</th><td class="l"><span></span></td>
</tr><tr>
<th>1324</th><th>1324</th><td class="l"><span> # sets up the parent</span></td>
</tr>
</tbody><tbody class="mod">
<tr class="first">
<th>1325</th><th> </th><td class="l"><span> parent = homset.Hom(self.__E1<del>(0).parent(), self.__E2(0).parent()</del>)</span></td>
</tr>
<tr class="last">
<th> </th><th>1325</th><td class="r"><span> parent = homset.Hom(self.__E1<ins>, self.__E2</ins>)</span></td>
</tr>
</tbody><tbody class="unmod">
<tr>
<th>1326</th><th>1326</th><td class="l"><span> Morphism.__init__(self, parent)</span></td>
</tr><tr>
<th>1327</th><th>1327</th><td class="l"><span></span></td>
</tr>
</tbody><tbody class="rem">
<tr class="first">
<th>1328</th><th> </th><td class="l"><del> return</del></td>
</tr><tr>
<th>1329</th><th> </th><td class="l"><del></del></td>
</tr><tr class="last">
<th>1330</th><th> </th><td class="l"><del></del></td>
</tr>
</tbody><tbody class="unmod">
<tr>
<th>1331</th><th>1328</th><td class="l"><span> # initializes the base field</span></td>
</tr><tr>
<th>1332</th><th>1329</th><td class="l"><span> def __init_algebraic_structs(self, E):</span></td>
</tr><tr>
<th>1333</th><th>1330</th><td class="l"><span> r"""</span></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div></div><p>
The only problem is that this breaks testing for equality of isogenies, due to <a class="closed ticket" href="https://trac.sagemath.org/ticket/11474" title="defect: Elliptic curves should be unique parent structures (closed: fixed)">#11474</a>. Suppose <code>E -> E1</code> is an isogeny and <code>E2</code> is an elliptic curve that is equal but not <em>identical</em> to <code>E1</code>. Then <code>Hom(E, E1)</code> and <code>Hom(E, E2)</code> will also be equal but not identical; since the coercion model assumes uniqueness of parents, it will never regard corresponding elements of <code>Hom(E, E1)</code> and <code>Hom(E, E2)</code> as equal.
</p>
<p>
For some reason the Hom sets between the groups of points, on the other hand, <em>are</em> identical, which explains why equality testing currently is not broken.
</p>
TicketdefeoFri, 11 Apr 2014 22:07:18 GMTcc changed
https://trac.sagemath.org/ticket/12880#comment:7
https://trac.sagemath.org/ticket/12880#comment:7
<ul>
<li><strong>cc</strong>
<em>defeo</em> <em>sbesnier</em> added
</li>
</ul>
TicketsbesnierFri, 25 Apr 2014 09:09:09 GMTcommit, branch set
https://trac.sagemath.org/ticket/12880#comment:8
https://trac.sagemath.org/ticket/12880#comment:8
<ul>
<li><strong>commit</strong>
set to <em>e623041b239f32098efb927f68a240529644b625</em>
</li>
<li><strong>branch</strong>
set to <em>u/sbesnier/ticket/12880</em>
</li>
</ul>
<p>
New commits:
</p>
<table class="wiki">
<tr><td><a class="ext-link" href="http://git.sagemath.org/sage.git/commit/?id=de687fc9fd67d7015c908bd6f99e1a2207da1bbc"><span class="icon"></span>de687fc</a></td><td><code>Correcting the ticket 12880. I've also make some modifications in order</code>
</td></tr><tr><td><a class="ext-link" href="http://git.sagemath.org/sage.git/commit/?id=e623041b239f32098efb927f68a240529644b625"><span class="icon"></span>e623041</a></td><td><code>Merge remote-tracking branch 'origin/develop'</code>
</td></tr></table>
TicketsbesnierFri, 25 Apr 2014 09:10:35 GMTauthor set
https://trac.sagemath.org/ticket/12880#comment:9
https://trac.sagemath.org/ticket/12880#comment:9
<ul>
<li><strong>author</strong>
set to <em>Sébastien Besnier</em>
</li>
</ul>
TicketsbesnierFri, 25 Apr 2014 09:12:12 GMT
https://trac.sagemath.org/ticket/12880#comment:10
https://trac.sagemath.org/ticket/12880#comment:10
<p>
I've also make some modifications in order to make the composition working (essentially, remove the overload of `_composition_').
</p>
TicketsbesnierFri, 25 Apr 2014 10:00:11 GMTstatus changed
https://trac.sagemath.org/ticket/12880#comment:11
https://trac.sagemath.org/ticket/12880#comment:11
<ul>
<li><strong>status</strong>
changed from <em>new</em> to <em>needs_review</em>
</li>
</ul>
TicketdefeoFri, 25 Apr 2014 14:55:39 GMTstatus changed
https://trac.sagemath.org/ticket/12880#comment:12
https://trac.sagemath.org/ticket/12880#comment:12
<ul>
<li><strong>status</strong>
changed from <em>needs_review</em> to <em>needs_work</em>
</li>
</ul>
<p>
Wow. It's so cool to be finally able to compose isogenies!
</p>
<p>
There's various doctests failing in <code>ell_curve_isogeny.py</code>. Most of them are because of <a class="closed ticket" href="https://trac.sagemath.org/ticket/11474" title="defect: Elliptic curves should be unique parent structures (closed: fixed)">#11474</a>, so they should be ok once that one's fixed. However there's one weird failure, not sure if it depends on <a class="closed ticket" href="https://trac.sagemath.org/ticket/11474" title="defect: Elliptic curves should be unique parent structures (closed: fixed)">#11474</a> too:
</p>
<pre class="wiki">File "src/sage/schemes/elliptic_curves/ell_curve_isogeny.py", line 945, in sage.schemes.elliptic_curves.ell_curve_isogeny.EllipticCurveIsogeny._call_
Failed example:
phi(E(15,20), output_base_ring=GF(23^2,'alpha'))
Exception raised:
Traceback (most recent call last):
File "/home/dfl/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 480, in _run
self.execute(example, compiled, test.globs)
File "/home/dfl/sage/local/lib/python2.7/site-packages/sage/doctest/forker.py", line 839, in execute
exec compiled in globs
File "<doctest sage.schemes.elliptic_curves.ell_curve_isogeny.EllipticCurveIsogeny._call_[6]>", line 1, in <module>
phi(E(Integer(15),Integer(20)), output_base_ring=GF(Integer(23)**Integer(2),'alpha'))
File "map.pyx", line 764, in sage.categories.map.Map.__call__ (sage/categories/map.c:5434)
File "map.pyx", line 797, in sage.categories.map.Map._call_with_args (sage/categories/map.c:5698)
NotImplementedError: _call_with_args not overridden to accept arguments for <class 'sage.schemes.elliptic_curves.ell_curve_isogeny.EllipticCurveIsogeny'>
</pre>
TicketsbesnierFri, 25 Apr 2014 15:04:40 GMT
https://trac.sagemath.org/ticket/12880#comment:13
https://trac.sagemath.org/ticket/12880#comment:13
<p>
Oh I think I'm responsible for that. I've brutally renamed "__call__" to "_call_". I try to look at this.
</p>
TicketgitFri, 25 Apr 2014 17:37:23 GMTcommit changed
https://trac.sagemath.org/ticket/12880#comment:14
https://trac.sagemath.org/ticket/12880#comment:14
<ul>
<li><strong>commit</strong>
changed from <em>e623041b239f32098efb927f68a240529644b625</em> to <em>b486f244b98a16b144cd45399eee3112ed5f824b</em>
</li>
</ul>
<p>
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
</p>
<table class="wiki">
<tr><td><a class="ext-link" href="http://git.sagemath.org/sage.git/commit/?id=b486f244b98a16b144cd45399eee3112ed5f824b"><span class="icon"></span>b486f24</a></td><td><code>Fix parents, domain, codomain and _composition_ isogenies.</code>
</td></tr></table>
TicketsbesnierFri, 25 Apr 2014 17:39:39 GMTstatus changed
https://trac.sagemath.org/ticket/12880#comment:15
https://trac.sagemath.org/ticket/12880#comment:15
<ul>
<li><strong>status</strong>
changed from <em>needs_work</em> to <em>needs_review</em>
</li>
</ul>
TicketsbesnierFri, 25 Apr 2014 17:49:46 GMT
https://trac.sagemath.org/ticket/12880#comment:16
https://trac.sagemath.org/ticket/12880#comment:16
<p>
I've moved the "weird failure" reported at the comment 12 in <a class="closed ticket" href="https://trac.sagemath.org/ticket/16238" title="defect: Correct call convention for isogenies (closed: fixed)">#16238</a>. Currently, the only failures on doctests depend on <a class="closed ticket" href="https://trac.sagemath.org/ticket/11474" title="defect: Elliptic curves should be unique parent structures (closed: fixed)">#11474</a>.
</p>
<p>
It's one of the first time I use git and I had to change the history of the branch because of bad manipulations. I hope it won't bother anybody... Promise I won't do that again!
</p>
TicketpbruinFri, 25 Apr 2014 23:00:23 GMT
https://trac.sagemath.org/ticket/12880#comment:17
https://trac.sagemath.org/ticket/12880#comment:17
<p>
Replying to <a class="ticket" href="https://trac.sagemath.org/ticket/12880#comment:10" title="Comment 10">sbesnier</a>:
</p>
<blockquote class="citation">
<p>
I've also make some modifications in order to make the composition working (essentially, remove the overload of `_composition_').
</p>
</blockquote>
<p>
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 <code>_composition_</code> (raise a <code>NotImplementedError</code>) 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".
</p>
<p>
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 <code>_composition_()</code> method?
</p>
<div class="wiki-code"><div xmlns="http://www.w3.org/1999/xhtml" class="diff">
<ul class="entries">
<li class="entry">
<h2>
<a>src/sage/schemes/elliptic_curves/ell_curve_isogeny.py</a>
</h2>
<pre>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</pre>
<table class="trac-diff inline" summary="Differences" cellspacing="0">
<colgroup><col class="lineno" /><col class="lineno" /><col class="content" /></colgroup>
<thead>
<tr>
<th title="File a/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py">
a
</th>
<th title="File b/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py">
b
</th>
<td><em> class EllipticCurveIsogeny(Morphism):</em> </td>
</tr>
</thead>
<tbody class="unmod">
<tr>
<th>3342</th><th>3301</th><td class="l"><span> ...</span></td>
</tr><tr>
<th>3343</th><th>3302</th><td class="l"><span> NotImplementedError</span></td>
</tr><tr>
<th>3344</th><th>3303</th><td class="l"><span></span></td>
</tr>
</tbody><tbody class="mod">
<tr class="first">
<th>3345</th><th> </th><td class="l"><span> The following should test that :meth:`_composition_` is called</span></td>
</tr><tr>
<th>3346</th><th> </th><td class="l"><span> upon a product. However phi is currently improperly</span></td>
</tr><tr>
<th>3347</th><th> </th><td class="l"><span> constructed (see :trac:`12880`), which triggers an assertion</span></td>
</tr><tr>
<th>3348</th><th> </th><td class="l"><span> failure before the actual call ::</span></td>
</tr>
<tr>
<th> </th><th>3304</th><td class="r"><span> The following tests that :meth:`_composition_` is called upon</span></td>
</tr><tr class="last">
<th> </th><th>3305</th><td class="r"><span> a product (see :trac:`12880`)::</span></td>
</tr>
</tbody><tbody class="unmod">
<tr>
<th>3349</th><th>3306</th><td class="l"><span></span></td>
</tr><tr>
<th>3350</th><th>3307</th><td class="l"><span> sage: phi*phi</span></td>
</tr><tr>
<th>3351</th><th>3308</th><td class="l"><span> Traceback (most recent call last):</span></td>
</tr><tr>
<th>3352</th><th>3309</th><td class="l"><span> ...</span></td>
</tr>
</tbody><tbody class="rem">
<tr class="first">
<th>3353</th><th> </th><td class="l"><del> 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</del></td>
</tr><tr>
<th>3354</th><th> </th><td class="l"><del></del></td>
</tr><tr>
<th>3355</th><th> </th><td class="l"><del> Here would be the desired output::</del></td>
</tr><tr>
<th>3356</th><th> </th><td class="l"><del></del></td>
</tr><tr>
<th>3357</th><th> </th><td class="l"><del> sage: phi*phi # not tested</del></td>
</tr><tr>
<th>3358</th><th> </th><td class="l"><del> Traceback (most recent call last):</del></td>
</tr><tr class="last">
<th>3359</th><th> </th><td class="l"><del> ...</del></td>
</tr>
</tbody><tbody class="unmod">
<tr>
<th>3360</th><th>3310</th><td class="l"><span> NotImplementedError</span></td>
</tr><tr>
<th>3361</th><th>3311</th><td class="l"><span> """</span></td>
</tr><tr>
<th>3362</th><th>3312</th><td class="l"><span> raise NotImplementedError</span></td>
</tr>
</tbody>
</table>
</li>
</ul>
</div></div><p>
Another small request: would it be possible to keep the doctests of <code>domain()</code> and <code>codomain()</code> and move them to another place, instead of deleting them together with the methods?
</p>
TicketpbruinFri, 25 Apr 2014 23:24:05 GMT
https://trac.sagemath.org/ticket/12880#comment:18
https://trac.sagemath.org/ticket/12880#comment:18
<p>
Alternatively, instead of the <code>NotImplementedError</code>, we could temporarily "implement" <code>_composition_()</code> as
</p>
<pre class="wiki">return super(EllipticCurveIsogeny, self)._composition_(self, right, homset)`
</pre><p>
This just calls the method of the superclass and hence is practically the same as deleting the method, but it makes it clearer where the "real" <code>_composition_()</code> will have to be implemented.
</p>
TicketpbruinFri, 25 Apr 2014 23:26:22 GMTstatus changed
https://trac.sagemath.org/ticket/12880#comment:19
https://trac.sagemath.org/ticket/12880#comment:19
<ul>
<li><strong>status</strong>
changed from <em>needs_review</em> to <em>needs_work</em>
</li>
</ul>
<p>
One last thing: whatever the fate of <code>_composition_()</code>, can we at least keep the doctests for that method too?
</p>
TicketpbruinFri, 25 Apr 2014 23:30:43 GMT
https://trac.sagemath.org/ticket/12880#comment:20
https://trac.sagemath.org/ticket/12880#comment:20
<p>
By the way, there is a "wishlist" ticket at <a class="new ticket" href="https://trac.sagemath.org/ticket/7368" title="enhancement: Further work on isogenies and endomorphisms of elliptic curves (new)">#7368</a> that also includes composition of isogenies. I think we should open a separate ticket for composition, since we are obviously not going to do all of <a class="new ticket" href="https://trac.sagemath.org/ticket/7368" title="enhancement: Further work on isogenies and endomorphisms of elliptic curves (new)">#7368</a> at the same time.
</p>
TicketdefeoSat, 26 Apr 2014 00:08:03 GMT
https://trac.sagemath.org/ticket/12880#comment:21
https://trac.sagemath.org/ticket/12880#comment:21
<blockquote class="citation">
<p>
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 <code>_composition_</code> (raise a <code>NotImplementedError</code>) 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".
</p>
</blockquote>
<p>
I'd rather say the opposite. There are applications where formal composition is the desired result.
</p>
<p>
Formal composition is essentially free, while "flesh-and-blood" composition may be expensive (exponential in the length of the chain). There are cryptosystems that exploit this fact, Sage should make it easy to implement them in a few lines of code.
</p>
<p>
I'm more in favour of using formal composition by default, and having a method (<code>.normalize()</code>, maybe?) to compute the "flesh-and-blood" version. Subsidiary question : what should equality do in this case?
</p>
<blockquote class="citation">
<p>
I think we should open a separate ticket for composition, since we are obviously not going to do all of <a class="new ticket" href="https://trac.sagemath.org/ticket/7368" title="enhancement: Further work on isogenies and endomorphisms of elliptic curves (new)">#7368</a> at the same time.
</p>
</blockquote>
<p>
Agreed. It would be a better place to continue this discussion.
</p>
TicketsbesnierSat, 26 Apr 2014 20:44:04 GMTstatus changed
https://trac.sagemath.org/ticket/12880#comment:22
https://trac.sagemath.org/ticket/12880#comment:22
<ul>
<li><strong>status</strong>
changed from <em>needs_work</em> to <em>needs_review</em>
</li>
</ul>
<p>
I've corrected the things pointed by Peter (essentially, doctests).I've made a "push" but it doesnt seem to appear here...
</p>
<p>
Edit: hum... I think I have to update the "commit" attribute of the ticket, but it always fails. The new commit is : 73d99af403e760801ae2576dfbb6f7629d629f30, it's visible from sage.git : <a class="ext-link" href="http://git.sagemath.org/sage.git/commit/?id=73d99af403e760801ae2576dfbb6f7629d629f30"><span class="icon"></span>http://git.sagemath.org/sage.git/commit/?id=73d99af403e760801ae2576dfbb6f7629d629f30</a>
</p>
<p>
What am I doing wrong?
</p>
TicketsbesnierSat, 26 Apr 2014 21:52:14 GMTcommit, branch deleted
https://trac.sagemath.org/ticket/12880#comment:23
https://trac.sagemath.org/ticket/12880#comment:23
<ul>
<li><strong>commit</strong>
<em>b486f244b98a16b144cd45399eee3112ed5f824b</em> deleted
</li>
<li><strong>branch</strong>
<em>u/sbesnier/ticket/12880</em> deleted
</li>
</ul>
TicketsbesnierSat, 26 Apr 2014 21:52:24 GMTcommit, branch set
https://trac.sagemath.org/ticket/12880#comment:24
https://trac.sagemath.org/ticket/12880#comment:24
<ul>
<li><strong>commit</strong>
set to <em>b486f244b98a16b144cd45399eee3112ed5f824b</em>
</li>
<li><strong>branch</strong>
set to <em>u/sbesnier/ticket/12880</em>
</li>
</ul>
<p>
New commits:
</p>
<table class="wiki">
<tr><td><a class="ext-link" href="http://git.sagemath.org/sage.git/commit/?id=b486f244b98a16b144cd45399eee3112ed5f824b"><span class="icon"></span>b486f24</a></td><td><code>Fix parents, domain, codomain and _composition_ isogenies.</code>
</td></tr></table>
TicketsbesnierSat, 26 Apr 2014 22:10:52 GMT
https://trac.sagemath.org/ticket/12880#comment:25
https://trac.sagemath.org/ticket/12880#comment:25
<p>
New commits:
</p>
<table class="wiki">
<tr><td><a class="ext-link" href="http://git.sagemath.org/sage.git/commit/?id=b486f244b98a16b144cd45399eee3112ed5f824b"><span class="icon"></span>b486f24</a></td><td><code>Fix parents, domain, codomain and _composition_ isogenies.</code>
</td></tr></table>
TicketdefeoSat, 26 Apr 2014 22:45:06 GMT
https://trac.sagemath.org/ticket/12880#comment:26
https://trac.sagemath.org/ticket/12880#comment:26
<blockquote class="citation">
<p>
Edit: hum... I think I have to update the "commit" attribute of the ticket, but it always fails. The new commit is : 73d99af403e760801ae2576dfbb6f7629d629f30, it's visible from sage.git : <a class="ext-link" href="http://git.sagemath.org/sage.git/commit/?id=73d99af403e760801ae2576dfbb6f7629d629f30"><span class="icon"></span>http://git.sagemath.org/sage.git/commit/?id=73d99af403e760801ae2576dfbb6f7629d629f30</a>
</p>
</blockquote>
<p>
The 'commit' field is not meant to be edited manually. Changing it has no effect.
</p>
<p>
There are two similarly named branches on trac: <code>u/sbesnier/ticket/12880</code> and <code>u/sbesnier/ticket12880</code>. Maybe you wanted the second one (change the 'branch' field in this case).
</p>
TicketsbesnierSat, 26 Apr 2014 22:46:35 GMTcommit, branch changed
https://trac.sagemath.org/ticket/12880#comment:27
https://trac.sagemath.org/ticket/12880#comment:27
<ul>
<li><strong>commit</strong>
changed from <em>b486f244b98a16b144cd45399eee3112ed5f824b</em> to <em>73d99af403e760801ae2576dfbb6f7629d629f30</em>
</li>
<li><strong>branch</strong>
changed from <em>u/sbesnier/ticket/12880</em> to <em>u/sbesnier/ticket12880</em>
</li>
</ul>
<p>
New commits:
</p>
<table class="wiki">
<tr><td><a class="ext-link" href="http://git.sagemath.org/sage.git/commit/?id=73d99af403e760801ae2576dfbb6f7629d629f30"><span class="icon"></span>73d99af</a></td><td><code>Corrects the precedent commit.</code>
</td></tr></table>
TicketpbruinMon, 28 Apr 2014 11:23:55 GMT
https://trac.sagemath.org/ticket/12880#comment:28
https://trac.sagemath.org/ticket/12880#comment:28
<p>
A few small stylistic comments about docstrings:
</p>
<ul><li>To refer to Trac tickets, use the syntax <code>:trac:`12880`</code> (in the HTML documentation, this is expanded to "Trac ticket 12880" and becomes a link).
</li><li>Usually <code>TESTS:</code> or <code>TESTS::</code> is kept on a line by itself and, if relevant, there is a separate line of explanation referring to the specific issue, i.e. one of the following:
<pre class="wiki">TESTS::
sage: 2 + 2
4
----
TESTS:
Check that `2 + 2 = 4` (see :trac:`12880`)::
sage: 2 + 2
4
</pre></li><li>In English, unlike in French, there is no space before the punctuation marks : ; ? !
</li></ul>
TicketgitMon, 28 Apr 2014 11:52:28 GMTcommit changed
https://trac.sagemath.org/ticket/12880#comment:29
https://trac.sagemath.org/ticket/12880#comment:29
<ul>
<li><strong>commit</strong>
changed from <em>73d99af403e760801ae2576dfbb6f7629d629f30</em> to <em>09fdbedfa23931be1035e8860c61eb4a233b61ea</em>
</li>
</ul>
<p>
Branch pushed to git repo; I updated commit sha1. New commits:
</p>
<table class="wiki">
<tr><td><a class="ext-link" href="http://git.sagemath.org/sage.git/commit/?id=09fdbedfa23931be1035e8860c61eb4a233b61ea"><span class="icon"></span>09fdbed</a></td><td><code>Corrects stylistic staff in doctests.</code>
</td></tr></table>
Ticketvbraun_spamTue, 06 May 2014 15:20:58 GMTmilestone changed
https://trac.sagemath.org/ticket/12880#comment:30
https://trac.sagemath.org/ticket/12880#comment:30
<ul>
<li><strong>milestone</strong>
changed from <em>sage-6.2</em> to <em>sage-6.3</em>
</li>
</ul>
TicketpbruinWed, 16 Jul 2014 21:41:28 GMTstatus, commit, branch changed; keywords, reviewer set
https://trac.sagemath.org/ticket/12880#comment:31
https://trac.sagemath.org/ticket/12880#comment:31
<ul>
<li><strong>status</strong>
changed from <em>needs_review</em> to <em>positive_review</em>
</li>
<li><strong>commit</strong>
changed from <em>09fdbedfa23931be1035e8860c61eb4a233b61ea</em> to <em>02bc4122b7a49400e327f3a0259890eb0cce6705</em>
</li>
<li><strong>branch</strong>
changed from <em>u/sbesnier/ticket12880</em> to <em>u/pbruin/12880-isogeny_parent</em>
</li>
<li><strong>keywords</strong>
<em>isogeny</em> added
</li>
<li><strong>reviewer</strong>
set to <em>Peter Bruin</em>
</li>
</ul>
<p>
I'm happy with this and it passes all tests (when the dependencies are merged, of course). The reviewer patch just fixes a trivial merge conflict and whitespace.
</p>
TicketvbraunThu, 17 Jul 2014 13:57:30 GMTstatus, branch changed; resolution set
https://trac.sagemath.org/ticket/12880#comment:32
https://trac.sagemath.org/ticket/12880#comment:32
<ul>
<li><strong>status</strong>
changed from <em>positive_review</em> to <em>closed</em>
</li>
<li><strong>resolution</strong>
set to <em>fixed</em>
</li>
<li><strong>branch</strong>
changed from <em>u/pbruin/12880-isogeny_parent</em> to <em>02bc4122b7a49400e327f3a0259890eb0cce6705</em>
</li>
</ul>
Ticket