# Small Modular Curves

- [Introduction](introduction.md)

- [Small Modular Curve Models](create_small_mod_crv.md)

  - [`SmallModularCurve(N): RngIntElt → Crv`](create_small_mod_crv.md#function-smallmodularcurve-rngintelt)

  - [`SmallModularCurve(N,K): RngIntElt, Rng → Crv`](create_small_mod_crv.md#function-smallmodularcurve-rngintelt-rng)

  - [`IsInSmallModularCurveDatabase(N): RngIntElt → Boolelt`](create_small_mod_crv.md#function-isinsmallmodularcurvedatabase-rngintelt)

  - [`Example: Sm Mod Crvs Basic Ex`](create_small_mod_crv.md#example-ex-3a10fa)

- [Projection Maps](prj_mp_small_mod_crv.md)

  - [`ProjectionMap(CN,N,CM,M): Crv, RngIntElt, Crv, RngIntElt → MapSch`](prj_mp_small_mod_crv.md#function-projectionmap-crv-rngintelt-crv-rngintelt)

  - [`ProjectionMap(CN,N,CM,M,r): Crv, RngIntElt, Crv, RngIntElt, RngIntElt → MapSch`](prj_mp_small_mod_crv.md#function-projectionmap-crv-rngintelt-crv-rngintelt-rngintelt)

  - [`Example: Sm Mod Crvs Proj Ex`](prj_mp_small_mod_crv.md#example-ex-3882df)

- [Automorphisms](auts_small_mod_crv.md)

  - [`AtkinLehnerInvolution(CN,N,d): Crv, RngIntElt, RngIntElt → MapAutSch`](auts_small_mod_crv.md#function-atkinlehnerinvolution-crv-rngintelt-rngintelt)

  - [`SrAutomorphism(CN,N,r,u): Crv, RngIntElt, RngIntElt, RngElt → MapAutSch`](auts_small_mod_crv.md#function-srautomorphism-crv-rngintelt-rngintelt-rngelt)

  - [`ExtraAutomorphism(CN,N,u): Crv, RngIntElt, RngElt → MapAutSch`](auts_small_mod_crv.md#function-extraautomorphism-crv-rngintelt-rngelt)

  - [`AutomorphismGroupOverQ(CN,N): Crv, RngIntElt → GrpAutCrv`](auts_small_mod_crv.md#function-automorphismgroupoverq-crv-rngintelt)

  - [`AutomorphismGroupOverCyclotomicExtension(CN,N,n): Crv, RngIntElt, RngIntElt → GrpAutCrv`](auts_small_mod_crv.md#function-automorphismgroupovercyclotomicextension-crv-rngintelt-rngintelt)

  - [`AutomorphismGroupOverExtension(CN,N,n,u): Crv, RngIntElt, RngIntElt, RngElt → GrpAutCrv`](auts_small_mod_crv.md#function-automorphismgroupoverextension-crv-rngintelt-rngintelt-rngelt)

  - [`Example: Sm Mod Crvs Auto Ex`](auts_small_mod_crv.md#example-ex-e22c33)

- [Cusps and Rational Points](cusps_small_mod_crv.md)

  - [`Cusp(CN,N,d): Crv, RngIntElt, RngIntElt → Any`](cusps_small_mod_crv.md#function-cusp-crv-rngintelt-rngintelt)

  - [`CuspIsSingular(N,d): RngIntElt, RngIntElt → BoolElt`](cusps_small_mod_crv.md#function-cuspissingular-rngintelt-rngintelt)

  - [`CuspPlaces(CN,N,d): Crv, RngIntElt, RngIntElt → SeqEnum[PlcCrvElt]`](cusps_small_mod_crv.md#function-cuspplaces-crv-rngintelt-rngintelt)

  - [`NonCuspidalQRationalPoints(CN,N): Crv, RngIntElt → SeqEnum`](cusps_small_mod_crv.md#function-noncuspidalqrationalpoints-crv-rngintelt)

  - [`Example: Sm Mod Crvs Cusps`](cusps_small_mod_crv.md#example-ex-6539d5)

- [Standard Functions and Forms](fns_frms_small_mod_crv.md)

  - [`jInvariant(CN,N): Crv, RngIntElt → FldFunRatMElt`](fns_frms_small_mod_crv.md#function-jinvariant-crv-rngintelt)

  - [`jFunction(CN,N): Crv, RngIntElt → FldFunFracSchElt`](fns_frms_small_mod_crv.md#function-jfunction-crv-rngintelt)

  - [`jInvariant(p,N): Pt, RngIntElt → RngElt`](fns_frms_small_mod_crv.md#function-jinvariant-pt-rngintelt)

  - [`jInvariant(p,N): PlcCrvElt, RngIntElt → RngElt`](fns_frms_small_mod_crv.md#function-jinvariant-plccrvelt-rngintelt)

  - [`jNInvariant(p,N): Pt, RngIntElt → RngElt`](fns_frms_small_mod_crv.md#function-jninvariant-pt-rngintelt)

  - [`jNInvariant(p,N): PlcCrvElt, RngIntElt → RngElt`](fns_frms_small_mod_crv.md#function-jninvariant-plccrvelt-rngintelt)

  - [`E2NForm(CN,N): Crv, RngIntElt → DiffCrvElt`](fns_frms_small_mod_crv.md#function-e2nform-crv-rngintelt)

  - [`E4Form(CN,N): Crv, RngIntElt → FldFunFracSchElt, DiffCrvElt`](fns_frms_small_mod_crv.md#function-e4form-crv-rngintelt)

  - [`E6Form(CN,N): Crv, RngIntElt → FldFunFracSchElt, DiffCrvElt`](fns_frms_small_mod_crv.md#function-e6form-crv-rngintelt)

- [Parametrized Structures](isogs_sm_mod_crvs.md)

  - [`SubgroupScheme(p,N): Pt, RngIntElt → SchGrpEll, CrvEll`](isogs_sm_mod_crvs.md#function-subgroupscheme-pt-rngintelt)

  - [`SubgroupScheme(p,N): PlcCrvElt, RngIntElt → SchGrpEll, CrvEll`](isogs_sm_mod_crvs.md#function-subgroupscheme-plccrvelt-rngintelt)

  - [`SubgroupScheme(p,N,E): Pt, RngIntElt, CrvEll → SchGrpEll`](isogs_sm_mod_crvs.md#function-subgroupscheme-pt-rngintelt-crvell)

  - [`SubgroupScheme(p,N,E): PlcCrvElt, RngIntElt, CrvEll → SchGrpEll`](isogs_sm_mod_crvs.md#function-subgroupscheme-plccrvelt-rngintelt-crvell)

  - [`Isogeny(p,N): Pt, RngIntElt → MapSch`](isogs_sm_mod_crvs.md#function-isogeny-pt-rngintelt)

  - [`Isogeny(p,N): PlcCrvElt, RngIntElt → MapSch`](isogs_sm_mod_crvs.md#function-isogeny-plccrvelt-rngintelt)

  - [`Isogeny(p,N,E): Pt, RngIntElt, CrvEll → MapSch`](isogs_sm_mod_crvs.md#function-isogeny-pt-rngintelt-crvell)

  - [`Isogeny(p,N,E): PlcCrvElt, RngIntElt, CrvEll → MapSch`](isogs_sm_mod_crvs.md#function-isogeny-plccrvelt-rngintelt-crvell)

  - [`Example: Sm Mod Crvs Prms`](isogs_sm_mod_crvs.md#example-ex-d8d05c)

- [Modular Generators and $q$-Expansions](q_exps_sm_mod_crvs.md)

  - [`qExpansionExpressions(N): RngIntElt`](q_exps_sm_mod_crvs.md#function-qexpansionexpressions-rngintelt)

  - [`qExpansionsOfGenerators(N,R,r): RngIntElt, RngSerLaur, RngIntElt → SeqEnum`](q_exps_sm_mod_crvs.md#function-qexpansionsofgenerators-rngintelt-rngserlaur-rngintelt)

  - [`Example: Q Exps Ex Sm Mod Crvs`](q_exps_sm_mod_crvs.md#example-ex-4be444)

- [Extended Example](sm_mod_crvs_big_ex.md)

  - [`Example: Big Ex`](sm_mod_crvs_big_ex.md#example-ex-c9e559)
