#5890: [with patch, woth positive review] clean up
schemes/elliptic_curves/ell_generic.py
---------------------------+------------------------------------------------
Reporter: AlexGhitza | Owner: AlexGhitza
Type: defect | Status: assigned
Priority: major | Milestone: sage-4.0
Component: number theory | Keywords: elliptic curve field
---------------------------+------------------------------------------------
Comment(by cremona):
Review: first of all, this is just moving code around, all perfectly
sensible (lots of stuff moved down from ell_generic to ell_field, and
Hasse_bound function moved off to plane curves (where I should have put it
in the first place).
I applied first 12097.patch (from #5919) then trac_5765-rebased.patch
(from #5765) and then trac_5890.patch (from here), all successfully.
Doctests in schemes/plane_curves and schemes/elliptic_curves pass. I will
give this a positive review, despite the following, which will make it
harder to do EC factoring (but the fault lies not in the patch here,
rather in moving the test for a point lying on a curve which is now more
sophisticated to harder to fool.... but that is not for this ticket to
sort out.
The example
{{{
N = 1001
R = Zmod(N)
R.is_field = lambda: True
E = EllipticCurve(R, [-1,0])
}}}
works but you cannot construct a point in the curve (e.g. E(0,0)) since
this happens:
{{{
sage: P = E(0,0)
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call
last)
/home/masgaj/.sage/temp/host_56_150/32116/_home_masgaj__sage_init_sage_0.py
in <module>()
/local/jec/sage-3.4.2.alpha0/local/lib/python2.5/site-
packages/sage/schemes/elliptic_curves/ell_generic.pyc in __call__(self,
*args, **kwds)
609 args = tuple(args[0])
610
--> 611 return plane_curve.ProjectiveCurve_generic.__call__(self,
*args, **kwds)
612
613 def _reduce_point(self, R, p):
/local/jec/sage-3.4.2.alpha0/local/lib/python2.5/site-
packages/sage/schemes/generic/scheme.pyc in __call__(self, *args)
196 else:
197 return self.point(S)
--> 198 return self.point(args)
199
200 def point_homset(self, S = None):
/local/jec/sage-3.4.2.alpha0/local/lib/python2.5/site-
packages/sage/schemes/generic/scheme.pyc in point(self, v, check)
230
231 def point(self, v, check=True):
--> 232 return self._point_class(self, v, check=check)
233
234 def _point_class(self):
/local/jec/sage-3.4.2.alpha0/local/lib/python2.5/site-
packages/sage/schemes/generic/morphism.pyc in __init__(self, X, v, check)
415 """
416 def __init__(self, X, v, check=True):
--> 417 raise NotImplementedError
418
419
NotImplementedError:
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5890#comment:5>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of
Reinventing the Wheel
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---