DeRhamComputation/README.md

1.3 KiB

SAGEMATH module: superelliptic curves and their Artin-Schreier covers

Basic information

Usage

The main file is init.sage. In order to use it, type:

sage: load('init.sage')

The main two "packages" are intended for:

  • superelliptic curves,
  • (\mathbb Z/p)^n-covers of superelliptic curves.

Superelliptic curves

In order to define a superelliptic curve C : y^4 = x^6 + 1 over the finite field with 9 elements, use the following commands:

F.<a> = GF(9, 'a')
Rx.<x> = PolynomialRing(F)
f = x^6 + 1
C = superelliptic(f, 4)

There are three auxilliary classes: superelliptic_function (for functions defined on superelliptic curves), superelliptic_form (for forms defined on superelliptic curves) and superelliptic_cech (for cech cocycles for the de Rham cohomology on superelliptic curves).

For example, in order to define the function x + y on our curve C we can define it like this:

Rxy.<x, y> = PolynomialRing(F, 2)
fct = superelliptic_function(C, x + y)

or simpler:

fct = C.x + C.y

Similarly, in order to define the form \omega = y \cdot dx we may use:

omega = superelliptic_form(C, y)

or simpler:

omega = C.y * C.dx

Troubleshooting

  • precision
  • threshold
  • no root in the field
  • basis -- coordinates.