FLINT3.7.0-dev

acb_elliptic_roots

Synopsis#include <flint/acb_elliptic.h>
void acb_elliptic_roots(acb_t e1, acb_t e2, acb_t e3, const acb_t tau, slong prec)source

Sets e1, e2, e3 to the lattice roots, the roots of 4x^3 - g_2 x - g_3, which are e_1 = \wp(1/2), e_2 = \wp((1 + \tau)/2) and e_3 = \wp(\tau/2), computed from the fourth powers of the theta constants [NIST2012, 23.6.2–23.6.4]. The outputs are indeterminate if \operatorname{Im}(\tau) is not certainly positive.

With \theta_j = \theta_j(0, \tau),

e_1 = \frac{\pi^2}{3}(\theta_3^4 + \theta_4^4), \quad e_2 = \frac{\pi^2}{3}(\theta_2^4 - \theta_4^4), \quad e_3 = -\frac{\pi^2}{3}(\theta_2^4 + \theta_3^4).

The roots are real when \operatorname{Re}(\tau) is an integer, and e_1 is real when \operatorname{Re}(\tau) is a half-integer; in these cases the imaginary parts are set to exactly zero.

References#

  • [NIST2012] National Institute of Standards and Technology, Digital Library of Mathematical Functions (2012), https://dlmf.nist.gov/
Cite this page

The FLINT team, “acb_elliptic_roots (acb_elliptic.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/acb_elliptic/acb_elliptic_roots.html (generated 2026-10-20).