From 6c3fc0d50e7c079ddf88629d5d72ed75b05c4d6a Mon Sep 17 00:00:00 2001 From: jgarnek Date: Sat, 23 Sep 2023 10:57:22 +0000 Subject: [PATCH] readme - first content --- README.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/README.md b/README.md index e69de29..64b3bfb 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,55 @@ +# 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. = GF(9, 'a') +Rx. = 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. = 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. \ No newline at end of file