# Elliptic curves downloaded from the LMFDB on 08 December 2023.
# Search link: https://www.lmfdb.org/EllipticCurve/Q/38/
# Query "{'conductor': 38}" returned 5 curves, sorted by conductor.
# Each entry in the following data list has the form:
# [Label, Class, Conductor, Rank, Torsion, CM, Weierstrass equation]
# For more details, see the definitions at the bottom of the file.
# To create a list of curves, type "curves = make_data()"
columns = ["lmfdb_label", "lmfdb_iso", "conductor", "rank", "torsion_structure", "cm_discriminant", "ainvs"]
data = [
["38.a1", "38.a", 38, 0, [], 0, [1, 0, 1, -86, -2456]],
["38.a2", "38.a", 38, 0, [3], 0, [1, 0, 1, -16, 22]],
["38.a3", "38.a", 38, 0, [3], 0, [1, 0, 1, 9, 90]],
["38.b1", "38.b", 38, 0, [], 0, [1, 1, 1, -70, -279]],
["38.b2", "38.b", 38, 0, [5], 0, [1, 1, 1, 0, 1]]
]
def create_record(row):
out = {col: val for col, val in zip(columns, row)}
return out
def make_data():
return [create_record(row) for row in data]
#Label (lmfdb_label) --
# The **LMFDB label** of an elliptic curve $E$ over $\mathbb{Q}$ is a way of indexing the elliptic curves over $\mathbb Q.$ It has the form "11.a1" or "10050.bf2".
# The label has three components: the **conductor**, the **isogeny class label**, and the **isomorphism class index**.
# 1. The first component is the decimal representation of the conductor (a positive integer).
# 2. The second component is the isogeny class label, a string which represents the **isogeny class index**, a non-negative integer encoded
# as in base 26 using the 26 symbols a,b,.., z. The isogeny
# classes of elliptic curves with the same conductor are sorted lexicographically by the $q$-expansions of the associated modular forms, and the isogeny class index of each isogeny class of fixed conductor is the index (starting at 0) of the class in this ordering.
# 3. The third component is the decimal representation of the isomorphism class index, a positive integer giving the index of the coefficient vector $[a_1, a_2, a_3, a_4, a_6]$ of the reduced minimal Weierstrass equation of $E$ in a lexicographically sorted list of all the elliptic curves in the isogeny class.
# The complete label is obtained by concatenating [conductor, ".", isogeny class label, isomorphism class index].
# Note that this is not the same as the Cremona label, even though for certain curves they only differ in the insertion of the dot "." (for example, "37a1" and "37.a1" are the same curve). The presence of the punctuation "." distinguishes an LMFDB label from a Cremona label. Cremona labels are only defined for curves of conductor up to 500000.
#Class (lmfdb_iso) --
# The **LMFDB label** of an elliptic curve $E$ over $\mathbb{Q}$ is a way of indexing the elliptic curves over $\mathbb Q.$ It has the form "11.a1" or "10050.bf2".
# The label has three components: the **conductor**, the **isogeny class label**, and the **isomorphism class index**.
# 1. The first component is the decimal representation of the conductor (a positive integer).
# 2. The second component is the isogeny class label, a string which represents the **isogeny class index**, a non-negative integer encoded
# as in base 26 using the 26 symbols a,b,.., z. The isogeny
# classes of elliptic curves with the same conductor are sorted lexicographically by the $q$-expansions of the associated modular forms, and the isogeny class index of each isogeny class of fixed conductor is the index (starting at 0) of the class in this ordering.
# 3. The third component is the decimal representation of the isomorphism class index, a positive integer giving the index of the coefficient vector $[a_1, a_2, a_3, a_4, a_6]$ of the reduced minimal Weierstrass equation of $E$ in a lexicographically sorted list of all the elliptic curves in the isogeny class.
# The complete label is obtained by concatenating [conductor, ".", isogeny class label, isomorphism class index].
# Note that this is not the same as the Cremona label, even though for certain curves they only differ in the insertion of the dot "." (for example, "37a1" and "37.a1" are the same curve). The presence of the punctuation "." distinguishes an LMFDB label from a Cremona label. Cremona labels are only defined for curves of conductor up to 500000.
# Conductor --
# The **conductor** $N$ of an elliptic curve $E$ defined over $\Q$ is a positive integer divisible by the primes of bad reduction and no others. It has the form $N=\prod p^{e_p}$, where the exponent $e_p$ is
# - $e_p=1$ if $E$ has multiplicative reduction at $p$,
# - $e_p=2$ if $E$ has additive reduction at $p$ and $p\ge5$,
# - $2\leq e_p\leq 5$ if $E$ has additive reduction and $p=3$, and
# - $2\leq e_p\leq 8$ if $E$ has additive reduction and $p=2$.
# For all primes $p$, there is an algorithm of Tate that simultaneously creates a local minimal Weierstrass equation and computes the exponent of the conductor. See:
#
# - J. Tate, Algorithm for determining the type of a singular fiber
# in an elliptic pencil, Modular functions of one variable, IV
# (Proc. Internat. Summer School, Univ. Antwerp, Antwerp, 1972),
# 33-52.
*Lecture Notes in Math.*, Vol. **476**,
# Springer, Berlin, 1975. \cite{MR0393039}
# - J.H. Silverman,
*Advanced topics in the arithmetic of elliptic
# curves*, GTM **151**, Springer-Verlag, New York, 1994.\cite{MR1312368}
#

# Rank --
# The **rank** of an elliptic curve $E$ defined over a number field $K$ is the rank of its Mordell-Weil group $E(K)$.
# The Mordell-Weil Theorem says that $E(K)$ is a finitely-generated abelian group, hence
# \[ E(K) \cong E(K)_{\rm tor} \times \Z^r\]
# where $E(K)_{\rm tor}$ is the finite torsion subgroup of $E(K)$, and $r\geq 0$ is the **rank**.
# Rank is an isogeny invariant: all curves in an isogeny class have the same rank.
#Torsion (torsion_structure) --
# For an elliptic curve $E$ over a field $K,$ the **torsion subgroup** of $E$ over $K$ is the subgroup $E(K)_{\text{tor}}$ of the Mordell-Weil group $E(K)$ consisting of points of finite order. For a number field $K$ this is always a finite group, since by the Mordell-Weil Theorem $E(K)$ is finitely generated.
# The torsion subgroup is always either cyclic or a product of two cyclic groups.
# The **torsion structure** is the list of invariants of the group:
# - $[]$ for the trivial group;
# - $[n]$ for a cyclic group of order $n>1$;
# - $[n_1,n_2]$ with $n_1\mid n_2$ for a product of non-trivial cyclic groups of orders $n_1$ and $n_2$.
# For $K=\Q$ the possible torsion structures are $[n]$ for $n\le10$ and $n=12$, and $[2,2n]$ for $n=1,2,3,4$.
#CM (cm_discriminant) --
# An elliptic curve whose endomorphism ring is larger than \(\Z\) is said to have **complex multiplication** (often abbreviated to CM). In this case, for curves defined over fields of characteristic zero, the endomorphism ring is isomorphic to an order in an imaginary quadratic field. The discriminant of this order is the **CM discriminant**.
# An elliptic curve whose geometric endomorphism ring is larger than \(\Z\) is said to have **potential complex multiplication** (potential CM). In the literature, these too are often called CM elliptic curves.
# The property of having potential CM depends only on the $j$-invariant of the curve. In characteristic $0$, CM $j$-invariants are algebraic integers, and there are only finitely many in any given number field. There are precisely 13 CM $j$-invariants in $\Q$ (all integers), associated to the 13 imaginary quadratic orders of class number $1$:
# $$
# \begin{array}{c|ccccccccccccc}
# j & -12288000 & 54000 & 0 & 287496 & 1728 & 16581375 & -3375 & 8000 & -32768 & -884736 & -884736000 & -147197952000 & -262537412640768000\\
# \text{CM discriminant} &-27 & -12 & -3 & -16 & -4 & -28 & -7 & -8 & -11 & -19 & -43 & -67 & -163
# \end{array}
# $$
# CM elliptic curves are examples of CM abelian varieties.
#Weierstrass equation (ainvs) --
# Every elliptic curve over $\mathbb{Q}$ has an integral Weierstrass model (or equation) of the form \[y^2+a_1xy+a_3y=x^3+a_2x^2+a_4x+a_6,\]
# where $a_1,a_2,a_3,a_4,a_6$ are integers.
# Each such equation has a discriminant $\Delta$. A **minimal Weierstrass equation** is one for which $|\Delta|$ is minimal among all Weierstrass models for the same curve. For elliptic curves over $\mathbb{Q}$, minimal models exist, and there is a unique **reduced minimal model** which satisfies the additional constraints $a_1,a_3\in\{0,1\}$, $a_2\in\{-1,0,1\}$.