Elliptic Curves#
Little has been implemented so far.
- ModularForm(E): CrvEll -> ModFrmElt#
- Newform(E): CrvEll -> ModFrmElt#
The modular form associated to the elliptic curve \(E\) (which must be defined over the rationals).
- Eigenform(E, prec): CrvEll, RngIntElt -> RngSerPowElt#
- qEigenform(E, prec): CrvEll, RngIntElt -> RngSerPowElt#
The q-expansion of the newform associated to \(E\), to the specified precision.
Note: this is exactly the same as calling
qExpansion(ModularForm(E),prec).
- EllipticCurve(f): ModFrmElt -> CrvEll#
An elliptic curve \(E\) with associated modular form \(f\), when \(f\) is a weight \(2\) newform on \(\Gamma_0(N)\) with rational Fourier coefficients.
The Cremona database is used to identify the isogeny class. (A routine to compute the curve from scratch is implemented, and can be called with
EllipticCurve(M : Database:=false)where \(M\) is the relevant space of modular symbols; however this is not optimized for large level.)
- Example: Elliptic Curves (ex-b1a407)#
> M := ModularForms(Gamma0(389),2); > f := Newform(M,1); > Degree(f); 1 > E := EllipticCurve(f); > E; Elliptic Curve defined by y^2 + y = x^3 + x^2 - 2*x over Rational Field > Conductor(E); 389 > time s := PowerSeries(f,200); // faster because it knows the elliptic curve Time: 0.509