edgarcosta / endomorphisms

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

DecFacts bug #40

Open edgarcosta opened 4 years ago

edgarcosta commented 4 years ago
> R<x,y,z>:=PolynomialRing(RationalsExtra(400),3);
> C:=PlaneCurve(-24*x^4+49*x^2*z^2+14*x*y^2*z+y^4-25*z^4);
> A:=HeuristicJacobianFactors(C);

HeuristicJacobianFactors(
X: Curve over Rational Field defined by x^4 - 49/24*x^2*z^2 - 7...
)
SplitComponents(
P: [1.023113625683368995998706030392349772076547655743129933092...,
GeoEndoRep: [ [* [1 0 0] [0 1 0] [0 0 1],  [1 0 0 0 0 0] [0 1 0 0 0 0]
[...
)
RootsOfIsotypicalComponent(
Q: [1.023113625683368995998706030392349772076547655743129933092...,
mor: [* [1 0 0] [0 0 1],  [ 1  0  0  1  1  0] [ 0  1  0 -1  0  0]...,
incdata: [* Number Field with defining polynomial x^16 - 60*x^14 - 12...
)
SplittingIdempotents(
Q: [1.023113625683368995998706030392349772076547655743129933092...,
mor: [* [1 0 0] [0 0 1],  [ 1  0  0  1  1  0] [ 0  1  0 -1  0  0]...,
incdata: [* Number Field with defining polynomial x^16 - 60*x^14 - 12...
)
SplittingIdempotentsAlgebra(
EndoData: [* [ [* 0,  [ 1  0  0  0] [ 0  1  0  0] [ 0 -1  0  0] [ 0 
1...
)
In file
".../endomorphisms/endomorphisms/magma/heuristic/DecFacts.m",
line 177, column 11:
>> g := #Rows(EndoData[1][1][1]);
              ^
Runtime error in 'Rows': Bad argument types
Argument types given: RngIntElt

FYI, bumping up the precision fixes the problem (but I still think this is a bug)

Reported by @andrewvsutherland

JRSijsling commented 4 years ago

Line 172 of endomorphisms/endomorphisms/magma/heuristic/Buttons.m indicates that this function is not currently supported. I hope to find the time to improve this situation, but currently it is not there. HeuristicDecomposition should usually work.

When running this with only endomorphisms and curve_reconstruction, I do get a bug, but of another kind, which indicates that a certain element cannot be algebraized (Runtime error: Failed to algebraize map over base field.). That is what is to be expected. In other words, I cannot reproduce this bug with a minimal prerequisite.

JRSijsling commented 4 years ago

Sorry, I accidentally typed a shortcut. This should remain open until we are sure that the original function also behaves stably. That said, I did verify that both the information-richer HeuristicDecomposition and the original yet unsupported HeuristicJacobianFactors return sensible output when they succeed and sensible error messages when they do not.