sagemath_eclib: Elliptic curves over the rationals with eclib/mwrank

This pip-installable distribution passagemath-eclib provides the Cython interface to John Cremona’s programs for enumerating and computing with elliptic curves defined over the rational numbers.

What is included

Examples

A quick way to try it out interactively:

$ pipx run --pip-args="--prefer-binary" --spec "passagemath-eclib[test]" ipython

In [1]: from sage.all__sagemath_eclib import *

In [2]: M = CremonaModularSymbols(43, cuspidal=True); M
Out[2]: Cremona Cuspidal Modular Symbols space of dimension 6 for Gamma_0(43) of weight 2 with sign 0

Finding the installation location of the mwrank program:

$ pipx run --pip-args="--prefer-binary" --spec "passagemath-eclib" python
>>> from sage.features.eclib import Mwrank
>>> Mwrank().absolute_filename()
'.../bin/mwrank'

Use with sage.schemes.elliptic_curves:

$ pipx run --pip-args="--prefer-binary" --spec "passagemath-eclib[test]" ipython

In [1]: from sage.all__sagemath_eclib import *

In [2]: x = polygen(ZZ, 'x')

In [3]: K = NumberField(x**2 + 23, 'a'); a = K.gen()

In [4]: E = EllipticCurve(K, [0,0,0,101,0])

In [5]: E.gens()

Development

$ git clone --origin passagemath https://github.com/passagemath/passagemath.git
$ cd passagemath
passagemath $ ./bootstrap
passagemath $ python3 -m venv eclib-venv
passagemath $ source eclib-venv/bin/activate
(eclib-venv) passagemath $ pip install -v -e pkgs/sagemath-eclib

Type

standard

Dependencies

Version Information

package-version.txt:

10.6.3

version_requirements.txt:

passagemath-eclib ~= 10.6.3.0

Equivalent System Packages

(none known)