#6045: [with patch, needs review] Computation of Heegner points
---------------------------+------------------------------------------------
Reporter: robertwb | Owner: was
Type: defect | Status: new
Priority: major | Milestone: sage-4.0.2
Component: number theory | Keywords:
Reviewer: | Author:
Merged: |
---------------------------+------------------------------------------------
Comment(by cremona):
REVIEW: I applied this to 4.0.1, but got some doctest failures:
{{{
sage -t "devel/sage-
tests/sage/schemes/elliptic_curves/ell_rational_field.py"
**********************************************************************
File "/home/john/sage-4.0.1/devel/sage-
tests/sage/schemes/elliptic_curves/ell_rational_field.py", line 5248:
sage: E._heegner_best_tau(-7)
Expected:
(sqrt(7)*I - 17)/74
Got:
1/74*sqrt(-7) - 17/74
**********************************************************************
File "/home/john/sage-4.0.1/devel/sage-
tests/sage/schemes/elliptic_curves/ell_rational_field.py", line 5250:
sage: EllipticCurve('389a')._heegner_best_tau(-11)
Expected:
(sqrt(11)*I - 355)/778
Got:
1/778*sqrt(-11) - 355/778
**********************************************************************
File "/home/john/sage-4.0.1/devel/sage-
tests/sage/schemes/elliptic_curves/ell_rational_field.py", line 5291:
sage: P = E.heegner_point(-40); P
Exception raised:
Traceback (most recent call last):
File "/home/john/sage-4.0.1/local/bin/ncadoctest.py", line 1231, in
run_one_test
self.run_one_example(test, example, filename, compileflags)
File "/home/john/sage-4.0.1/local/bin/sagedoctest.py", line 38, in
run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File "/home/john/sage-4.0.1/local/bin/ncadoctest.py", line 1172, in
run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_115[5]>", line 1, in <module>
P = E.heegner_point(-Integer(40)); P###line 5291:
sage: P = E.heegner_point(-40); P
File "/home/john/sage-4.0.1/local/lib/python2.5/site-
packages/sage/schemes/elliptic_curves/ell_rational_field.py", line 5335,
in heegner_point
raise ValueError, "Not enough precision (%s) to get heegner point
exactly, try passing a larger max_prec." % (prec)
ValueError: Not enough precision (2000) to get heegner point exactly,
try passing a larger max_prec.
**********************************************************************
File "/home/john/sage-4.0.1/devel/sage-
tests/sage/schemes/elliptic_curves/ell_rational_field.py", line 5301:
sage: f = algdep(P[0], 5); f
Expected:
x^5 + 2*x^4 + x^3 - x^2 - x - 1
Got:
x^5 - x^4 + x^3 + x^2 - 2*x + 1
**********************************************************************
File "/home/john/sage-4.0.1/devel/sage-
tests/sage/schemes/elliptic_curves/ell_rational_field.py", line 6825:
sage: phi(CC.0)
Expected:
(-2.04158222510587 + 3.21664059900000e-29*I : -0.500000000000000 +
0.0906126752327350*I : 1.00000000000000)
Got:
(287826.309565255 : -1.54417490329940e8 : 1.00000000000000)
**********************************************************************
File "/home/john/sage-4.0.1/devel/sage-
tests/sage/schemes/elliptic_curves/ell_rational_field.py", line 3114:
sage: X,Y=E.modular_parametrization()
Exception raised:
Traceback (most recent call last):
File "/home/john/sage-4.0.1/local/bin/ncadoctest.py", line 1231, in
run_one_test
self.run_one_example(test, example, filename, compileflags)
File "/home/john/sage-4.0.1/local/bin/sagedoctest.py", line 38, in
run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File "/home/john/sage-4.0.1/local/bin/ncadoctest.py", line 1172, in
run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_70[3]>", line 1, in <module>
X,Y=E.modular_parametrization()###line 3114:
sage: X,Y=E.modular_parametrization()
TypeError: iteration over non-sequence
**********************************************************************
File "/home/john/sage-4.0.1/devel/sage-
tests/sage/schemes/elliptic_curves/ell_rational_field.py", line 3115:
sage: X
Exception raised:
Traceback (most recent call last):
File "/home/john/sage-4.0.1/local/bin/ncadoctest.py", line 1231, in
run_one_test
self.run_one_example(test, example, filename, compileflags)
File "/home/john/sage-4.0.1/local/bin/sagedoctest.py", line 38, in
run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File "/home/john/sage-4.0.1/local/bin/ncadoctest.py", line 1172, in
run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_70[4]>", line 1, in <module>
X###line 3115:
sage: X
NameError: name 'X' is not defined
**********************************************************************
File "/home/john/sage-4.0.1/devel/sage-
tests/sage/schemes/elliptic_curves/ell_rational_field.py", line 3117:
sage: Y
Exception raised:
Traceback (most recent call last):
File "/home/john/sage-4.0.1/local/bin/ncadoctest.py", line 1231, in
run_one_test
self.run_one_example(test, example, filename, compileflags)
File "/home/john/sage-4.0.1/local/bin/sagedoctest.py", line 38, in
run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File "/home/john/sage-4.0.1/local/bin/ncadoctest.py", line 1172, in
run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_70[5]>", line 1, in <module>
Y###line 3117:
sage: Y
NameError: name 'Y' is not defined
**********************************************************************
File "/home/john/sage-4.0.1/devel/sage-
tests/sage/schemes/elliptic_curves/ell_rational_field.py", line 3122:
sage: q = X.parent().gen()
Exception raised:
Traceback (most recent call last):
File "/home/john/sage-4.0.1/local/bin/ncadoctest.py", line 1231, in
run_one_test
self.run_one_example(test, example, filename, compileflags)
File "/home/john/sage-4.0.1/local/bin/sagedoctest.py", line 38, in
run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File "/home/john/sage-4.0.1/local/bin/ncadoctest.py", line 1172, in
run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_70[6]>", line 1, in <module>
q = X.parent().gen()###line 3122:
sage: q = X.parent().gen()
NameError: name 'X' is not defined
**********************************************************************
File "/home/john/sage-4.0.1/devel/sage-
tests/sage/schemes/elliptic_curves/ell_rational_field.py", line 3123:
sage: E.defining_polynomial()(X,Y,1) + O(q^11) == 0
Exception raised:
Traceback (most recent call last):
File "/home/john/sage-4.0.1/local/bin/ncadoctest.py", line 1231, in
run_one_test
self.run_one_example(test, example, filename, compileflags)
File "/home/john/sage-4.0.1/local/bin/sagedoctest.py", line 38, in
run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File "/home/john/sage-4.0.1/local/bin/ncadoctest.py", line 1172, in
run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_70[7]>", line 1, in <module>
E.defining_polynomial()(X,Y,Integer(1)) + O(q**Integer(11)) ==
Integer(0)###line 3123:
sage: E.defining_polynomial()(X,Y,1) + O(q^11) == 0
NameError: name 'X' is not defined
**********************************************************************
File "/home/john/sage-4.0.1/devel/sage-
tests/sage/schemes/elliptic_curves/ell_rational_field.py", line 3133:
sage: f/q == (X.derivative()/(2*Y+a1*X+a3))
Exception raised:
Traceback (most recent call last):
File "/home/john/sage-4.0.1/local/bin/ncadoctest.py", line 1231, in
run_one_test
self.run_one_example(test, example, filename, compileflags)
File "/home/john/sage-4.0.1/local/bin/sagedoctest.py", line 38, in
run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File "/home/john/sage-4.0.1/local/bin/ncadoctest.py", line 1172, in
run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_70[11]>", line 1, in <module>
f/q == (X.derivative()/(Integer(2)*Y+a1*X+a3))###line 3133:
sage: f/q == (X.derivative()/(2*Y+a1*X+a3))
NameError: name 'X' is not defined
**********************************************************************
4 items had failures:
2 of 5 in __main__.example_114
2 of 11 in __main__.example_115
1 of 5 in __main__.example_137
6 of 12 in __main__.example_70
***Test Failed*** 11 failures.
For whitespace errors, see the file
/home/john/sage-4.0.1/tmp/.doctest_ell_rational_field.py
[85.3 s]
exit code: 1024
}}}
This is on a 32-bit machine -- possibly the problem?
Note -- I'm planning to implement a better weierstrass function, calling
the pari library. In fact I already did that, got stuck on precision
problems, then deleted that branch by mistake so it is back to square one.
Also, for recognising the points, what I have always done is compute all
the conjugates (not quite all, I do one from each complex conjugate pair)
and then add them up (on C mod the lattice) before applying Weierstrass.
I have never tried to recognise the points as points defined over the
Hilbert class field.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6045#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
-~----------~----~----~----~------~----~------~--~---