decidingifgenus1curvehasqpoint

MAGMA code to determine if a Genus 1 curve defined over Q has a rational point.

https://github.com/nicswansonvt/decidingifgenus1curvehasqpoint

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

MAGMA code to determine if a Genus 1 curve defined over Q has a rational point.

Basic Info
  • Host: GitHub
  • Owner: Nicswansonvt
  • License: mit
  • Default Branch: main
  • Size: 149 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created almost 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README

By Nicolas Swanson

This is the code accompaning my Master's Thesis linked here: https://hdl.handle.net/10919/119085

The only code here that has been tested is the code in the LocallySoluble file which contains a bunch of MAGMA functions to determine Local Solubility of an arbitrary curve. The other files are unfinished

The main function here is the IsLocallySoluble() function:
/*
    Input: A Crv C defined over Q.
    Output: true if C(Qp) has a point for all padic numbers. false otherwise.
*/

The algorithm requires factoring a number that is incredibly large even for small examples, so a thourough runtime analysis has not been done. In practice, this algorithm should almost never be used. For some genus 1 curves, there is a function already in MAGMA by a similar name (https://magma.maths.usyd.edu.au/magma/handbook/text/1540#17797), that runs at least exponentially quicker; however, the input to this function is a not a Crv object but instead a ModelG1 object. These ModelG1 objects were created for the purpose of performing decent on elliptic curves, and are used to perform 2, 3, and 5 decent (https://magma.maths.usyd.edu.au/magma/handbook/text/1534). Only a small porportion of genus one curves have an associated ModelG1 object, and the purpose of the algorithm written here is to provide a naive algorithm that does not require the ModelG1 object.


First, copy and paste the contents of the LocallySoluble file.
Example usage:
PSpace := ProjectiveSpace(Rationals(), 2);
C := Curve(PSpace, 3*x^3 + 4*y^3 + 5*z^3);
IsLocallySoluble(C);

Owner

  • Login: Nicswansonvt
  • Kind: user

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Deciding if a Genus 1 Curve has a Point
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Nicolas Swanson
    email: nicswanson@vt.edu
    affiliation: Virginia Tech
repository-code: >-
  https://github.com/Nicswansonvt/DecidingIfGenus1CurvehasQPoint
license: MIT

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1