Skip to content

sabrinakunzweiler/regular_models

This branch is 4 commits ahead of swewers/regular_models:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

adb6b7c · Aug 2, 2023

History

69 Commits
Aug 1, 2023
Mar 30, 2020
Oct 7, 2019
Sep 7, 2019
Sep 2, 2020
Sep 7, 2019
Jan 28, 2021
Aug 1, 2023
Aug 2, 2023
Sep 7, 2019
Sep 2, 2020
Mar 30, 2020
Feb 2, 2021

Repository files navigation

Integral differential forms for superelliptic curves

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 K be a local field, with ring of integers R , and let Y be a superelliptic curve over K , given by an equation of the form y n = f ( x ) . Under the condition that the exponent n is invertible in R , our implementation can be used to compute a basis of integral differential forms.

Examples

For instance, consider Example 5.2 from [KunzweilerWewers23]. Let Y be the hyperelliptic curve Y : y 2 = ( x 2 5 ) 3 5 5 defined over Q 5 .

The input for our algorithm in this case is:

  • the polynomial f = ( x 2 5 ) 3 5 5 ,
  • the exponent n = 2 of y ,
  • the 5 -adic valuation v 5 .
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 Y via the embedding ω ω / η with η = d x y n 1 , and the output has to be interpreted with respect to this embedding. This means that ( x d x y , 5 d x y ) is a basis for the lattice of integral differentials of Y .

Modifying the above computation by setting n = 3 , we compute the lattice of integral differential forms for the superelliptic curve y 3 = ( x 2 5 ) 3 5 5 . This is Example 5.3 in [KunzweilerWewers23].

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 ( ( x 2 5 ) d x y 2 , d x y , 5 x d x y 2 , 25 d x y 2 ) .

For hyperelliptic curves y 2 = f ( x ) , our implementation can also be used to compute the order of the hyperelliptic discriminant Λ := Δ g ω 8 g + 4 , where g is the genus of the curve, Δ the discriminant of f and ω = d x y x g 1 d x y . This is a canonical element of the curve. In our first example, we obtain the following.

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.

How to install

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
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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 61.6%
  • Jupyter Notebook 23.6%
  • Sage 14.7%
  • Dockerfile 0.1%