#11095: Add BMSS algorithm for isogenies of elliptic curves
-------------------------------+--------------------------------------------
   Reporter:  defeo            |          Owner:  cremona    
       Type:  enhancement      |         Status:  needs_work 
   Priority:  minor            |      Milestone:  sage-4.7.1 
  Component:  elliptic curves  |       Keywords:  isogenies  
Work_issues:                   |       Upstream:  N/A        
   Reviewer:  John Cremona     |         Author:  Luca De Feo
     Merged:                   |   Dependencies:             
-------------------------------+--------------------------------------------
Changes (by cremona):

  * status:  needs_review => needs_work
  * reviewer:  => John Cremona
  * milestone:  sage-4.7 => sage-4.7.1


Comment:

 I like this a lot, and it is a good idea to start moving stuff out of the
 huge isogenies file.  I am planning to do the same for the isogenies of
 small degree code --currently the genus 0 prime degrees 2,3,5,7,13 and the
 others which can occur over Q.  Kimi Tsukazaki and I are working on
 extending that to all the ell for which {{{X_0(ell)^+}}} has genus 0.

 I tested this against 4.7.rc1 and had some doctest failures.  I expect
 these will be easy to fix.

 {{{
 sage -t  sage/schemes/elliptic_curves/ell_isogeny_char_zero.py
 // ** nInitExp failed: using Z/2^2
 **********************************************************************
 File "/home/jec/sage-4.7.rc1/devel/sage-
 main/sage/schemes/elliptic_curves/ell_isogeny_char_zero.py", line 165:
     sage: isogeny_Stark(E1pr, E2pr, 11)
 Exception raised:
     Traceback (most recent call last):
       File "/home/jec/sage-current/local/bin/ncadoctest.py", line 1231, in
 run_one_test
         self.run_one_example(test, example, filename, compileflags)
       File "/home/jec/sage-current/local/bin/sagedoctest.py", line 38, in
 run_one_example
         OrigDocTestRunner.run_one_example(self, test, example, filename,
 compileflags)
       File "/home/jec/sage-current/local/bin/ncadoctest.py", line 1172, in
 run_one_example
         compileflags, 1) in test.globs
       File "<doctest __main__.example_2[7]>", line 1, in <module>
         isogeny_Stark(E1pr, E2pr, Integer(11))###line 165:
     sage: isogeny_Stark(E1pr, E2pr, 11)
     NameError: name 'E1pr' is not defined
 **********************************************************************
 File "/home/jec/sage-4.7.rc1/devel/sage-
 main/sage/schemes/elliptic_curves/ell_isogeny_char_zero.py", line 334:
     sage: kernel = isogeny_BMSS(E1pr, E2pr, 9)
 Exception raised:
     Traceback (most recent call last):
       File "/home/jec/sage-current/local/bin/ncadoctest.py", line 1231, in
 run_one_test
         self.run_one_example(test, example, filename, compileflags)
       File "/home/jec/sage-current/local/bin/sagedoctest.py", line 38, in
 run_one_example
         OrigDocTestRunner.run_one_example(self, test, example, filename,
 compileflags)
       File "/home/jec/sage-current/local/bin/ncadoctest.py", line 1172, in
 run_one_example
         compileflags, 1) in test.globs
       File "<doctest __main__.example_3[23]>", line 1, in <module>
         kernel = isogeny_BMSS(E1pr, E2pr, Integer(9))###line 334:
     sage: kernel = isogeny_BMSS(E1pr, E2pr, 9)
     NameError: name 'E1pr' is not defined
 **********************************************************************
 File "/home/jec/sage-4.7.rc1/devel/sage-
 main/sage/schemes/elliptic_curves/ell_isogeny_char_zero.py", line 335:
     sage: kernel
 Expected:
     x^8 + 36*x^7 + 95*x^6 + 84*x^4 + 16*x^3 + 70*x^2 + 12*x + 78
 Got:
     x^4 + 14*x^3 + x^2 + 34*x + 21
 **********************************************************************
 File "/home/jec/sage-4.7.rc1/devel/sage-
 main/sage/schemes/elliptic_curves/ell_isogeny_char_zero.py", line 337:
     sage: kernel.is_square()
 Expected:
     False
 Got:
     True
 **********************************************************************
 File "/home/jec/sage-4.7.rc1/devel/sage-
 main/sage/schemes/elliptic_curves/ell_isogeny_char_zero.py", line 339:
     sage: isogeny_kernel(E1pr, E2pr, 9, algorithm="bmss")
 Expected:
     Traceback (most recent call last):
     ...
     ValueError: The two curves are not linked by a normalized isogeny of
 degree 9
 Got:
     Traceback (most recent call last):
       File "/home/jec/sage-current/local/bin/ncadoctest.py", line 1231, in
 run_one_test
         self.run_one_example(test, example, filename, compileflags)
       File "/home/jec/sage-current/local/bin/sagedoctest.py", line 38, in
 run_one_example
         OrigDocTestRunner.run_one_example(self, test, example, filename,
 compileflags)
       File "/home/jec/sage-current/local/bin/ncadoctest.py", line 1172, in
 run_one_example
         compileflags, 1) in test.globs
       File "<doctest __main__.example_3[26]>", line 1, in <module>
         isogeny_kernel(E1pr, E2pr, Integer(9), algorithm="bmss")###line
 339:
     sage: isogeny_kernel(E1pr, E2pr, 9, algorithm="bmss")
     NameError: name 'E1pr' is not defined
 **********************************************************************
 2 items had failures:
    1 of  22 in __main__.example_2
    4 of  28 in __main__.example_3
 ***Test Failed*** 5 failures.
 For whitespace errors, see the file
 /home/jec/.sage//tmp/.doctest_ell_isogeny_char_zero.py
          [3.8 s]
 }}}

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