#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.