This is the Sage/Python package accompanying our preprint
S. Kunzweiler and S. Wewers, Integral differential forms for superelliptic curves, Preprint, 2023
It contains the implementation of the algorithms described in that article.
Let
For instance, consider Example 5.2 from [KunzweilerWewers23].
Let
The input for our algorithm in this case is:
- the polynomial
, - the exponent
of , - the
-adic valuation .
sage: from regular_models.superelliptic_curves import integral_differentials
sage: R.<x> = QQ[]
sage: f = (x^2-5)^3-5^5
sage: n=2
sage: v5 = QQ.valuation(5)
sage: integral_differentials(f,n,v5)
the lattice with basis [x, 5]
In this implementation the space of differentials is viewed as a subspace of the function space of
Modifying the above computation by setting
sage: n=3
sage: integral_differentials(f,n,v5)
the lattice with basis [x^2 - 5, y, 5*x, 25]
So a basis for the integral differentials is
For hyperelliptic curves
sage: g = 2
sage: a = order_hyperelliptic_discriminant(f,v5); a
26
sage: a == g * v5(f.discriminant()) - (8*g+4)*v5(covolume(integral_differentials(f,2,v5)))
True
More examples can be found in the Jupyter notebook Examples.ipynb
.
To run the code, you need
- a recent version of Sage (>= 9.0 should do)
- the Sage/Python package MCLF (>= version 1.0.6). For example this can be installed using the command
sage -pip install git+https://github.com/MCLF/mclf
- the Sage/Python package regular_models (this repository)
sage -pip install git+https://github.com/swewers/regular_models
We plan to expand the code to be able to handle more general classes of curves, and compute regular models of them. At some point, this work should become part of MCLF.