#4274: [with patch; with positive review but one oddity] assertion failure in
rank
for elliptic curves
--------------------------------+-------------------------------------------
Reporter: zimmerma | Owner: was
Type: defect | Status: new
Priority: minor | Milestone: sage-3.4.1
Component: algebraic geometry | Resolution:
Keywords: |
--------------------------------+-------------------------------------------
Changes (by cremona):
* summary: [with patch; needs review] assertion failure in rank for
elliptic curves => [with patch; with positive
review but one oddity] assertion failure in
rank for elliptic curves
Comment:
Review:
Patch applies fine to 3.3.alpha0. Tests in
elliptic_curves/ell_rational_field.py pass (but not with -long, see
below).
I think this is ok. It handles the case where the lower and upper bounds
of the rank, as output by mwrank, are not equal.
At first I was not sure that it handled properly the case where the bounds
are equal (so the rank is known for sure) but the saturation step is
incomplete, but it's ok:
{{{
sage: EllipticCurve( [0,0,1,-49,132]).conductor()
26171
sage: EllipticCurve( [0,0,1,-49,132]).rank(proof=True)
3
sage: EllipticCurve( [0,0,1,-49,132]).gens(proof=False)
[(-6 : 14 : 1), (4 : -1 : 1), (5 : -4 : 1)]
sage: EllipticCurve( [0,0,1,-49,132]).gens(proof=True)
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call
last)
...
Generators not provably computed.
}}}
[If testing the above example, do so on a Sage without the large database,
else the gens will be known from there.]
This is exactly right.
Testing with -long gives one failure but I don't see why it is a failure.
The test which fails is NOT a "long" one! So is this a bug in the
doctesting framewirk (due to the verbose output perhaps?)?
{{{
sage -t -long
"devel/sage-4274/sage/schemes/elliptic_curves/ell_rational_field.py"
**********************************************************************
File
"/home/john/sage-3.3.alpha0/devel/sage-4274/sage/schemes/elliptic_curves/ell_rational_field.py",
line 1291:
sage: EllipticCurve([1,0,0,0,37455]).rank(proof=True)
Expected:
Traceback (most recent call last):
...
Rank not provably correct.
Got:
Traceback (most recent call last):
File "/home/john/sage-3.3.alpha0/local/bin/ncadoctest.py", line
1231, in run_one_test
self.run_one_example(test, example, filename, compileflags)
File "/home/john/sage-3.3.alpha0/local/bin/sagedoctest.py", line 38,
in run_one_example
OrigDocTestRunner.run_one_example(self, test, example, filename,
compileflags)
File "/home/john/sage-3.3.alpha0/local/bin/ncadoctest.py", line
1172, in run_one_example
compileflags, 1) in test.globs
File "<doctest __main__.example_31[15]>", line 1, in <module>
EllipticCurve([Integer(1),Integer(0),Integer(0),Integer(0),Integer(37455)]).rank(proof=True)###line
1291:
sage: EllipticCurve([1,0,0,0,37455]).rank(proof=True)
File "/home/john/sage-3.3.alpha0/local/lib/python2.5/site-
packages/sage/schemes/elliptic_curves/ell_rational_field.py", line 1342,
in rank
raise RuntimeError, '%s\nRank not provably correct.'%X
RuntimeError: Curve [1,0,0,0,37455] : Basic pair: I=1,
J=-64722242
disc=-4188968609506560
2-adic index bound = 2
By Lemma 5.1(b), 2-adic index = 1
2-adic index = 1
One (I,J) pair
*** BSD give two (I,J) pairs
Looking for quartics with I = 1, J = -64722242
Looking for Type 3 quartics:
Trying positive a from 1 up to 115 (square a first...)
Trying positive a from 1 up to 115 (...then non-square a)
(15,20,1,396,132) --nontrivial...locally soluble...no rational point
found (limit 10) --new (B) #1
(33,30,199,198,-55) --nontrivial...locally soluble...no rational point
found (limit 10) --new (B) #2
(33,66,-395,500,-144) --nontrivial...--equivalent to (B) #1
(83,-52,139,106,-36) --nontrivial...--equivalent to (B) #1
Trying negative a from -1 down to -77
(-9,17,244,297,411) --nontrivial...--equivalent to (B) #1
(-15,10,331,646,501) --nontrivial...locally soluble...no
rational point found (limit 10) --new (B) #3
(-67,-71,220,305,141) --nontrivial...--equivalent to (B) #1
Finished looking for Type 3 quartics.
Mordell rank contribution from B=im(eps) = 0
Selmer rank contribution from B=im(eps) = 2
Sha rank contribution from B=im(eps) = 2
Mordell rank contribution from A=ker(eps) = 0
Selmer rank contribution from A=ker(eps) = 0
Sha rank contribution from A=ker(eps) = 0
<BLANKLINE>
Summary of results (all should be powers of 2):
<BLANKLINE>
n0 = #E(Q)[2] = 1
n1 = #E(Q)/2E(Q) >= 1
n2 = #S^(2)(E/Q) = 4
#III(E/Q)[2] <= 4
<BLANKLINE>
0 <= rank <= selmer-rank = 2
<BLANKLINE>
0 <= rank <= selmer-rank = 2
Searching for points (bound = 8)...done:
found points of rank 0
and regulator 1
Processing points found during 2-descent...done:
now regulator = 1
Saturating (bound = 100)...done:
points were already saturated.
<BLANKLINE>
<BLANKLINE>
Regulator = 1
<BLANKLINE>
The rank has not been completely determined,
only a lower bound of 0 and an upper bound of 2.
<BLANKLINE>
(0.868055 seconds)
Rank not provably correct.
**********************************************************************
1 items had failures:
1 of 16 in __main__.example_31
***Test Failed*** 1 failures.
For whitespace errors, see the file
/home/john/sage-3.3.alpha0/tmp/.doctest_ell_rational_field.py
[286.8 s]
exit code: 1024
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/4274#comment:4>
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
-~----------~----~----~----~------~----~------~--~---