edgarcosta / endomorphisms

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

use cached PeriodMatrix only when it makes sense #75

Closed edgarcosta closed 4 months ago

edgarcosta commented 4 months ago

Before:

> P<x> := PolynomialRing(Rationals());
> f := 6394*x^6 + 31183*x^5 + 20576*x^4 - 437722*x^3 + 411052*x^2 - 201058*x + 43872;
> X := SimplifiedModel(HyperellipticCurveOfGenus(2,f));
>
> for prec in [30, 100, 1000] do
for>     BaseRing(PeriodMatrix(ChangeRing(X,RationalsExtra(prec))));
for> end for;
Complex field of precision 40
Complex field of precision 40
Complex field of precision 40

now

> P<x> := PolynomialRing(Rationals());
> f := 6394*x^6 + 31183*x^5 + 20576*x^4 - 437722*x^3 + 411052*x^2 - 201058*x + 43872;
> X := SimplifiedModel(HyperellipticCurveOfGenus(2,f));
>
> for prec in [30, 100, 1000] do
for>     BaseRing(PeriodMatrix(ChangeRing(X,RationalsExtra(prec))));
for> end for;
Complex field of precision 40
Complex field of precision 110
Complex field of precision 1010