.ipynb_checkpoints | ||
as_covers | ||
auxilliaries | ||
drafty | ||
superelliptic | ||
superelliptic_drw | ||
init.sage | ||
README.md | ||
run.term | ||
tests.sage |
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.