Raw: BoolElt Default: false
Reduce: BoolElt Default: false
Given a level N and a (possibly empty) set of Atkin-Lehner involutions represented as a sequence of integers A, this function computes a model for a quotient of X0(N) by A. When Raw is not set to true, an initial "semi-reduction" is not performed. If the Reduce option is true, then a complete LLL-reduction is performed on the resulting equations (this is impractical for genus greater than 50 or so). The returned curve can be: P1 for a genus 0 curve, an elliptic or hyperelliptic curve, or the canonical embedding of the curve in Pg - 1 where g is the genus of the quotient curve (in this general case, the coordinates correspond to cusp forms invariant under the specified Atkin-Lehner involutions).
> C := X0NQuotient(13*29,[13,29]); C; // defined by cubics in P^4 Curve over Rational Field defined by -x[1]*x[2]^2 + x[1]*x[2]*x[3] - x[2]^2*x[3] + x[1]*x[2]*x[4] + x[2]^2*x[4] + x[2]*x[4]^2 + x[1]*x[2]*x[5], x[1]*x[2]^2 - x[2]^3 - x[2]^2*x[3] + x[1]*x[2]*x[5] + x[2]^2*x[5] + x[2]*x[4]*x[5], x[1]*x[2]*x[3] - x[2]^2*x[3] - x[2]*x[3]^2 + x[1]*x[3]*x[5] + x[2]*x[3]*x[5] + x[3]*x[4]*x[5], x[1]*x[2]*x[5] - x[2]^2*x[5] - x[2]*x[3]*x[5] + x[1]*x[5]^2 + x[2]*x[5]^2 + x[4]*x[5]^2, -x[1]^2*x[2] + x[1]*x[2]^2 + x[1]*x[2]*x[3] - x[1]^2*x[5] - x[1]*x[2]*x[5] - x[1]*x[4]*x[5], x[1]*x[2]*x[3] + x[2]^2*x[4] + x[2]*x[3]*x[4] + x[2]*x[4]*x[5] + x[3]*x[4]*x[5] + x[2]*x[5]^2 + x[4]*x[5]^2, x[1]*x[2]*x[3] + x[1]*x[2]*x[4] + x[1]*x[2]*x[5] - x[1]*x[3]*x[5] - x[3]^2*x[5] + x[1]*x[4]*x[5] - x[2]*x[4]*x[5] - x[3]*x[4]*x[5] + x[1]*x[5]^2 + x[3]*x[5]^2, -x[1]*x[2]*x[4] + x[1]*x[3]*x[4] - x[2]*x[3]*x[4] + x[1]*x[4]^2 + x[2]*x[4]^2 + x[4]^3 + x[1]*x[4]*x[5], -x[1]*x[2]*x[3] + x[1]*x[3]^2 - x[2]*x[3]^2 + x[1]*x[3]*x[4] + x[2]*x[3]*x[4] + x[3]*x[4]^2 + x[1]*x[3]*x[5], -x[1]*x[2]*x[5] + x[1]*x[3]*x[5] - x[2]*x[3]*x[5] + x[1]*x[4]*x[5] + x[2]*x[4]*x[5] + x[4]^2*x[5] + x[1]*x[5]^2, x[1]*x[2]*x[4] - x[2]^2*x[4] - x[2]*x[3]*x[4] + x[1]*x[2]*x[5] - x[1]*x[3]*x[5] + x[2]*x[3]*x[5] - x[1]*x[5]^2, -x[1]^2*x[3] - x[1]*x[2]*x[3] + x[1]*x[3]^2 - x[2]*x[3]^2 - x[1]*x[2]*x[4] - x[3]^2*x[4] - x[2]*x[4]^2 + x[1]*x[3]*x[5] - x[2]*x[4]*x[5] - x[4]^2*x[5] - x[1]*x[5]^2, -x[1]^2*x[2] + x[1]*x[2]^2 + x[2]^2*x[3] + x[1]^2*x[4] - x[1]*x[3]*x[4] + x[2]*x[3]*x[4] + x[3]*x[4]^2 + x[1]^2*x[5] - x[1]*x[3]*x[5] - x[3]^2*x[5] - x[1]*x[4]*x[5] - x[3]*x[4]*x[5] + x[2]*x[5]^2 + x[3]*x[5]^2 + x[4]*x[5]^2, -x[1]^2*x[2] + x[1]^2*x[3] - x[1]*x[2]*x[3] + x[1]^2*x[4] + x[1]*x[2]*x[4] + x[1]*x[4]^2 + x[1]^2*x[5], x[1]^2*x[2] + x[1]^2*x[3] - x[1]*x[2]*x[3] + x[2]^2*x[3] - x[1]*x[3]^2 - x[3]^3 - x[1]*x[2]*x[4] + x[1]*x[3]*x[4] - x[2]*x[3]*x[4] - x[3]^2*x[4] + x[1]^2*x[5] + x[1]*x[3]*x[5] - x[2]*x[3]*x[5] + x[3]^2*x[5] - x[3]*x[4]*x[5] + x[1]*x[5]^2 > Genus(C); 5