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
- Repositories: 1
- Profile: https://github.com/Nicswansonvt
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