#6384: [with patch, needs work] elliptic curve -- isogeny function is not robust
-- it doesn't check validity of its input
---------------------------+------------------------------------------------
 Reporter:  was            |       Owner:  shumow                   
     Type:  defect         |      Status:  new                      
 Priority:  major          |   Milestone:  sage-4.1.1               
Component:  number theory  |    Keywords:  elliptic curves, isogeny,
 Reviewer:                 |      Author:                           
   Merged:                 |  
---------------------------+------------------------------------------------
Changes (by shumow):

 * cc: shu...@… (added)


Comment:

 So, over all, thanks for the thorough once over here.[[BR]]

 Sorry I didn't look at this lately.  I have been very busy.  I work full
 time and I am finishing my master's thesis (which I wrote this class to do
 research for.)[[BR]]

 I changed this to "needs work", not because it is necessarily bad, but
 because I want to discuss it more.[[BR]]

 1)  I don't think you should remove the algorithm parameter, which
 defaults to none.  First off I was planning on adding another algorithm
 which is similar to the kohel from kernel polynomial variant, and that is
 the main reason why I had the parameter.  That, or someone smarter than me
 can come along and add a new algorithm, and add the parameter to make it
 easier to select the new version (or specify the old version for backward
 compatibility.)[[BR]]
 2)  I am fine with taking the input as a point (or a pair of points) to
 specify the generators of the kernel.  However, I do not think that this
 should replace the kernel list way of doing things.  First off, it
 unnecessarily breaks backwards compatibility.  Second off, there was a
 very good reason that I did not initially do the solution that you have
 here, generating the list of input points from generators is quite slow.
 Specifically, as you have it coded here, you end up doing n**2 work
 inflating the kernel list.  Now, if someone knows the list of points in
 the kernel, (or knows that the kernel is cyclic) they have no choice but
 to allow the init to run a quadratic complexity algorithm, when it would
 have otherwise been linear.  This actually becomes the slowest part of the
 isogeny computation.  I see no reason to not have this new way of doing
 input work alongside the old way.[[BR]]
 3) When changing this to work side by side with the old way, obviously not
 all of the examples should be changed, as we still want to exercise the
 old way of doing things.[[BR]]

 I think that your general modification here is good, however, I would like
 to switch this to work along side the old way of doing things.  By
 detecting the type of the input.  If you prefer I make the change, that is
 fine, but it will need to wait until I file my ms thesis, so after next
 week.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6384#comment:8>
Sage <http://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 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to