#16238: Correct call convention for isogenies
-------------------------------------+-------------------------------------
Reporter: sbesnier | Owner:
Type: defect | Status: new
Priority: major | Milestone: sage-6.2
Component: elliptic curves | Resolution:
Keywords: call isogeny | Merged in:
Authors: Sébastien Besnier | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
u/sbesnier/ticket/16238 | fbe7647092fba74971fe5e1e9c0cbe82e19d02ae
Dependencies: #12880 | Stopgaps:
-------------------------------------+-------------------------------------
Changes (by sbesnier):
* commit: => fbe7647092fba74971fe5e1e9c0cbe82e19d02ae
* branch: => u/sbesnier/ticket/16238
Comment:
I've done the suggested modifications. The coercion staff is now handle by
Map (the doctests concercing isogeny equality still fail, it'll be fix as
soon as #11474 will be fix).
Currently, we can call `phi((1,0))`, but no `phi(1,0)` (in the same way we
can call `E(1,0)`). Do you think it would be usefull to implement that? We
should use something like:
{{{#!python
def _call_with_args(self, x, y=None,kwd={}):
return self._call_(self.__E2(x,y))
}}}
But this simple code doesn't work at all! Indeed, when we call for example
`phi(0,0)`, the first arg is first coerced to `phi.__E1(0)` and then
passed to `_call_with_args`.
Should I overload `__call__`, in this way:
{{{#!python
def __call__(self,x,y=None):
if y is None:
return Map.__call__(self,x)
else:
return Map.__call__(self,(x,y))
}}}
?
But this looks a bit creepy to me.
----
New commits:
||[http://git.sagemath.org/sage.git/commit/?id=b486f244b98a16b144cd45399eee3112ed5f824b
b486f24]||{{{Fix parents, domain, codomain and _composition_
isogenies.}}}||
||[http://git.sagemath.org/sage.git/commit/?id=73d99af403e760801ae2576dfbb6f7629d629f30
73d99af]||{{{Corrects the precedent commit.}}}||
||[http://git.sagemath.org/sage.git/commit/?id=8c5cdcd42b2dd167dcdf27bc0c0251de4681fe66
8c5cdcd]||{{{Fix composition.}}}||
||[http://git.sagemath.org/sage.git/commit/?id=fbe7647092fba74971fe5e1e9c0cbe82e19d02ae
fbe7647]||{{{Clean _call_, __call__ becomes _call_, second argment is
removed.}}}||
--
Ticket URL: <http://trac.sagemath.org/ticket/16238#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.