edgarcosta / endomorphisms

Rigorous computation of the endomorphism ring of a Jacobian
GNU General Public License v2.0
10 stars 8 forks source link

Possible bug in HeuristicDecomposition #81

Open AndrewVSutherland opened 2 months ago

AndrewVSutherland commented 2 months ago

Possibly this is a problem in Magma or one of the packages you depend on, but if so it would be good to submit a bug in the appropriate place. This is one of several examples, which I just verified I can reproduce on Magma V2.28-11 using a fully up-to-date CHIMP install.

> C:=HyperellipticCurve(-x^5 - x^4 + 2*x^2 + 2*x + 9,x^3 + x^2);
> HeuristicDecomposition(C);
> HeuristicDecomposition(C);

In file "/home/drew/dev/magma-2.28-11/package/Geometry/RieSrf/fundamentalgroup.m", line 609, column 22:
>>         if E1`r le E2`r then
                        ^
Runtime

I note that the first call falls silently and returns nothing (but that never happens again unless you restart the Magma session).

AndrewVSutherland commented 2 months ago

The problem goes away if you increase the precision.

> R<x> := PolynomialRing(RationalsExtra(100));
> C:=HyperellipticCurve(-x^5 - x^4 + 2*x^2 + 2*x + 9,x^3 + x^2);
> HeuristicDecomposition(C);

In file "/home/drew/dev/magma-2.28-8/package/Geometry/RieSrf/fundamentalgroup.m", line 609, column 22:
>>         if E1`r le E2`r then
                        ^
Runtime error in `: Attribute 'r' for this structure is valid but not assigned

fails but

> R<x> := PolynomialRing(RationalsExtra(200));
> C:=HyperellipticCurve(-x^5 - x^4 + 2*x^2 + 2*x + 9,x^3 + x^2);
> HeuristicDecomposition(C);
[*
Rational Field,
[*
Rational Field,
true
*], [*
[
[ 2, 1 ]
],
[]
*], [*
[
[ 2, 1 ]
],
[],
[]
*]
*]

works.