DeRhamComputation/README.md

55 lines
1.3 KiB
Markdown
Raw Normal View History

2023-09-23 12:57:22 +02: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.