Let $k = \mathbb{Q}(\sqrt{-143})$ and $\Lambda \subseteq \mathbb{C}$ the lattice with $\mathbb{Z}$-basis $\{\omega_1, \omega_2\}$, where $\omega_1 = 1$ and $\omega_2 = (1 + \sqrt{-143})/2$. I know that the elliptic curve $E = \mathbb{C}/\Lambda$ defined over $k(j)$, ($j$ is the $j$-invariant of $E$) has CM by $\mathbb{Q}(\sqrt{-143})$, but I would like to write $E$ in Weirstrass form. We have $E: y^2 = 4x^3 -g_2x -g_3$, where $g_2$ and $g_3$ come from the weights $4$ and $6$ Eisenstien series: \begin{align*} g_2 = 60 \sum_{\omega \in \Lambda \atop \omega\neq 0} \frac{1}{\omega^4} \hskip10mm \text{and} \hskip10mm g_3 = 140 \sum_{\omega \in \Lambda \atop \omega\neq 0} \frac{1}{\omega^6} \end{align*} Is there any way to compute these values in this example, or is this just to difficult to compute? I know that some of these values are known like when $k = \mathbb{Q}(i)$ and $\mathbb{Q}(\sqrt{-3})$. I've also looked for this example in LMFDB and didn't come up with anything.
1 Answers
First of all, one can obtain by "numerical guess" the value of the $j$-invariant of the given elliptic curve with associated lattice $$ \Lambda_2=\Bbb Z\cdot \omega_1+\Bbb Z\cdot \omega_2 =\Bbb Z\cdot 1+\Bbb Z\cdot \frac 12(-1+\sqrt{-143})\ . $$ A sign in $\omega_2$ was changed, this is not changing the story. Let $\tau_0$ be $\omega_2$ in alternative notation used below, since most modular functions below want a $\tau$-argument with a corresponding $q$-nome.
Then the computation of $j(\Lambda_0)=j(\tau_0)=:j_0$ already gives valuable information connecting $g_2$ and $g_3$. (The quotient $g_2^3/g_3^2$ , i.e. up to a known factor the quotient $G_2^3/G_3^2$ , i.e. up to a known factor the quotient $E_2^3/E_3^2$ is determined by $j_0$.)
It turns out that $j_0=\approx -20680840776711129.69108257742558129\dots$ is an algebraic integer, even more, $j_1:=j_0/5^3$ is also one. Instead of typing below the minimal polynomial for $j_0$, let us show the "shorter" minimal polynomial $f$ of $j_1$: To get $f$ in sage, the following "guess" code was launched:
sage: tau0 = (-1 + sqrt(-143))/2
sage: j0_approx = elliptic_j(tau0, 100000)
sage: f = (j0_approx / 5^3).algdep(10)
sage: latex(f)
(The guess can be converted into a proof.) The latex form of $f$ is: $$ \begin{aligned} f &= x^{10} + 165446726211309x^{9} \\ &\qquad- 393768093803579723x^{8} \\ &\qquad+ 218981818859893019825993647x^{7} \\ &\qquad- 518576281498995946961126719091x^{6} \\ &\qquad+ 1138907111817275820098533879450173x^{5} \\ &\qquad- 175531791674450070874162808746877854x^{4} \\ &\qquad+ 12666460576084039651631279180004665607x^{3} \\ &\qquad- 133940745852901279669264803596050247482x^{2} \\ &\qquad+ 23211436505681484601511877941186160239x \\ &\qquad- 157724749072656668777243335931768363351 \ . \end{aligned} $$ The roots of $f$, multiplied by $5^3$ are numerically...
sage: [ 5^3*r for r in f.roots(ring=QQbar, multiplicities=False)]
[-2.068084077671113?e16,
1562.181458481542?,
3.854446832015781? - 136.0937184913752?*I,
3.854446832015781? + 136.0937184913752?*I,
743.999999998961? - 1.438083473805263?e8*I,
743.999999998961? + 1.438083473805263?e8*I,
9235.24174842493? - 8467.87383023411?*I,
9235.24174842493? + 8467.87383023411?*I,
137988.1586167921? - 237712.6134039348?*I,
137988.1586167921? + 237712.6134039348?*I]
and $j_0=j(\tau_0)$ is the first entry in the list. We can check for instance:
sage: j0 = 5^3*f.roots(ring=QQbar, multiplicities=False)[0]
....: abs( j0_approx - j0 ) < 10e-30000
True
(So the distance between the numerically computed $j0$, and $5^3$ times the algebraic root of the monic $f$ is smaller than $10^{-30\,000}$.)
Does $j_0$ live in the Hilbert class field $H$ of $K:=\Bbb Q(\sqrt{-143})$? Yes. We build $H$, and ask for the roots of $f$ in $H$. Then we count them, all ten are in this field:
sage: K.<a> = QuadraticField(-143)
sage: H.<b> = K.hilbert_class_field()
sage: len(f.roots(ring=H, multiplicities=False))
10
sage: H.defining_polynomial()
x^10 - 6*x^9 + 12*x^8 - 13*x^7 + 9*x^6 - 3*x^5 - 3*x^4 + 6*x^3 - 6*x^2 + 3*x - 1
One can associate now for the "guessed" algebraic $j_0\in\overline{\Bbb Q}$ the elliptic curve $$ E'\ :\qquad Y^2 + XY = X^3 - \frac{36}{j_0-1728}X - \frac 1{j_0-1728}\ , $$ which has CM by $K=\Bbb Q(\sqrt{-143})$, so $E$ and $E'$ are isomorphic over $\Bbb C$. It remains to compute the needed scaling between $\Lambda_0=\Lambda(E)$ and $\Lambda(E')$. Some checks so far are as follows:
K.<j1> = NumberField(f, embedding=-2e16 / 5^3)
j0 = 5^3 * j1
EE = EllipticCurve(K, [1, 0, 0, -36/(j0 - 1728), -1/(j0 - 1728)])
print(f'Is the j-invariant of EE equal to j0? {bool(EE.j_invariant() == j0)}')
With the above we get...
sage: EE.has_cm()
True
sage: EE.cm_discriminant()
-143
sage: Lambda = EE.period_lattice( K.complex_embeddings()[0] )
sage: Lambda.basis(prec=100)
(75.135968200478499095024772208,
37.567984100239249547512386104 + 3.1415926535898497483734228045*I)
Then understanding (periods for) $E'$ (in code EE
) leads to understanding (periods of) $E$.
The above is just a guess, and we have only a check for $j_0\in H$. To work in a more rigurous manner, let us recall the structure, collect some formulas, also introducing notations. I am using
Noriko Yui, Don Zagier, On the singular values of Weber modular functions, Mathematics of computation, 66 (1997)
as a reference. We collect some data: $$ \begin{aligned} d &= -143 \\ \tau_0 &=\omega_2=\frac 12(-1+\sqrt{-143}) &\tau_0 &\text{ is a root of } &Q_0 &=[1,1,36] \\ q_0 &=e^{2\pi i\;\tau_0}\\ q &= q(\tau) =e^{2\pi i\;\tau}\text{ (nome)}\\ \Lambda(\tau) &=\Bbb Z\cdot 1+\Bbb Z\cdot \tau\\[2mm] % g_2(\tau) &= 60 G_4(\tau) = 60\sum_{\substack{\omega\in\Lambda(\tau)\\\omega\ne 0}}\frac 1{\omega^4} & G_4 &=\frac 1{45}\pi^4\; E_4 & E_4(\tau) &= 1+240\sum_{n\ge 1}\frac{n^3q^n}{1-q^n}\\ \\ g_3(\tau) &= 140 G_4(\tau) = 140\sum_{\substack{\omega\in\Lambda(\tau)\\\omega\ne 0}}\frac 1{\omega^6} & G_6 &=\frac 1{945}\pi^6\; E_6 & E_6(\tau) &= 1-504\sum_{n\ge 1}\frac{n^5q^n}{1-q^n}\\ \\[2mm] E(\tau)\ &:\ y^2 =4x^3 -g_2(\tau)x-g_3(\tau)\\ j(\tau) &= j(E(\tau))=\frac {1728}{\displaystyle 1-\frac{E_6(\tau)^2}{E_4(\tau)^3}} \\[2mm] \eta &=\text{ Dedekind eta function} \\[2mm] \mathfrak f(\tau) &= q^{-\frac 1{48}}\prod_{n\ge 0}\left( 1+q^{n-\frac 12}\right) & \mathfrak f(\tau) &= \frac{\eta\left( \frac {\tau+1}2 \right)}{\zeta_{48}\;\eta(\tau)} \\ \mathfrak f_1(\tau) &= q^{-\frac 1{48}}\prod_{n\ge 0}\left( 1-q^{n-\frac 12}\right) & \mathfrak f_1(\tau) &= \frac{\eta\left( \frac \tau2 \right)}{\eta(\tau)} \\ \mathfrak f_2(\tau) &= \sqrt 2\; q^{\frac 2{48}}\prod_{n\ge 0}\left( 1+q^n\right) & \mathfrak f_2(\tau) &= \sqrt 2\frac{\eta(2\tau)}{\eta(\tau)} \\ E_4&=\underbrace{(\ \mathfrak f^8\overbrace{(\mathfrak f_1^8 +\mathfrak f_2^8)}^{=\mathfrak f^8} -\mathfrak f_1^8\mathfrak f_2^8\ )}_{\gamma_2}\; \eta^8 \\ E_6&=\underbrace{(\mathfrak f^8 + \mathfrak f_1^8)(\mathfrak f^8 +\mathfrak f_2^8)(\mathfrak f_1^8-\mathfrak f_2^8)}_{\gamma_3}\; \eta^{12} \\[3mm] f(Q_0) &= \zeta_{48}\mathfrak f_2(\tau_0') \\ W_d &=\text{ minimal pol of }f(Q_0)\ . \end{aligned} $$ Here the function $f$ is as in the Proposition from loc. cit. page 1647. Then for $Q_0=[a,b,c]=[1,1,36]$ we are in the third case, $2\not|a$ and $2|c$, the factor $\varepsilon_d$ is $+1$, so $$ f(\tau_0) = f(Q_0) = \zeta_{48}\;\mathfrak f_2(\tau_0) \ , $$ and the table from loc. cit. gives for $d=-143$ the line: $$ \begin{array}{|c|c|c|c|c|} \hline d & h(d) & W_d(x) & \operatorname{Disc}(W_d) \\\hline -143 & 10 & 1,-3,6,-6,3,3,-9,13,-12,6,-1 & 5^2\cdot 11^4\cdot 13^5\\\hline \end{array} $$ We obtain the specific value of $\mathfrak f_2(\tau_0)$ as $$ \begin{aligned} \mathfrak f_2(\tau_0) &=\frac 1{\zeta_{48}}\cdot\Xi\ ,\qquad\text{ where} \\ \Xi &=\operatorname{Root}\Big( x^{10} - 3x^9 + 6x^8 - 6x^7 + 3x^6 + 3x^5 - 9x^4 + 13x^3 - 12x^2 + 6x - 1 \Big)\ , \\ &\Xi\approx0.29559675118017300\dots \end{aligned} $$ From this information and from $$ \begin{aligned} \mathfrak f\; \mathfrak f_1 \;\mathfrak f_2 &= \sqrt 2\ ,\\ \mathfrak f_1^8 + \mathfrak f_2^8 &= \mathfrak f^8\ ,\\ \end{aligned} $$ we can determine all needed values that show up in $\gamma_2$ and $\gamma_3$, for instance: $$ \begin{aligned} 2^4 &= \mathfrak f^8 \;\mathfrak f_1^8 \;\mathfrak f_2^8 \\ 0&= \mathfrak f^8 - \mathfrak f_2^8 -\mathfrak f_1^8 & 0 &=\mathfrak f_1^8 + \mathfrak f_2^8 -\mathfrak f^8 \\ 0&= \mathfrak f^8 - \mathfrak f_2^8 -\frac {16}{\mathfrak f^8\mathfrak f_2^8} & 0 &=\mathfrak f_1^8 + \mathfrak f_2^8 - \frac {16}{\mathfrak f_1^8\mathfrak f_2^8} \\ 0&= \mathfrak f^{16} - \mathfrak f_2^8\; \mathfrak f^8 -\frac {16}{\mathfrak f_2^8} & 0&= \mathfrak f_1^{16} + \mathfrak f_2^8\; \mathfrak f_1^8 -\frac {16}{\mathfrak f_2^8} \\ \mathfrak f^8 &=\frac 12\left[ + \mathfrak f_2^8 \pm\sqrt{\mathfrak f_2^{16} +\frac{64}{\mathfrak f_2^8}} \right] & \mathfrak f_1^8 &=\frac 12\left[ - \mathfrak f_2^8 \pm\sqrt{\mathfrak f_2^{16} +\frac{64}{\mathfrak f_2^8}}\right] \end{aligned} $$ and now $$ \begin{aligned} \gamma_2 &= \mathfrak f^8\underbrace{(\mathfrak f_1^8 +\mathfrak f_2^8)}_{=\mathfrak f^8} - \mathfrak f_1^8 \;\mathfrak f_2^8 = \mathfrak f^{16} - \mathfrak f_1^8 \;\mathfrak f_2^8 \\ &= \mathfrak f^8 \;\mathfrak f_2^8 +\frac {16}{\mathfrak f_2^8} - \mathfrak f_1^8 \;\mathfrak f_2^8 = (\mathfrak f^8 - \mathfrak f_1^8)\;\mathfrak f_2^8 +\frac {16}{\mathfrak f_2^8} \\ &= \mathfrak f_2^{16} +\frac {16}{\mathfrak f_2^8} = \frac 1{\mathfrak f_2^8}(\mathfrak f_2^{24} + 16) =\frac {\zeta_{48}^8}{\Xi^8}(-\Xi^{24} + 16) \\ &= \zeta_6\left(\frac {16}{\Xi^8} - \Xi^{16}\right)\ . \\[3mm] &\qquad\text{ And in a similar manner:} \\[3mm] \gamma_3 &= (\mathfrak f^8 + \mathfrak f_1^8)(\mathfrak f^8 + \mathfrak f_2^8)(\mathfrak f_1^8 - \mathfrak f_2^8) \\ &=\pm\sqrt{\mathfrak f_2^{16} +\frac {64}{\mathfrak f_2^8}} \cdot\frac 12\left(+3\mathfrak f_2^8 \pm\sqrt{\mathfrak f_2^{16} +\frac {64}{\mathfrak f_2^8}}\right) \cdot\frac 12\left(-3\mathfrak f_2^8 \pm\sqrt{\mathfrak f_2^{16} +\frac {64}{\mathfrak f_2^8}}\right) \\ &=\pm\sqrt{\mathfrak f_2^{16} +\frac {64}{\mathfrak f_2^8}} \cdot\frac 12\cdot\frac 12\cdot 8\left(\mathfrak f_2^{16} -\frac 8{\mathfrak f_2^8}\right) \\ &=-\frac i{\Xi^{12}}(8-\Xi^{24})\sqrt{64-\Xi^{24}}\ . \end{aligned} $$
The above formulas for $\gamma_2$, $\gamma_3$ give explicit description of the explicit algebraic integer numbers appearing in the formulas for $E_4$, $E_6$ in front of the $\eta$-factors.
It remains to compute these eta-factors, expected to be some algebraic numbers times gamma factors.
At this point, taking a look at Theorem 9.3 from
Values of the Dedekind Eta Function, Alfred van der Poorten, Kenneth S. Williams
we are expecting a formula of the shape: $$ \eta\left(\frac {-1+\sqrt{-143}}2\right) = e^{2\pi i/48}(2\pi\cdot 143)^{-1/4} \left(\prod_{1\le m\le 143}\gamma\left(\frac m{143}\right)^{\left(\frac dm\right)}\right)^{\displaystyle\frac 2{8\cdot 10}}\cdot \alpha\ , $$ where $\alpha$ is an algebraic number. There is an explicit formula for $\alpha$ in loc. cit. but making it explicit as a number would cost me further hours. Numerical experiments are supporting the following simple value for $\alpha$: $$ \begin{aligned} \alpha^{20} &=\operatorname{Root}\Big( x^{10} + 7 \, x^{9} - 869 \, x^{8} - 5747 \, x^{7} + 260467 \, x^{6} + 3436949 \, x^{5} \\ &\qquad\qquad + 13451413 \, x^{4} + 35857588 \, x^{3} - 13067736 \, x^{2} + 1161137 \, x - 1 \Big)\ ,\\ \alpha &\approx 0.497457562194359381428542\dots \end{aligned} $$ As a further pro argument for the above claim, note that $\alpha^{20}$ is an element in the Hilbert class field $H$ of $K=\Bbb Q(\sqrt{-143})$, with $\alpha$ defined as above.
It remains to put all together, for $g_2, g_3$ pass to $G_4,G_6$, then to $E_4,E_6$, which are $\gamma_2\eta^8$, $\gamma_3\eta^{12}$, then use the algebraic values for $\gamma_2$, $\gamma_3$ computed above, and the powers of the above $\eta$-value, which in essence involves powers of gamma factors multiplied with algebraic integers related to the Hilbert class field of $K$.

- 32,856
-
sage: EE.has_cm()
How the hell is sage knowing that the elliptic curve has CM? Is it just a table of small j-invariant or is it doing something crazy? – reuns Nov 17 '22 at 19:34 -
1@reuns Yes, an echo of one of my questions... The method
has_cm
was implemented by Simon King, it's a $j$-invariant of $E'$ lookup. Citing the doc stringsage: ??sage.schemes.elliptic_curves.cm.is_cm_j_invariant
, The current implementation makes use of the classification of all orders of class number up to 100, and hence will raise an error ifj
is an algebraic integer of degree greater than this. It would be possible to implement a more general version, using the fact thatd
must be supported on the primes dividing the discriminant of the minimal polynomial ofj
. – dan_fulea Nov 17 '22 at 20:29 -
@reuns
??sage.schemes.elliptic_curves.cm.discriminants_with_bounded_class_number
performs the lookup, to reproduce an occurence of $-143$ one can trysage: sage.schemes.elliptic_curves.cm.discriminants_with_bounded_class_number(10, B=150)[10]
- and some $-143$ entry shows up twice. When $B$ is not given, the code mentions in its doc string... In caseB
is not given, we use Mark Watkins's: "Class numbers of imaginary quadratic fields" to compute aB
that captures allh
up tohmax
(only available forhmax\le100
). – dan_fulea Nov 17 '22 at 20:41
k.<a> = NumberField(x^2 + 143) G = k.class_group() print(G.cardinality(), G) H = k.hilbert_class_field('b') print(H)
in SAGE). – Watson Nov 03 '22 at 07:11