Suppose we have an elliptic curve
This question is at the heart of the paper BCCHLLDNP25, part of a collaboration with Babei, Charton, Costa, Huang, Lee, Narayanan, and Pozdnyakov. In this paper we see if ML models can learn to predict later coefficients from collections of earlier coefficients. Successful predictions would indicate that there is enough structure in early coefficients to uniquely specify later coefficients — and therefore that the initial sets of coefficients uniquely specify the curve.
It would be desirable to directly try to test the classification problem of how many coefficients determine a curve, but it's challenging to formulate a concrete, testable experiment for this. (We return to this in the LMFDB Experiment section below).
Instead we test the presumably harder problem of reconstructing later coefficients from earlier coefficients. This is (probably) a much harder problem!
Extending lists of coefficients
How could one go about recognizing or reconstructing a curve from initial sets of coefficients?
Naive Approach
Suppose we are given
How hard is it to directly find a curve with these points?
One approach is to consider it one prime at a time and then to combine the
local results together with an application of the Chinese Remainder
Theorem.1
1This is like Schoof's algorithm, but in
reverse.
For example, guess random curves
I thought it would be fun to use this to find matching candidates for 11a3. And it was fun! But it also worked terribly.
Any initial sequence of
Point counts reduce to
And yes, it worked!
But coincidentally it was approximately the
Sturm's Bound
Concretely, we know that the first
Thus given
Approximate Functional Equation
The
In principle, the coefficients can be retrieved from the analytic behavior of
the
I don't know of any implementation for the purpose of extending coefficient
lists (though this would also be interesting and attainable!), but it is
performable in principle.
Thus the first
Conjectural Results
If the Riemann Hypothesis is true for Artin
This says nothing about how to use these to compute the remaining coefficients.
LMFDB Experiment
Let's look at the LMFDB's elliptic curves over
Stated differently, we compute the number of
This is a very short data analysis problem with the database available.
# This line is made up, but is approximately right.
# (If you need help accessing LMFDB data, send me
# or the LMFDB an email and we can help.)
from lmfdb import elliptic_curve_db
def identify_smallest(apcol, conductor, record):
"""
-1 means unable to distinguish
0 means only one isogeny class
otherwise, return B
"""
m = -1
if len(apcol) == 1:
record[conductor] = 0
return
for i in range(len(apcol)):
for j in range(i + 1, len(apcol)):
found = False
for idx, (a, b) in enumerate(zip(apcol[i], apcol[j])):
if a != b:
m = max(m, idx)
found = True
break
if not found:
record[conductor] = -1
return
record[conductor] = m
record = dict()
cur_conductor = 11
apcol = []
cursor = elliptic_curve_db.search(sort=['conductor'])
while True:
ec = next(cursor)
conductor = ec['conductor']
if conductor != cur_conductor:
identify_smallest(apcol, cur_conductor, record)
cur_conductor = conductor
apcol = []
apcol.append(ec['aplist'])
Let's plot

Looking a bit closer at the smaller range:

Maybe
Here is one heuristic explanation: we should expect
There are
Heuristically, asking how many
I've implicitly assumed that the distribution is uniform, and not merely Sato-Tate uniform. This is close enough to the truth to not affect the heuristic.
But what should we actually expect about the joint distributions across multiple coefficients?
Related Notes
These bounds are closely related to the Sturm Bound,
Trace Bound,
and Distinguishing
In particular, we look at Hecke kernels, distinguishing sets of Hecke operators
This is to say: it's not quite the same... but it's closely related.
Info on how to comment
To make a comment, please send an email using the button below. Your email address won't be shared (unless you include it in the body of your comment). If you don't want your real name to be used next to your comment, please specify the name you would like to use. If you want your name to link to a particular url, include that as well.
bold, italics, and plain text are allowed in comments. A reasonable subset of markdown is supported, including lists, links, and fenced code blocks. In addition, math can be formatted using
$(inline math)$
or$$(your display equation)$$
.Please use plaintext email when commenting. See Plaintext Email and Comments on this site for more. Note also that comments are expected to be open, considerate, and respectful.