Expand completeness checker for elliptic curves and number fields#7014
Open
rvisser7 wants to merge 23 commits into
Open
Expand completeness checker for elliptic curves and number fields#7014rvisser7 wants to merge 23 commits into
rvisser7 wants to merge 23 commits into
Conversation
…lliptic curves over number fields
Member
|
I need to focus on final exams for a few days, but I'll be happy to look this once I'm done! |
Member
Author
|
Thanks - of course no rush! I've realised there are many more cases we could still add, though I think the above is probably enough for this PR. :) I've opened a separate issue #7017 to help track more cases we could add to the completeness checker in the future. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR extends the completeness checker (
lmfdb/utils/completeness.py) with a few more cases for elliptic curves, genus 2 curves, and number fields.As always, any comments/feedback much appreciated! 🙂
Elliptic curves: Since the LMFDB has all elliptic curves over Q with 7-smooth conductor, we can thus guarantee completeness when searching for elliptic curves over Q whose bad primes are contained in {2,3,5,7}. This hence addresses Drew's comment in #6773.
https://beta.lmfdb.org/EllipticCurve/Q/?bad_quantifier=subset&bad_primes=2%2C3%2C5%2C7
http://localhost:37777/EllipticCurve/Q/?bad_quantifier=subset&bad_primes=2%2C3%2C5%2C7
Further to the above, we can also guarantee completeness when searching for elliptic curves over Q whose bad primes are contained in some fixed set$S$ , when the maximum possible conductor $M = \prod_{p \in S} p^{e_p}$ , with $e_2 = 8$ , $e_3 = 5$ , and $e_p = 2$ for $p > 3$ , is at most 500 000. E.g. we can guarantee completeness for elliptic curves E/Q good away from $S =$ {23, 29} or $S =$ {701}.
https://beta.lmfdb.org/EllipticCurve/Q/?bad_quantifier=subset&bad_primes=23%2C29
http://localhost:37777/EllipticCurve/Q/?bad_quantifier=subset&bad_primes=23%2C29
Genus 2 curves: We can (rather trivially) guarantee completeness for genus 2 curves over Q with conductor less than 121, since no such curves exist! Though (as far as I know) this requires assuming paramodularity.
https://beta.lmfdb.org/Genus2Curve/Q/?cond=1-120
http://localhost:37777/Genus2Curve/Q/?cond=1-120
Regulator bounds for number fields: For non-CM number fields$K$ , the regulator $R$ satisfies a lower bound of the form $R \geq A (log \Delta_K)^B$ for some effective constants $A$ and $B$ depending on the signature of $K$ . Combined with our existing discriminant completeness bounds, this yields completeness guarantees up to an explicit regulator bound for certain signatures (though this would be a somewhat small bound for most signatures).
To make this work within the$R$ instead of the discriminant $D$ . We then call
NFBoundclass, I've added the regulator todisplay_reason, and have added a methodclear_regulatorswhich does essentially the same thing asclear_signatures, except for the regulatorself.clear_regulatoras part of Completeness 1 in_one_nand return True if all signatures have been certified.https://beta.lmfdb.org/NumberField/?signature=%282%2C0%29®ulator=0-7
http://localhost:37777/NumberField/?signature=%282%2C0%29®ulator=0-7
https://beta.lmfdb.org/NumberField/?signature=%282%2C1%29®ulator=0-0.5
http://localhost:37777/NumberField/?signature=%282%2C1%29®ulator=0-0.5
https://beta.lmfdb.org/NumberField/?signature=%285%2C1%29®ulator=0-6
http://localhost:37777/NumberField/?signature=%285%2C1%29®ulator=0-6
I've also been adding various extra comments and docstrings throughout the
completeness.pyfile, mainly for my own understanding of how everything works. I thought I'll keep them in as it might benefit others (but can also take them out if you'd think they're unnecessary).