-
Notifications
You must be signed in to change notification settings - Fork 227
Description
When downloading the search results for a set of elliptic curves over number fields
Example: https://beta.lmfdb.org/EllipticCurve/?field=2.0.111.1&conductor_norm=1
When downloading to Sage all elliptic curves with conductor norm 1 over the base field 2.0.111.1, the file contains the following:
columns = ["short_label", "short_class_label", "field_label", "conductor_norm", "rank", "torsion_structure", "cm", "sato_tate_group", "equation"]
data = [
["1.1-a1", "1.1-a", "2.0.111.1", 1, 1, [], 0, "1.2.A.1.1a", "{y}^2+{y}={x}^3+\\left(-a+1\\right){x}^2+\\left(-3a-16\\right){x}+7a-31"],
["1.1-a2", "1.1-a", "2.0.111.1", 1, 1, [], 0, "1.2.A.1.1a", "{y}^2+{y}={x}^3+\\left(-a+1\\right){x}^2+\\left(-563a-1486\\right){x}-14287a+263"],
["1.1-b1", "1.1-b", "2.0.111.1", 1, 1, [], 0, "1.2.A.1.1a", "{y}^2+{y}={x}^3+a{x}^2+\\left(3a-19\\right){x}-7a-24"],
["1.1-b2", "1.1-b", "2.0.111.1", 1, 1, [], 0, "1.2.A.1.1a", "{y}^2+{y}={x}^3+a{x}^2+\\left(563a-2049\\right){x}+14287a-14024"]
]
def create_record(row):
out = {col: val for col, val in zip(columns, row)}
return out
I think it would definitely be a lot more helpful if the downloaded search results could create an EllipticCurve object, as is currently done for elliptic curves over Q! E.g. It would be great to have something similar to what is currently implemented for downloading elliptic curves over Q to Sage:
columns = ["lmfdb_label", "lmfdb_iso", "class_size", "conductor", "rank", "torsion_structure", "cm_discriminant", "ainvs"]
data = [
["32.a1", "32.a", 4, 32, 0, [2], -16, [0, 0, 0, -11, -14]],
["64.a1", "64.a", 4, 64, 0, [2], -16, [0, 0, 0, -44, -112]]
]
def create_record(row):
out = {col: val for col, val in zip(columns, row)}
curve = EllipticCurve(out["ainvs"])
out["curve"] = curve
return out