Go to file
2023-09-23 10:57:22 +00:00
.ipynb_checkpoints first 2021-08-18 15:44:03 +02:00
as_covers moved the files to different folder 2023-09-23 10:40:02 +00:00
auxilliaries moved the files to different folder 2023-09-23 10:40:02 +00:00
drafty moved the files to different folder 2023-09-23 10:40:02 +00:00
superelliptic moved the files to different folder 2023-09-23 10:40:02 +00:00
superelliptic_drw moved the files to different folder 2023-09-23 10:40:02 +00:00
init.sage moved the files to different folder 2023-09-23 10:40:02 +00:00
README.md readme - first content 2023-09-23 10:57:22 +00:00
run.term moved the files to different folder 2023-09-23 10:40:02 +00:00
tests.sage moved the files to different folder 2023-09-23 10:40:02 +00:00

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.