Algebraic Relations#
- Relations(M, d, prec): ModFrm, RngIntElt, RngIntElt -> SeqEnum#
The relations of degree \(d\) satisfied by the \(q\)-expansions of in the space \(M\) of modular forms. The \(q\)-expansions are computed to precision \(prec\). If prec is too small, this intrinsic might return relations that are not really satisfied by the modular forms. To be sure of your result,
precmust be at least as large asPrecisionBound(M2), where \(M_2\) has the same level as \(M\) and weight \(d\) times the weight of \(M\).
- Example: Relations (ex-9c6897)#
We compute an equation that defines the canonical embedding of \(X_0(34)\).
> S := CuspidalSubspace(ModularForms(Gamma0(34))); > Relations(S, 4, 20); [ a^3*c - a^2*b^2 - 3*a^2*c^2 + 2*a*b^3 + 3*a*b^2*c - 3*a*b*c^2 + 4*a*c^3 - b^4 + 4*b^3*c - 6*b^2*c^2 + 4*b*c^3 - 2*c^4 ] [ (0 0 1 -1 0 -3 2 3 -3 4 -1 4 -6 4 -2) ] > // a, b, and c correspond to the cusp forms S.1, S.2 and S.3: > S.1; q - 2*q^4 - 2*q^5 + 4*q^7 + O(q^8) > S.2; q^2 - q^4 + O(q^8) > S.3; q^3 - 2*q^4 - q^5 + q^6 + 4*q^7 + O(q^8)
Next we compute the canonical embedding of \(X_0(75)\).
> S := CuspidalSubspace(ModularForms(Gamma0(75))); > R := Relations(S, 2, 20); R; [ a*c - b^2 - d^2 - 4*e^2, a*d - b*c + b*e + d*e - 3*e^2, a*e - b*d - c*e ] > // NOTE: It is much faster to compute in the power > // series ring than the ring of modular forms! > a, b, c, d, e := Explode([PowerSeries(f,20) : f in Basis(S)]); > a*c - b^2 - d^2 - 4*e^2; O(q^21)
The connection between the above computations and models for modular curves is discussed in Steven Galbraith’s Oxford Ph.D. thesis.