https://github.com/edgarcosta/endomorphisms
Raw File
Tip revision: 15e33f131739bd3ee899d9f2e8f61572fbd9c124 authored by Edgar Costa on 02 February 2024, 20:53:21 UTC
Merge pull request #70 from edgarcosta/DivisorFromMatrixAmbientSplit
Tip revision: 15e33f1
features.txt
=======================
FEATURES OF THE PACKAGE
=======================

Pari/GP:
The package uses Pari/GP to improve Magma functionality with fields. In particular, one can Polredabs or Polredbest input fields or polynomials. Similarly, there are functions RootsPari, HasRootPari, FactorizationPari, SplittingFieldPari and AutomorphismGroupPari.

Abelian category:
There are functions Ker0, Coker, ImgInc, ImgProj and ImgIdemp for calculating in the category of abelian varieties.

Polarization and duals:
Heuristic functions to determine (principal) polarizations on a given complex torus are available. There are isomorphism and automorphism tests for principally polarized abelian varieties (respecting the given polarization), and duals of maps can be formed. Finally, one can determine the image of a given endomorphism under the Rosati involution and calculate the rank of the subspace of the endomorphism algebra that is fixed under Rosati.

Complex fields:
The fields ComplexFieldExtra carry some extra parameters for comparison purposes. These can be used to decide what is 0 or to set height bounds when running LLL algorithms.

Number fields:
Relative fields are represented using "normal" number fields in Magma for simplification purpose. The base field is indicated via a flag and an embedding that memorizes the image of the generator of the base field. Infinite places are defined without identifying under complex conjugation. Embeddings with respect to infinite places (the chosen one by default) as well as conjugations and coercions by maps are also implemented, not only for elements, but also for polynomials and matrices.

As a main function, given a (relative) base number field and elements of CC, a corresponding extension can be determined. This is also possible for splitting fields. Recognition techniques in these fields are also implemented. These are calculated via the usual LLL method, which is ensured to be very stable.

Take care with the following:
* All fields will get simplified by default, meaning that you should not rely on generators coming out with the minimal polynomials that you are used to. Instead, find the relevant elements after creating the field by taking roots.

Periods:
Native Magma algorithms are currently used, embedding the curve using the specified infinite place. Special care is taken to work over the base field in all circumstances: This involves some extra work to deal with degree-2 covers of conics in genus 3. This defines a new "generalized hyperelliptic" curve type. Hyperelliptic curves and plane curves are easier to deal with, and curves of higher genus get converted to plane form using algebraic function fields in Magma.

Endomorphism representations:
These are calculated via the usual LLL method, which is ensured to be very stable. Recognition functions over a base field are provided.

Structure:

Sato-Tate groups:
Functions to return these in genus 2 are implemented. In higher genus, a hash is calculated that describes the action on the real endomorphism algebra.

Factors:
TBD (MatrixFromIdempotent is in Structure.m, then MaxIsotr, DecFacts, DecCurves).

Buttons:
A curve is automatically converted to a suitable NumberFieldExtra if it is given over one.

Verification:
TBD.
back to top