View on GitHub

Genus2Conductor

A package for computing the conductor exponent of hyperelliptic curves of genus 2 defined over number fields.

Genus2Conductor

A package for computing the conductor exponent of hyperelliptic curves of genus 2 defined over number fields, for the MAGMA computer algebra system.

This implements the algorithm described in this paper. MAGMA is already able to compute the odd part of the conductor (i.e. at primes not above 2) and the even part thanks to Ogg’s formula in some cases, but not all. The even part may be computed assuming a functional equation for the L-function of the curve, but this is both conjectural and slow (its run-time is the square of the global conductor). The algoirithm implemented here depends mainly only on the local part of the conductor, and hence can be more practical, and most importantly the algorithm produces proven results.

If you find this package useful, please cite the above paper in any publications.

Please direct any bugs or comments to the issues page.

Contents

User Manual

Installation

Example

The following session verifies that the conductor of the curve 15360.f.983040.2 in the LMFDB is 15360. It takes about a minute to execute.

> // you only need to do the following once per MAGMA session, or put it into your startup file
> AttachSpec("/path/to/ExactpAdics/package/spec");
> AttachSpec("/path/to/this/package/spec_ExactpAdics");
>
> // the following line is copied from the LMFDB entry
> R<x> := PolynomialRing(Rationals()); C := HyperellipticCurve(R![-30, 0, -37, 0, -15, 0, -2], R![]);
>
> // compute the conductor
> Conductor_Genus2(C);
15360

Limitations

Intrinsics

Conductor_Genus2(C :: CrvHyp)
-> RngIntElt or RngOrdIdl

The conductor of C, a hyperelliptic curve defined over the rationals or a number field.

Parameters.


EvenConductorExponent_Genus2(C :: CrvHyp, p)
-> RngIntElt

The conductor exponent of C at p. C must be defined over the rationals or a number field and be of genus 2. p must be a prime ideal of the base field of C above 2.

Parameters. As in previous intrinsic.


EvenConductorExponentData_Genus2(C :: CrvHyp, p)
-> Rec

Data about the conductor exponent of C at p. The arguments are as in the previous intrinsic.

The returned record includes the following fields:

Parameters. As in previous intrinsic.


OddConductor(C :: CrvHyp)
-> RngIntElt or RngOrdIdl

The odd part of the conductor of C. This is provided for convenience to work in tandem with EvenConductorExponentData_Genus2.

Verbosity

The EvenConductorExponent_Genus2 verbosity flag can be enabled for information about the execution of the algorithm. Level 1 logs each stage of the algorithm. Level 2 provides more information, including timings, mainly for debugging.

Changelog

v1.3.0

v1.2.1

v1.2.0

v1.1.0

v1.0.1

v1.0.0

License

Copyright (C) 2018 Christopher Doris

Genus2Conductor is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Genus2Conductor is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Genus2Conductor. If not, see http://www.gnu.org/licenses/.