# Modular Curves

- [Introduction](introduction.md)

- [Creation Functions](creation.md)

  - [Creation of a Modular Curve](creation.md#creation-of-a-modular-curve)

    - [`ModularCurve(X,t,N): Sch, MonStgElt, RngIntElt → CrvMod`](creation.md#function-modularcurve-sch-monstgelt-rngintelt)

    - [`ModularCurve(D, N): DB, RngIntElt → CrvMod`](creation.md#function-modularcurve-db-rngintelt)

  - [Creation of Points](creation.md#creation-of-points)

    - [`ModuliPoints(X,E): CrvMod, CrvEll → SeqEnum`](creation.md#function-modulipoints-crvmod-crvell)

    - [`Example: Moduli points`](creation.md#example-ex-050d12)

- [Invariants](attribute.md)

  - [`Level(X): CrvMod → RngIntElt`](attribute.md#function-level-crvmod)

  - [`Genus(X): CrvMod → RngIntElt`](attribute.md#function-genus-crvmod)

  - [`ModelType(X): CrvMod → MonStgElt`](attribute.md#function-modeltype-crvmod)

  - [`Indices(X): CrvMod → SeqEnum`](attribute.md#function-indices-crvmod)

- [Modular Polynomial Databases](attribute-2.md)

  - [`AtkinModularPolynomial(N): RngIntElt → RngMPolElt`](attribute-2.md#function-atkinmodularpolynomial-rngintelt)

  - [`CanonicalModularPolynomial(N): RngIntElt → RngMPolElt`](attribute-2.md#function-canonicalmodularpolynomial-rngintelt)

  - [`ClassicalModularPolynomial(N): RngIntElt → RngMPolElt`](attribute-2.md#function-classicalmodularpolynomial-rngintelt)

  - [`ModularCurveDatabase(t): MonStgElt → DB`](attribute-2.md#function-modularcurvedatabase-monstgelt)

  - [`ModularCurveDatabase(t,i): MonStgElt, RngIntElt → DB`](attribute-2.md#function-modularcurvedatabase-monstgelt-rngintelt)

  - [`N in D: RngIntElt, DB → BoolElt`](attribute-2.md#operation-op-in-rngintelt-db)

  - [`ExistsModularCurveDatabase(t): MonStgElt → BoolElt`](attribute-2.md#function-existsmodularcurvedatabase-monstgelt)

  - [`ExistsModularCurveDatabase(t,i): MonStgElt, RngIntElt → BoolElt`](attribute-2.md#function-existsmodularcurvedatabase-monstgelt-rngintelt)

  - [`Example: Modular polynomials`](attribute-2.md#example-ex-2c897b)

- [Parametrized Structures](automorphisms.md)

  - [`Isogeny(E,P): CrvEll, Pt → MapCrvEll`](automorphisms.md#function-isogeny-crvell-pt)

  - [`SubgroupScheme(E,P): CrvEll, Pt → CrvEllSubgroup`](automorphisms.md#function-subgroupscheme-crvell-pt)

  - [`Example: Parametrized subgroup schemes`](automorphisms.md#example-ex-9b6b7e)

- [Associated Structures](functions.md)

  - [`FunctionField(X): CrvMod → FldFun`](functions.md#function-functionfield-crvmod)

  - [`jFunction(X): CrvMod → FldFunElt`](functions.md#function-jfunction-crvmod)

  - [`BaseCurve(X): CrvMod → CrvMod, MapSch`](functions.md#function-basecurve-crvmod)

  - [`Example: Modular base curve`](functions.md#example-ex-d78d4a)

- [Automorphisms](automorphisms-2.md)

  - [`CanonicalInvolution(X): CrvMod → MapSch`](automorphisms-2.md#function-canonicalinvolution-crvmod)

  - [`AtkinLehnerInvolution(X,N): CrvMod, RngIntElt → MapSch`](automorphisms-2.md#function-atkinlehnerinvolution-crvmod-rngintelt)

- [Class Polynomials](attribute-3.md)

  - [`HilbertClassPolynomial(D): RngIntElt → RngUPolElt`](attribute-3.md#function-crvmod-hilb-cl-poly)

  - [`WeberClassPolynomial(D): RngIntElt → RngUPolElt, FldFunRatUElt`](attribute-3.md#function-crvmod-weber-cl-poly)

  - [`WeberToHilbertClassPolynomial(f,D): RngUPolElt, RngIntElt → RngUPolElt`](attribute-3.md#function-webertohilbertclasspolynomial-rngupolelt-rngintelt)

  - [`Example: Standard class polynomials`](attribute-3.md#example-ex-fbd8cf)

- [Modular Curves and Quotients (Canonical Embeddings)](mod-crv-quotient.md)

  - [`ModularCurveQuotient(N,A): RngIntElt, [RngIntElt] → Crv`](mod-crv-quotient.md#function-modularcurvequotient-rngintelt-rngintelt)

  - [`X0NQuotient(N,A): RngIntElt, [RngIntElt] → Crv`](mod-crv-quotient.md#function-x0nquotient-rngintelt-rngintelt)

  - [`X0Nplus(N): RngIntElt → Crv`](mod-crv-quotient.md#function-x0nplus-rngintelt)

  - [`X0Nstar(N): RngIntElt → Crv`](mod-crv-quotient.md#function-x0nstar-rngintelt)

  - [`GenusX0N(N): RngIntElt → RngIntElt`](mod-crv-quotient.md#function-genusx0n-rngintelt)

  - [`GenusX1N(N): RngIntElt → RngIntElt`](mod-crv-quotient.md#function-genusx1n-rngintelt)

  - [`GenusX0NQuotient(N, As): RngIntElt, [RngIntElt] → RngIntElt`](mod-crv-quotient.md#function-genusx0nquotient-rngintelt-rngintelt)

  - [`AtkinLehnerNumberOfFixedPoints(N, A): RngIntElt, RngIntElt → RngIntElt`](mod-crv-quotient.md#function-atkinlehnernumberoffixedpoints-rngintelt-rngintelt)

  - [`Example: X0n Quotient`](mod-crv-quotient.md#example-ex-5d6c55)

- [Modular Curves of Given Level and Genus](jim_mod_crvs.md)

  - [`SetVerbose("ModularCurve", v): MonStgElt, RngIntElt`](jim_mod_crvs.md#function-setverbose-monstgelt-rngintelt)

  - [`NewModularHyperellipticCurves(N, g): RngIntElt, RngIntElt → SeqEnum`](jim_mod_crvs.md#function-newmodularhyperellipticcurves-rngintelt-rngintelt)

  - [`NewModularHyperellipticCurve(B): [ModSym] → BoolElt, RngUPol`](jim_mod_crvs.md#function-newmodularhyperellipticcurve-modsym)

  - [`NewModularHyperellipticCurve(F): [RngSerPowElt] → BoolElt, RngUPol`](jim_mod_crvs.md#function-newmodularhyperellipticcurve-rngserpowelt)

  - [`ModularHyperellipticCurve(B): [ModSym] → BoolElt, RngUPol`](jim_mod_crvs.md#function-modularhyperellipticcurve-modsym)

  - [`ModularHyperellipticCurve(F): [RngSerPowElt] → BoolElt, RngUPol`](jim_mod_crvs.md#function-modularhyperellipticcurve-rngserpowelt)

  - [`NewModularNonHyperellipticCurvesGenus3(N): RngIntElt → SeqEnum`](jim_mod_crvs.md#function-newmodularnonhyperellipticcurvesgenus3-rngintelt)

  - [`NewModularNonHyperellipticCurveGenus3(B): [ModSym] → BoolElt, RngMPolElt`](jim_mod_crvs.md#function-newmodularnonhyperellipticcurvegenus3-modsym)

  - [`NewModularNonHyperellipticCurveGenus3(F): [RngSerPowElt] → BoolElt, RngMPolElt`](jim_mod_crvs.md#function-newmodularnonhyperellipticcurvegenus3-rngserpowelt)

  - [`ModularNonHyperellipticCurveGenus3(F): [RngSerPowElt] → BoolElt, RngMPolElt`](jim_mod_crvs.md#function-modularnonhyperellipticcurvegenus3-rngserpowelt)

  - [`Example: Jim Ex Mod Crvs Hyp`](jim_mod_crvs.md#example-ex-dc59de)

  - [`Example: Jim Ex Mod Crvs Jeon`](jim_mod_crvs.md#example-ex-c93378)

  - [`Example: Jim Ex Mod Crvs Jeon`](jim_mod_crvs.md#example-ex-f78f1d)

  - [`Example: Jim Ex Mod Crvs Gen3`](jim_mod_crvs.md#example-ex-724f38)
