# Modular Abelian Varieties

- [Introduction](introduction.md)

  - [Categories](introduction.md#categories)

    - [`Example: Categories`](introduction.md#example-ex-18bf29)

  - [Verbose Output](introduction.md#verbose-output)

    - [`Example: Verbosity`](introduction.md#example-ex-d23497)

- [Creation and Basic Functions](modabvar.md)

  - [Creating the Modular Jacobian $J_0(N)$](modabvar.md#creating-the-modular-jacobian-j-0-n)

    - [`JZero(N : parameters): RngIntElt → ModAbVar`](modabvar.md#function-jzero-rngintelt)

    - [`JZero(N, k : parameters): RngIntElt, RngIntElt → ModAbVar`](modabvar.md#function-jzero-rngintelt-rngintelt)

    - [`Example: Modabvar Creating The Modular Jacobian $J 0(N)$`](modabvar.md#example-ex-a544ba)

  - [Creating the Modular Jacobians $J_1(N)$ and $J_H(N)$](modabvar.md#creating-the-modular-jacobians-j-1-n-and-j-h-n)

    - [`JOne(N : parameters): RngIntElt → ModAbVar`](modabvar.md#function-jone-rngintelt)

    - [`JOne(N, k : parameters): RngIntElt, RngIntElt → ModAbVar`](modabvar.md#function-jone-rngintelt-rngintelt)

    - [`Js(N : parameters): RngIntElt → ModAbVar`](modabvar.md#function-js-rngintelt)

    - [`Js(N, k : parameters): RngIntElt, RngIntElt → ModAbVar`](modabvar.md#function-js-rngintelt-rngintelt)

    - [`JH(N, d : parameters): RngIntElt, RngIntElt → ModAbVar`](modabvar.md#function-jh-rngintelt-rngintelt)

    - [`JH(N, k, d : parameters): RngIntElt, RngIntElt, RngIntElt → ModAbVar`](modabvar.md#function-jh-rngintelt-rngintelt-rngintelt)

    - [`JH(N, gens : parameters): RngIntElt, [RngIntElt] → ModAbVar`](modabvar.md#function-jh-rngintelt-rngintelt-2)

    - [`JH(N, k, gens : parameters): RngIntElt, RngIntElt, [RngIntElt] → ModAbVar`](modabvar.md#function-jh-rngintelt-rngintelt-rngintelt-2)

    - [`Example: Modabvar Creating The Modular Jacobians $J 1(N)$ And $J H(N)$`](modabvar.md#example-ex-9a6bb8)

  - [Abelian Varieties Attached to Modular Forms](modabvar.md#abelian-varieties-attached-to-modular-forms)

    - [`ModularAbelianVariety(M : parameters): ModFrm → ModAbVar`](modabvar.md#function-modularabelianvariety-modfrm)

    - [`ModularAbelianVariety(X : parameters): [ModFrm] → ModAbVar`](modabvar.md#function-modularabelianvariety-modfrm-2)

    - [`ModularAbelianVariety(eps : parameters): GrpDrchElt → ModAbVar`](modabvar.md#function-modularabelianvariety-grpdrchelt)

    - [`ModularAbelianVariety(eps, k : parameters): GrpDrchElt, RngIntElt → ModAbVar`](modabvar.md#function-modularabelianvariety-grpdrchelt-rngintelt)

    - [`ModularAbelianVariety(f): ModFrmElt → ModAbVar`](modabvar.md#function-modularabelianvariety-modfrmelt)

    - [`Newform(A): ModAbVar → ModFrmElt`](modabvar.md#function-newform-modabvar)

    - [`Example: Modabvar Abelian Varieties Attached To Modular Forms`](modabvar.md#example-ex-b5bfe5)

    - [`Example: Modabvar Abelian Varieties Attached To Modular Forms3`](modabvar.md#example-ex-4f14a0)

    - [`Example: Modabvar Abelian Varieties Attached To Modular Forms5`](modabvar.md#example-ex-84fa77)

  - [Abelian Varieties Attached to Modular Symbols](modabvar.md#abelian-varieties-attached-to-modular-symbols)

    - [`ModularAbelianVariety(M): ModSym → ModAbVar`](modabvar.md#function-modularabelianvariety-modsym)

    - [`ModularAbelianVariety(X): [ModSym] → ModAbVar`](modabvar.md#function-modularabelianvariety-modsym-2)

    - [`ModularSymbols(A): ModAbVar → SeqEnum`](modabvar.md#function-modularsymbols-modabvar)

    - [`Example: Modabvar Abelian Varieties Attached To Modular Symbols`](modabvar.md#example-ex-1f9392)

  - [Creation of Abelian Subvarieties](modabvar.md#creation-of-abelian-subvarieties)

    - [`DefinesAbelianSubvariety(A, V): ModAbVar, ModTupFld → BoolElt, ModAbVar`](modabvar.md#function-definesabeliansubvariety-modabvar-modtupfld)

    - [`ZeroModularAbelianVariety() → ModAbVar`](modabvar.md#function-zeromodularabelianvariety)

    - [`ZeroModularAbelianVariety(k): RngIntElt → ModAbVar`](modabvar.md#function-zeromodularabelianvariety-rngintelt)

    - [`ZeroSubvariety(A): ModAbVar → ModAbVar`](modabvar.md#function-zerosubvariety-modabvar)

    - [`Example: Modabvar Creation Of Abelian Subvarieties`](modabvar.md#example-ex-083b5e)

  - [Creation Using a Label](modabvar.md#creation-using-a-label)

    - [`ModularAbelianVariety(s : parameters): MonStgElt → ModAbVar`](modabvar.md#function-modularabelianvariety-monstgelt)

    - [`Example: Modabvar Creation Using A Label`](modabvar.md#example-ex-a0cbff)

  - [Invariants](modabvar.md#invariants)

    - [`BaseRing(A): ModAbVar → Rng`](modabvar.md#function-basering-modabvar)

    - [`Dimension(A): ModAbVar → RngIntElt`](modabvar.md#function-dimension-modabvar)

    - [`DirichletCharacter(A): ModAbVar → GrpDrchElt`](modabvar.md#function-dirichletcharacter-modabvar)

    - [`DirichletCharacters(A): ModAbVar → List`](modabvar.md#function-dirichletcharacters-modabvar)

    - [`FieldOfDefinition(A): ModAbVar → Fld`](modabvar.md#function-fieldofdefinition-modabvar)

    - [`Level(A): ModAbVar → RngIntElt`](modabvar.md#function-level-modabvar)

    - [`Sign(A): ModAbVar → RngIntElt`](modabvar.md#function-sign-modabvar)

    - [`Weights(A): ModAbVar → Set`](modabvar.md#function-weights-modabvar)

    - [`Example: Modabvar Invariants`](modabvar.md#example-ex-c1b4e7)

    - [`Example: Modabvar Invariants2`](modabvar.md#example-ex-873cc2)

    - [`Example: Modabvar Invariants3`](modabvar.md#example-ex-186361)

    - [`Example: Modabvar Invariants3`](modabvar.md#example-ex-9f6609)

    - [`Example: Modabvar Invariants4`](modabvar.md#example-ex-6302fd)

  - [Conductor](modabvar.md#conductor)

    - [`Conductor(A): ModAbVar → RngIntElt`](modabvar.md#function-conductor-modabvar)

    - [`Example: Modabvar Conductor`](modabvar.md#example-ex-4c19cf)

  - [Number of Points](modabvar.md#number-of-points)

    - [`NumberOfRationalPoints(A): ModAbVar → RngIntElt, RngIntElt`](modabvar.md#function-numberofrationalpoints-modabvar)

    - [`#A: ModAbVar → RngIntElt`](modabvar.md#operation-operation-modabvar-rngintelt)

    - [`Example: Modabvar Number Of Points`](modabvar.md#example-ex-c17831)

  - [Inner Twists and Complex Multiplication](modabvar.md#inner-twists-and-complex-multiplication)

    - [`CMTwists(A : parameters): ModAbVar → SeqEnum`](modabvar.md#function-cmtwists-modabvar)

    - [`InnerTwists(A : parameters): ModAbVar → SeqEnum`](modabvar.md#function-innertwists-modabvar)

    - [`Example: Modabvar Inner Twists And Complex Multiplication`](modabvar.md#example-ex-f1874b)

    - [`Example: Modabvar Inner Twists And Complex Multiplication2`](modabvar.md#example-ex-77177e)

  - [Predicates](modabvar.md#predicates)

    - [`CanDetermineIsomorphism(A, B): ModAbVar, ModAbVar → BoolElt, BoolElt, MapModAbVar`](modabvar.md#function-candetermineisomorphism-modabvar-modabvar)

    - [`HasMultiplicityOne(A): ModAbVar → BoolElt`](modabvar.md#function-hasmultiplicityone-modabvar)

    - [`IsAbelianVariety(A): ModAbVar → BoolElt`](modabvar.md#function-isabelianvariety-modabvar)

    - [`IsAttachedToModularSymbols(A): ModAbVar → BoolElt`](modabvar.md#function-isattachedtomodularsymbols-modabvar)

    - [`IsAttachedToNewform(A): ModAbVar → BoolElt, ModAbVar, MapModAbVar`](modabvar.md#function-isattachedtonewform-modabvar)

    - [`IsIsogenous(A, B): ModAbVar, ModAbVar → BoolElt`](modabvar.md#function-isisogenous-modabvar-modabvar)

    - [`IsIsomorphic(A, B): ModAbVar, ModAbVar → BoolElt, MapModAbVar`](modabvar.md#function-isisomorphic-modabvar-modabvar)

    - [`IsOnlyMotivic(A): ModAbVar → BoolElt`](modabvar.md#function-isonlymotivic-modabvar)

    - [`IsQuaternionic(A): ModAbVar → BoolElt`](modabvar.md#function-isquaternionic-modabvar)

    - [`IsSelfDual(A): ModAbVar → BoolElt`](modabvar.md#function-isselfdual-modabvar)

    - [`IsSimple(A): ModAbVar → BoolElt`](modabvar.md#function-issimple-modabvar)

    - [`Example: Modabvar Predicates`](modabvar.md#example-ex-8dd5ae)

    - [`Example: Modabvar Predicates2`](modabvar.md#example-ex-04b0bc)

    - [`Example: Modabvar Predicates3`](modabvar.md#example-ex-8a8d0c)

    - [`Example: Modabvar Predicates4`](modabvar.md#example-ex-51c39d)

    - [`Example: Modabvar Predicates5`](modabvar.md#example-ex-1cadff)

    - [`Example: Modabvar Predicates6`](modabvar.md#example-ex-02b632)

    - [`Example: Modabvar Predicates7`](modabvar.md#example-ex-213883)

    - [`Example: Modabvar Predicates8`](modabvar.md#example-ex-2b2535)

  - [Equality and Inclusion Testing](modabvar.md#equality-and-inclusion-testing)

    - [`A eq B: ModAbVar, ModAbVar → BoolElt`](modabvar.md#operation-op-eq-modabvar-modabvar)

    - [`A subset B: ModAbVar, ModAbVar → BoolElt`](modabvar.md#operation-op-subset-modabvar-modabvar)

    - [`Example: Modabvar Equality And Inclusion Testing`](modabvar.md#example-ex-1eb758)

    - [`Example: Modabvar Equality And Inclusion Testing2`](modabvar.md#example-ex-b28393)

  - [Modular Embedding and Parameterization](modabvar.md#modular-embedding-and-parameterization)

    - [`CommonModularStructure(X): [ModAbVar] → List, List`](modabvar.md#function-commonmodularstructure-modabvar)

    - [`ModularEmbedding(A): ModAbVar → MapModAbVar`](modabvar.md#function-modularembedding-modabvar)

    - [`ModularParameterization(A): ModAbVar → MapModAbVar`](modabvar.md#function-modularparameterization-modabvar)

    - [`Example: Modabvar Modular Embedding And Parameterization`](modabvar.md#example-ex-319473)

    - [`Example: Modabvar Modular Embedding And Parameterization2`](modabvar.md#example-ex-f77573)

  - [Coercion](modabvar.md#coercion)

    - [`A ! x: ModAbVar, . → BoolElt, ModAbVarElt`](modabvar.md#operation-op-modabvar)

    - [`Example: Modabvar Coercion`](modabvar.md#example-ex-a27fb6)

    - [`Example: Modabvar Coercion2`](modabvar.md#example-ex-49d6af)

  - [Modular Symbols to Homology](modabvar.md#modular-symbols-to-homology)

    - [`ModularSymbolToIntegralHomology(A, x): ModAbVar, SeqEnum → ModTupFldElt`](modabvar.md#function-modularsymboltointegralhomology-modabvar-seqenum)

    - [`ModularSymbolToIntegralHomology(A, x): ModAbVar, Tup → ModTupFldElt`](modabvar.md#function-modularsymboltointegralhomology-modabvar-tup)

    - [`ModularSymbolToRationalHomology(A, x): ModAbVar, ModSymElt → ModTupFldElt`](modabvar.md#function-modularsymboltorationalhomology-modabvar-modsymelt)

    - [`ModularSymbolToRationalHomology(A, x): ModAbVar, SeqEnum → ModTupFldElt`](modabvar.md#function-modularsymboltorationalhomology-modabvar-seqenum)

    - [`ModularSymbolToRationalHomology(A, x): ModAbVar, Tup → ModTupFldElt`](modabvar.md#function-modularsymboltorationalhomology-modabvar-tup)

    - [`Example: Modabvar Modular Symbols To Homology`](modabvar.md#example-ex-5a75f8)

    - [`Example: Modabvar Modular Symbols To Homology2`](modabvar.md#example-ex-c70b18)

  - [Embeddings](modabvar.md#embeddings)

    - [`Embeddings(A): ModAbVar → List`](modabvar.md#function-modabvar-embed)

    - [`AssertEmbedding(~A, phi): ModAbVar, MapModAbVar`](modabvar.md#function-assertembedding-modabvar-mapmodabvar-ref)

    - [`Example: Modabvar Embeddings`](modabvar.md#example-ex-c6f53e)

  - [Base Change](modabvar.md#base-change)

    - [`CanChangeRing(A, R): ModAbVar, Rng → BoolElt, ModAbVar`](modabvar.md#function-canchangering-modabvar-rng)

    - [`ChangeRing(A, R): ModAbVar, Rng → ModAbVar`](modabvar.md#function-changering-modabvar-rng)

    - [`BaseExtend(A, R): ModAbVar, Rng → ModAbVar`](modabvar.md#function-baseextend-modabvar-rng)

    - [`Example: Modabvar Base Change`](modabvar.md#example-ex-6ca891)

  - [Additional Examples](modabvar.md#additional-examples)

    - [`Example: modabvar1`](modabvar.md#example-ex-c4b059)

    - [`Example: additional2`](modabvar.md#example-ex-d45525)

    - [`Example: additional3`](modabvar.md#example-ex-6edb30)

    - [`Example: additional4`](modabvar.md#example-ex-4a04ee)

    - [`Example: additional5`](modabvar.md#example-ex-80b083)

    - [`Example: additional6`](modabvar.md#example-ex-7fdc4e)

- [Homology](homology.md)

  - [Creation](homology.md#creation)

    - [`Homology(A): ModAbVar → ModAbVarHomol`](homology.md#function-homology-modabvar)

    - [`Example: Homology Creation`](homology.md#example-ex-6818fb)

  - [Invariants](homology.md#invariants)

    - [`Dimension(H): ModAbVarHomol → RngIntElt`](homology.md#function-dimension-modabvarhomol)

    - [`Example: Homology Invariants`](homology.md#example-ex-289d7d)

  - [Functors to Categories of Lattices and Vector Spaces](homology.md#functors-to-categories-of-lattices-and-vector-spaces)

    - [`IntegralHomology(A): ModAbVar → Lat`](homology.md#function-integralhomology-modabvar)

    - [`Lattice(H): ModAbVarHomol → Lat`](homology.md#function-lattice-modabvarhomol)

    - [`RationalHomology(A): ModAbVar → ModTupFld`](homology.md#function-rationalhomology-modabvar)

    - [`RealHomology(A): ModAbVar → ModTupFld`](homology.md#function-realhomology-modabvar)

    - [`RealVectorSpace(H): ModAbVarHomol → ModTupFld`](homology.md#function-realvectorspace-modabvarhomol)

    - [`VectorSpace(H): ModAbVarHomol → ModTupFld`](homology.md#function-vectorspace-modabvarhomol)

    - [`Example: additional8`](homology.md#example-ex-56d584)

    - [`Example: Homology Functors To Categories Of Lattices And Vector Spaces`](homology.md#example-ex-c11cca)

    - [`Example: Homology Functors To Categories Of Lattices And Vector Spaces2`](homology.md#example-ex-3e00b9)

  - [Modular Structure](homology.md#modular-structure)

    - [`IsAttachedToModularSymbols(H): ModAbVarHomol → BoolElt`](homology.md#function-isattachedtomodularsymbols-modabvarhomol)

    - [`ModularSymbols(H): ModAbVarHomol → SeqEnum`](homology.md#function-modularsymbols-modabvarhomol)

    - [`Example: Homology Modular Structure`](homology.md#example-ex-2720db)

  - [Additional Examples](homology.md#additional-examples)

    - [`Example: homology1`](homology.md#example-ex-d70bf2)

    - [`Example: additional20`](homology.md#example-ex-c844b1)

- [Homomorphisms](morphisms.md)

  - [Creation](morphisms.md#creation)

    - [`IdentityMap(A): ModAbVar → MapModAbVar`](morphisms.md#function-identitymap-modabvar)

    - [`ZeroMap(A): ModAbVar → MapModAbVar`](morphisms.md#function-zeromap-modabvar)

    - [`nIsogeny(A, n): ModAbVar, FldRatElt → MapModAbVar`](morphisms.md#function-nisogeny-modabvar-fldratelt)

    - [`nIsogeny(A, n): ModAbVar, RngIntElt → MapModAbVar`](morphisms.md#function-nisogeny-modabvar-rngintelt)

    - [`Example: Morphisms Creation`](morphisms.md#example-ex-c44dcb)

  - [Restriction, Evaluation, and Other Manipulations](morphisms.md#restriction-evaluation-and-other-manipulations)

    - [`Restriction(phi, B): MapModAbVar, ModAbVar → MapModAbVar`](morphisms.md#function-restriction-mapmodabvar-modabvar)

    - [`RestrictEndomorphism(phi, B): MapModAbVar, ModAbVar → MapModAbVar`](morphisms.md#function-restrictendomorphism-mapmodabvar-modabvar)

    - [`RestrictEndomorphism(phi, i): MapModAbVar, MapModAbVar → MapModAbVar`](morphisms.md#function-restrictendomorphism-mapmodabvar-mapmodabvar)

    - [`RestrictionToImage(phi, i): MapModAbVar, MapModAbVar → MapModAbVar`](morphisms.md#function-restrictiontoimage-mapmodabvar-mapmodabvar)

    - [`Evaluate(f, phi): RngUPolElt, MapModAbVar → MapModAbVar`](morphisms.md#function-evaluate-rngupolelt-mapmodabvar)

    - [`DivideOutIntegers(phi): MapModAbVar → MapModAbVar, RngIntElt`](morphisms.md#function-divideoutintegers-mapmodabvar)

    - [`SurjectivePart(phi): MapModAbVar → MapModAbVar`](morphisms.md#function-surjectivepart-mapmodabvar)

    - [`UniversalPropertyOfCokernel(pi, f): MapModAbVar, MapModAbVar → MapModAbVar`](morphisms.md#function-universalpropertyofcokernel-mapmodabvar-mapmodabvar)

    - [`Example: Morphisms Restriction, Evaluation, And Other Manipulations`](morphisms.md#example-ex-a8b4fd)

    - [`Example: Morphisms Restriction, Evaluation, And Other Manipulations2`](morphisms.md#example-ex-2126fc)

    - [`Example: Morphisms Restriction, Evaluation, And Other Manipulations3`](morphisms.md#example-ex-40f7a8)

    - [`Example: Morphisms Restriction, Evaluation, And Other Manipulations4`](morphisms.md#example-ex-0687f2)

  - [Kernels](morphisms.md#subsec-kernels)

    - [`ComponentGroupOfKernel(phi): MapModAbVar → ModAbVarSubGrp`](morphisms.md#function-componentgroupofkernel-mapmodabvar)

    - [`ConnectedKernel(phi): MapModAbVar → ModAbVar, MapModAbVar`](morphisms.md#function-connectedkernel-mapmodabvar)

    - [`Kernel(phi): MapModAbVar → ModAbVarSubGrp, ModAbVar, MapModAbVar`](morphisms.md#function-kernel-mapmodabvar)

    - [`Example: Morphisms Kernels`](morphisms.md#example-ex-b5d1c0)

  - [Images](morphisms.md#images)

    - [`A @ phi: ModAbVar, MapModAbVar → ModAbVar`](morphisms.md#operation-operation-modabvar-mapmodabvar-modabvar)

    - [`phi(A): ModAbVar, MapModAbVar → ModAbVar`](morphisms.md#function-phi-modabvar-mapmodabvar)

    - [`G @ phi: ModAbVarSubGrp, MapModAbVar → ModAbVarSubGrp`](morphisms.md#operation-operation-modabvarsubgrp-mapmodabvar-modabvarsubgrp)

    - [`phi(G): ModAbVarSubGrp, MapModAbVar → ModAbVarSubGrp`](morphisms.md#function-phi-modabvarsubgrp-mapmodabvar)

    - [`Image(phi): MapModAbVar → ModAbVar, MapModAbVar, MapModAbVar`](morphisms.md#function-image-mapmodabvar)

    - [`G @@ phi: ModAbVarSubGrp, MapModAbVar → ModAbVarSubGrp`](morphisms.md#operation-operation-modabvarsubgrp-mapmodabvar-modabvarsubgrp-2)

    - [`Example: Morphisms Images`](morphisms.md#example-ex-8cd22d)

  - [Cokernels](morphisms.md#cokernels)

    - [`Cokernel(phi): MapModAbVar → ModAbVar, MapModAbVar`](morphisms.md#function-cokernel-mapmodabvar)

    - [`Example: Morphisms Cokernels`](morphisms.md#example-ex-cbef20)

  - [Matrix Structure](morphisms.md#matrix-structure)

    - [`Matrix(phi): MapModAbVar → ModMatFldElt`](morphisms.md#function-matrix-mapmodabvar)

    - [`Eltseq(phi): MapModAbVar → SeqEnum`](morphisms.md#function-eltseq-mapmodabvar)

    - [`Ncols(phi): MapModAbVar → RngIntElt`](morphisms.md#function-ncols-mapmodabvar)

    - [`Nrows(phi): MapModAbVar → RngIntElt`](morphisms.md#function-nrows-mapmodabvar)

    - [`Rows(phi): MapModAbVar → SeqEnum`](morphisms.md#function-rows-mapmodabvar)

    - [`IntegralMatrix(phi): MapModAbVar → ModMatRngElt`](morphisms.md#function-integralmatrix-mapmodabvar)

    - [`IntegralMatrixOverQ(phi): MapModAbVar → ModMatFldElt`](morphisms.md#function-integralmatrixoverq-mapmodabvar)

    - [`RealMatrix(phi): MapModAbVar → ModMatFldElt`](morphisms.md#function-realmatrix-mapmodabvar)

    - [`Example: Morphisms Matrix Structure`](morphisms.md#example-ex-e3e535)

  - [Arithmetic](morphisms.md#arithmetic)

    - [`Inverse(phi): MapModAbVar → MapModAbVar, RngIntElt`](morphisms.md#function-inverse-mapmodabvar)

    - [`phi * psi: MapModAbVar, MapModAbVar → MapModAbVar`](morphisms.md#operation-op-times-mapmodabvar-mapmodabvar)

    - [`a * phi: FldRatElt, MapModAbVar → MapModAbVar`](morphisms.md#operation-op-times-fldratelt-mapmodabvar)

    - [`a * phi: RngIntElt, MapModAbVar → MapModAbVar`](morphisms.md#operation-op-times-rngintelt-mapmodabvar)

    - [`phi * psi: MapModAbVar, AlgMatElt → AlgMatElt`](morphisms.md#operation-op-times-mapmodabvar-algmatelt)

    - [`phi * psi: MapModAbVar, ModMatFldElt → ModMatFldElt`](morphisms.md#operation-op-times-mapmodabvar-modmatfldelt)

    - [`psi * phi: AlgMatElt, MapModAbVar → AlgMatElt`](morphisms.md#operation-op-times-algmatelt-mapmodabvar)

    - [`psi * phi: ModMatFldElt, MapModAbVar → ModMatFldElt`](morphisms.md#operation-op-times-modmatfldelt-mapmodabvar)

    - [`phi ^ n: MapModAbVar, RngIntElt → MapModAbVar`](morphisms.md#operation-op-pow-mapmodabvar-rngintelt)

    - [`phi + psi: MapModAbVar, MapModAbVar → MapModAbVar`](morphisms.md#operation-op-plus-mapmodabvar-mapmodabvar)

    - [`n + phi: FldRatElt, MapModAbVar → MapModAbVar`](morphisms.md#operation-op-plus-fldratelt-mapmodabvar)

    - [`n + phi: RngIntElt, MapModAbVar → MapModAbVar`](morphisms.md#operation-op-plus-rngintelt-mapmodabvar)

    - [`phi + n: MapModAbVar, RngIntElt → MapModAbVar`](morphisms.md#operation-op-plus-mapmodabvar-rngintelt)

    - [`phi + psi: MapModAbVar, AlgMatElt → AlgMatElt`](morphisms.md#operation-op-plus-mapmodabvar-algmatelt)

    - [`phi + psi: MapModAbVar, ModMatFldElt → ModMatFldElt`](morphisms.md#operation-op-plus-mapmodabvar-modmatfldelt)

    - [`psi + phi: AlgMatElt, MapModAbVar → AlgMatElt`](morphisms.md#operation-op-plus-algmatelt-mapmodabvar)

    - [`psi + phi: ModMatFldElt, MapModAbVar → ModMatFldElt`](morphisms.md#operation-op-plus-modmatfldelt-mapmodabvar)

    - [`phi - psi: MapModAbVar, MapModAbVar → MapModAbVar`](morphisms.md#operation-op-minus-mapmodabvar-mapmodabvar)

    - [`n - phi: FldRatElt, MapModAbVar → MapModAbVar`](morphisms.md#operation-op-minus-fldratelt-mapmodabvar)

    - [`n - phi: RngIntElt, MapModAbVar → MapModAbVar`](morphisms.md#operation-op-minus-rngintelt-mapmodabvar)

    - [`phi - n: MapModAbVar, FldRatElt → MapModAbVar`](morphisms.md#operation-op-minus-mapmodabvar-fldratelt)

    - [`phi - n: MapModAbVar, RngIntElt → MapModAbVar`](morphisms.md#operation-op-minus-mapmodabvar-rngintelt)

    - [`phi - psi: MapModAbVar, AlgMatElt → AlgMatElt`](morphisms.md#operation-op-minus-mapmodabvar-algmatelt)

    - [`phi - psi: MapModAbVar, ModMatFldElt → ModMatFldElt`](morphisms.md#operation-op-minus-mapmodabvar-modmatfldelt)

    - [`psi - phi: AlgMatElt, MapModAbVar → AlgMatElt`](morphisms.md#operation-op-minus-algmatelt-mapmodabvar)

    - [`psi - phi: ModMatFldElt, MapModAbVar → ModMatFldElt`](morphisms.md#operation-op-minus-modmatfldelt-mapmodabvar)

    - [`Example: Morphisms Arithmetic`](morphisms.md#example-ex-a1b822)

  - [Polynomials](morphisms.md#polynomials)

    - [`CharacteristicPolynomial(phi): MapModAbVar → RngUPolElt`](morphisms.md#function-characteristicpolynomial-mapmodabvar)

    - [`FactoredCharacteristicPolynomial(phi): MapModAbVar → RngUPolElt`](morphisms.md#function-factoredcharacteristicpolynomial-mapmodabvar)

    - [`MinimalPolynomial(phi): MapModAbVar → RngUPolElt`](morphisms.md#function-minimalpolynomial-mapmodabvar)

    - [`Example: Morphisms Polynomials`](morphisms.md#example-ex-4cc971)

  - [Invariants](morphisms.md#invariants)

    - [`Domain(phi): MapModAbVar → ModAbVar`](morphisms.md#function-domain-mapmodabvar)

    - [`Codomain(phi): MapModAbVar → ModAbVar`](morphisms.md#function-codomain-mapmodabvar)

    - [`Degree(phi): MapModAbVar → RngIntElt`](morphisms.md#function-degree-mapmodabvar)

    - [`Denominator(phi): MapModAbVar → RngIntElt`](morphisms.md#function-denominator-mapmodabvar)

    - [`ClearDenominator(phi): MapModAbVar → MapModAbVar`](morphisms.md#function-cleardenominator-mapmodabvar)

    - [`FieldOfDefinition(phi): MapModAbVar → ModAbVar`](morphisms.md#function-fieldofdefinition-mapmodabvar)

    - [`Nullity(phi): MapModAbVar → RngIntElt`](morphisms.md#function-nullity-mapmodabvar)

    - [`Rank(phi): MapModAbVar → RngIntElt`](morphisms.md#function-rank-mapmodabvar)

    - [`Trace(phi): MapModAbVar → FldRatElt`](morphisms.md#function-trace-mapmodabvar)

    - [`Example: Morphisms Invariants`](morphisms.md#example-ex-c7c8a0)

  - [Predicates](morphisms.md#predicates)

    - [`IsMorphism(phi): MapModAbVar → BoolElt`](morphisms.md#function-ismorphism-mapmodabvar)

    - [`OnlyUpToIsogeny(phi): MapModAbVar → BoolElt`](morphisms.md#function-onlyuptoisogeny-mapmodabvar)

    - [`HasFiniteKernel(phi): MapModAbVar → BoolElt`](morphisms.md#function-hasfinitekernel-mapmodabvar)

    - [`IsInjective(phi): MapModAbVar → BoolElt`](morphisms.md#function-isinjective-mapmodabvar)

    - [`IsSurjective(phi): MapModAbVar → BoolElt`](morphisms.md#function-issurjective-mapmodabvar)

    - [`IsEndomorphism(phi): MapModAbVar → BoolElt`](morphisms.md#function-isendomorphism-mapmodabvar)

    - [`IsInteger(phi): MapModAbVar → BoolElt, RngIntElt`](morphisms.md#function-isinteger-mapmodabvar)

    - [`IsIsogeny(phi): MapModAbVar → BoolElt`](morphisms.md#function-isisogeny-mapmodabvar)

    - [`IsIsomorphism(phi): MapModAbVar → BoolElt`](morphisms.md#function-isisomorphism-mapmodabvar)

    - [`IsOptimal(phi): MapModAbVar → BoolElt`](morphisms.md#function-isoptimal-mapmodabvar)

    - [`IsHeckeOperator(phi): MapModAbVar → BoolElt, RngIntElt`](morphisms.md#function-isheckeoperator-mapmodabvar)

    - [`IsZero(phi): MapModAbVar → BoolElt`](morphisms.md#function-iszero-mapmodabvar)

    - [`phi eq psi: MapModAbVar, MapModAbVar → BoolElt`](morphisms.md#operation-op-eq-mapmodabvar-mapmodabvar)

    - [`n eq phi: RngIntElt, MapModAbVar → BoolElt`](morphisms.md#operation-op-eq-rngintelt-mapmodabvar)

    - [`phi eq n: MapModAbVar, RngIntElt → BoolElt`](morphisms.md#operation-op-eq-mapmodabvar-rngintelt)

    - [`phi in X: MapModAbVar, List → BoolElt`](morphisms.md#operation-op-in-mapmodabvar-list)

    - [`Example: Morphisms Predicates`](morphisms.md#example-ex-460750)

- [Endomorphism Algebras and Hom Spaces](homspace.md)

  - [Creation](homspace.md#creation)

    - [`Hom(A, B): ModAbVar, ModAbVar → HomModAbVar`](homspace.md#function-hom-modabvar-modabvar)

    - [`Hom(A, B, oQ): ModAbVar, ModAbVar, BoolElt → HomModAbVar`](homspace.md#function-hom-modabvar-modabvar-boolelt)

    - [`End(A): ModAbVar → HomModAbVar`](homspace.md#function-end-modabvar)

    - [`End(A, oQ): ModAbVar, BoolElt → HomModAbVar`](homspace.md#function-end-modabvar-boolelt)

    - [`BaseExtend(H, R): HomModAbVar, Rng → HomModAbVar`](homspace.md#function-baseextend-hommodabvar-rng)

    - [`HeckeAlgebra(A): ModAbVar → HomModAbVar`](homspace.md#function-heckealgebra-modabvar)

    - [`Example: Homspace Creation`](homspace.md#example-ex-3412b0)

  - [Subgroups and Subrings](homspace.md#subgroups-and-subrings)

    - [`Subgroup(X): [MapModAbVar] → HomModAbVar`](homspace.md#function-subgroup-mapmodabvar)

    - [`Subgroup(X, oQ : parameters): [MapModAbVar], BoolElt → HomModAbVar`](homspace.md#function-subgroup-mapmodabvar-boolelt)

    - [`Subring(X): [MapModAbVar] → HomModAbVar`](homspace.md#function-subring-mapmodabvar)

    - [`Subring(X, oQ): [MapModAbVar], BoolElt → HomModAbVar`](homspace.md#function-subring-mapmodabvar-boolelt)

    - [`Subring(phi): MapModAbVar → HomModAbVar`](homspace.md#function-subring-mapmodabvar-2)

    - [`Saturation(H): HomModAbVar → HomModAbVar`](homspace.md#function-saturation-hommodabvar)

    - [`RingGeneratedBy(H): HomModAbVar → HomModAbVar`](homspace.md#function-ringgeneratedby-hommodabvar)

    - [`Example: Homspace Subgroups And Subrings`](homspace.md#example-ex-2cdc95)

    - [`Example: Homspace Subgroups And Subrings2`](homspace.md#example-ex-d8886f)

    - [`Example: Homspace Subgroups And Subrings3`](homspace.md#example-ex-6856fe)

    - [`Example: Homspace Subgroups And Subrings4`](homspace.md#example-ex-48f560)

  - [Pullback and Pushforward of Hom Spaces](homspace.md#pullback-and-pushforward-of-hom-spaces)

    - [`Pullback(H, phi): HomModAbVar, MapModAbVar → HomModAbVar`](homspace.md#function-pullback-hommodabvar-mapmodabvar)

    - [`Pullback(phi, H): MapModAbVar, HomModAbVar → HomModAbVar`](homspace.md#function-pullback-mapmodabvar-hommodabvar)

    - [`Pullback(phi, H, psi): MapModAbVar, HomModAbVar, MapModAbVar → HomModAbVar`](homspace.md#function-pullback-mapmodabvar-hommodabvar-mapmodabvar)

    - [`Example: Homspace Pullback And Pushforward Of Hom Spaces`](homspace.md#example-ex-d424cb)

  - [Arithmetic](homspace.md#arithmetic)

    - [`H1 + H2: HomModAbVar, HomModAbVar → HomModAbVar`](homspace.md#operation-op-plus-hommodabvar-hommodabvar)

    - [`H1 meet H2: HomModAbVar, HomModAbVar → HomModAbVar`](homspace.md#operation-op-meet-hommodabvar-hommodabvar)

    - [`Example: Homspace Arithmetic`](homspace.md#example-ex-a313bf)

  - [Quotients](homspace.md#quotients)

    - [`Index(H2, H1): HomModAbVar, HomModAbVar → RngIntElt`](homspace.md#function-index-hommodabvar-hommodabvar)

    - [`Quotient(H2, H1): HomModAbVar, HomModAbVar → GrpAb, Map, Map`](homspace.md#function-quotient-hommodabvar-hommodabvar)

    - [`H2 / H1: HomModAbVar, HomModAbVar → GrpAb, Map, Map`](homspace.md#operation-op-div-hommodabvar-hommodabvar)

    - [`Example: Homspace Quotients`](homspace.md#example-ex-8c4826)

  - [Invariants](homspace.md#invariants)

    - [`Domain(H): HomModAbVar → ModAbVar`](homspace.md#function-domain-hommodabvar)

    - [`Codomain(H): HomModAbVar → ModAbVar`](homspace.md#function-codomain-hommodabvar)

    - [`FieldOfDefinition(H): HomModAbVar → ModAbVar`](homspace.md#function-fieldofdefinition-hommodabvar)

    - [`Discriminant(H): HomModAbVar → FldRatElt, AlgMatElt`](homspace.md#function-discriminant-hommodabvar)

    - [`Example: Homspace Invariants`](homspace.md#example-ex-fc7fbb)

  - [Structural Invariants](homspace.md#structural-invariants)

    - [`Basis(H): HomModAbVar → SeqEnum`](homspace.md#function-basis-hommodabvar)

    - [`Generators(H): HomModAbVar → SeqEnum`](homspace.md#function-generators-hommodabvar)

    - [`Dimension(H): HomModAbVar → RngIntElt`](homspace.md#function-dimension-hommodabvar)

    - [`Rank(H): HomModAbVar → RngIntElt`](homspace.md#function-rank-hommodabvar)

    - [`Ngens(H): HomModAbVar → RngIntElt`](homspace.md#function-ngens-hommodabvar)

    - [`H . i: HomModAbVar, RngIntElt → MapModAbVar`](homspace.md#operation-operation-hommodabvar-rngintelt-mapmodabvar)

    - [`Example: Homspace Structural Invariants`](homspace.md#example-ex-f10d4e)

  - [Matrix and Module Structure](homspace.md#matrix-and-module-structure)

    - [`Lattice(H): HomModAbVar → Lat`](homspace.md#function-lattice-hommodabvar)

    - [`VectorSpace(H): HomModAbVar → ModTupFld`](homspace.md#function-vectorspace-hommodabvar)

    - [`MatrixAlgebra(H): HomModAbVar → AlgMat`](homspace.md#function-matrixalgebra-hommodabvar)

    - [`RMatrixSpace(H): HomModAbVar → ModMatFld`](homspace.md#function-rmatrixspace-hommodabvar)

    - [`RModuleWithAction(H): HomModAbVar → ModED`](homspace.md#function-rmodulewithaction-hommodabvar)

    - [`RModuleWithAction(H, p): HomModAbVar, RngIntElt → ModED`](homspace.md#function-rmodulewithaction-hommodabvar-rngintelt)

    - [`Example: Homspace Matrix And Module Structure`](homspace.md#example-ex-2dd50f)

    - [`Example: Homspace Matrix And Module Structure3`](homspace.md#example-ex-d945dc)

  - [Predicates](homspace.md#predicates)

    - [`IsRing(H): HomModAbVar → BoolElt`](homspace.md#function-isring-hommodabvar)

    - [`IsField(H): HomModAbVar → BoolElt, Fld, Map, Map`](homspace.md#function-isfield-hommodabvar)

    - [`IsCommutative(H): HomModAbVar → BoolElt`](homspace.md#function-iscommutative-hommodabvar)

    - [`IsHeckeAlgebra(H): HomModAbVar → BoolElt`](homspace.md#function-isheckealgebra-hommodabvar)

    - [`IsOverQ(H): HomModAbVar → HomModAbVar`](homspace.md#function-isoverq-hommodabvar)

    - [`IsSaturated(H): HomModAbVar → BoolElt`](homspace.md#function-issaturated-hommodabvar)

    - [`H1 eq H2: HomModAbVar, HomModAbVar → BoolElt`](homspace.md#operation-op-eq-hommodabvar-hommodabvar)

    - [`H1 subset H2: HomModAbVar, HomModAbVar → BoolElt`](homspace.md#operation-op-subset-hommodabvar-hommodabvar)

    - [`Example: Homspace Predicates`](homspace.md#example-ex-f3546c)

  - [Elements](homspace.md#elements)

    - [`H ! x: HomModAbVar, . → BoolElt, MapModAbVar`](homspace.md#operation-op-hommodabvar)

    - [`Example: Homspace Random Element`](homspace.md#example-ex-cb5979)

- [Arithmetic of Abelian Varieties](arithabvar.md)

  - [Direct Sum](arithabvar.md#direct-sum)

    - [`DirectSum(A, B): ModAbVar, ModAbVar → ModAbVar, List, List`](arithabvar.md#function-directsum-modabvar-modabvar)

    - [`DirectProduct(A, B): ModAbVar, ModAbVar → ModAbVar, List, List`](arithabvar.md#function-directproduct-modabvar-modabvar)

    - [`A * B: ModAbVar, ModAbVar → ModAbVar, List, List`](arithabvar.md#operation-op-times-modabvar-modabvar)

    - [`DirectSum(X): [ModAbVar] → ModAbVar, List, List`](arithabvar.md#function-directsum-modabvar)

    - [`DirectProduct(X): [ModAbVar] → ModAbVar, List, List`](arithabvar.md#function-directproduct-modabvar)

    - [`A ^ n: ModAbVar, RngIntElt → ModAbVar`](arithabvar.md#operation-op-pow-modabvar-rngintelt)

    - [`Example: Direct Sum`](arithabvar.md#example-ex-4534d2)

  - [Sum in an Ambient Variety](arithabvar.md#sum-in-an-ambient-variety)

    - [`A + B: ModAbVar, ModAbVar → ModAbVar`](arithabvar.md#operation-op-plus-modabvar-modabvar)

    - [`SumOf(X): [ModAbVar] → ModAbVar`](arithabvar.md#function-sumof-modabvar)

    - [`SumOfImages(phi, psi): MapModAbVar, MapModAbVar → ModAbVar, MapModAbVar, List`](arithabvar.md#function-sumofimages-mapmodabvar-mapmodabvar)

    - [`SumOfMorphismImages(X): List → ModAbVar, MapModAbVar, List`](arithabvar.md#function-sumofmorphismimages-list)

    - [`FindCommonEmbeddings(X): [ModAbVar] → BoolElt, List`](arithabvar.md#function-fce)

  - [Intersections](arithabvar.md#intersections)

    - [`A meet B: ModAbVar, ModAbVar → ModAbVarSubGrp, ModAbVar, MapModAbVar`](arithabvar.md#operation-op-meet-modabvar-modabvar)

    - [`Intersection(X): [ModAbVar] → ModAbVarSubGrp, ModAbVar, MapModAbVar`](arithabvar.md#function-intersection-modabvar)

    - [`IntersectionOfImages(X): List → ModAbVarSubGrp, ModAbVar, MapModAbVar`](arithabvar.md#function-intersectionofimages-list)

    - [`ComponentGroupOfIntersection(A, B): ModAbVar, ModAbVar → ModAbVarSubGrp`](arithabvar.md#function-componentgroupofintersection-modabvar-modabvar)

    - [`ComponentGroupOfIntersection(X): [ModAbVar] → ModAbVarSubGrp`](arithabvar.md#function-componentgroupofintersection-modabvar)

    - [`Example: Arithabvar Intersections`](arithabvar.md#example-ex-0eac0e)

    - [`Example: Arithabvar Intersections2`](arithabvar.md#example-ex-bf3734)

  - [Quotients](arithabvar.md#quotients)

    - [`A / B: ModAbVar, ModAbVar → ModAbVar, MapModAbVar`](arithabvar.md#operation-op-div-modabvar-modabvar)

    - [`Cokernel(phi): MapModAbVar → ModAbVar, MapModAbVar`](arithabvar.md#function-cokernel-mapmodabvar-2)

    - [`Example: Arithabvar Quotients`](arithabvar.md#example-ex-5e98ec)

- [Decomposing and Factoring Abelian Varieties](decomp.md)

  - [Decomposition](decomp.md#decomposition)

    - [`Decomposition(A): ModAbVar → SeqEnum`](decomp.md#function-decomposition-modabvar)

    - [`A(n): RngIntElt, ModAbVar → ModAbVar`](decomp.md#function-a-rngintelt-modabvar)

    - [`Example: Decomp Decomposition`](decomp.md#example-ex-e61813)

  - [Factorization](decomp.md#factorization)

    - [`Factorisation(A): ModAbVar → List`](decomp.md#function-factorisation-modabvar)

    - [`Factorization(A): ModAbVar → List`](decomp.md#function-factorization-modabvar)

    - [`Example: Decomp Factorization`](decomp.md#example-ex-189402)

  - [Decomposition with respect to an Endomorphism or a Commutative Ring](decomp.md#decomposition-with-respect-to-an-endomorphism-or-a-commutative-ring)

    - [`DecomposeUsing(R): HomModAbVar → SeqEnum`](decomp.md#function-decomposeusing-hommodabvar)

    - [`DecomposeUsing(phi): MapModAbVar → SeqEnum`](decomp.md#function-decomposeusing-mapmodabvar)

    - [`Example: Decomp Decomposition With Respect To An Endomorphism Or A Commutative Ring`](decomp.md#example-ex-27db11)

  - [Additional Examples](decomp.md#additional-examples)

    - [`Example: homology1`](decomp.md#example-ex-f1a775)

- [Building Blocks](building-blocks.md)

  - [Background and Notation](building-blocks.md#background-and-notation)

    - [`BoundedFSubspace(epsilon, k, degrees): GrpDrchElt, RngIntElt, [RngIntElt] → [ ModSym ]`](building-blocks.md#function-boundedfsubspace-grpdrchelt-rngintelt-rngintelt)

    - [`HasCM(M : parameters): ModSym → BoolElt, RngIntElt`](building-blocks.md#function-hascm-modsym)

    - [`IsCM(M : parameters): ModSym → BoolElt, RngIntElt`](building-blocks.md#function-iscm-modsym)

    - [`InnerTwists(A : parameters): ModAbVar → [ GrpDrchElt ]`](building-blocks.md#function-innertwists-modabvar-2)

    - [`InnerTwists(M : parameters): ModSym → [ GrpDrchElt ]`](building-blocks.md#function-innertwists-modsym)

    - [`DegreeMap(M : parameters): ModSym → [ Tup ], Fld`](building-blocks.md#function-degreemap-modsym)

    - [`BrauerClass(M): ModSym → SeqEnum`](building-blocks.md#function-brauerclass-modsym)

    - [`ObstructionDescentBuildingBlock(M): ModSym → SeqEnum`](building-blocks.md#function-obstructiondescentbuildingblock-modsym)

    - [`Example: Complements Complements`](building-blocks.md#example-ex-0906d5)

- [Orthogonal Complements](complements.md)

  - [Complements](complements.md#id1)

    - [`Complement(A : parameters): ModAbVar → ModAbVar, MapModAbVar`](complements.md#function-complement-modabvar)

    - [`ComplementOfImage(phi : parameters): MapModAbVar → ModAbVar, MapModAbVar`](complements.md#function-complementofimage-mapmodabvar)

    - [`Example: Complements Complements`](complements.md#example-ex-d3809a)

  - [Dual Abelian Variety](complements.md#dual-abelian-variety)

    - [`IsDualComputable(A): ModAbVar → BoolElt, ModAbVar`](complements.md#function-isdualcomputable-modabvar)

    - [`Dual(A): ModAbVar → ModAbVar`](complements.md#function-dual-modabvar)

    - [`ModularPolarization(A): ModAbVar → MapModAbVar`](complements.md#function-modularpolarization-modabvar)

    - [`Example: Complements Dual Abelian Variety`](complements.md#example-ex-491b44)

  - [Intersection Pairing](complements.md#intersection-pairing)

    - [`IntersectionPairing(H): ModAbVarHomol → AlgMatElt`](complements.md#function-intersectionpairing-modabvarhomol)

    - [`IntersectionPairing(A): ModAbVar → AlgMatElt`](complements.md#function-intersectionpairing-modabvar)

    - [`IntersectionPairingIntegral(A): ModAbVar → AlgMatElt`](complements.md#function-intersectionpairingintegral-modabvar)

    - [`Example: Complements Intersection Pairing`](complements.md#example-ex-e57f20)

  - [Projections](complements.md#projections)

    - [`ProjectionOnto(A : parameters): ModAbVar → MapModAbVar`](complements.md#function-projectiononto-modabvar)

    - [`ProjectionOntoImage(phi : parameters): MapModAbVar → MapModAbVar`](complements.md#function-projectionontoimage-mapmodabvar)

    - [`Example: Complements Projections`](complements.md#example-ex-af6775)

    - [`Example: Complements Projections2`](complements.md#example-ex-2b4451)

  - [Left and Right Inverses](complements.md#left-and-right-inverses)

    - [`LeftInverse(phi : parameters): MapModAbVar → MapModAbVar, RngIntElt`](complements.md#function-leftinverse-mapmodabvar)

    - [`LeftInverseMorphism(phi : parameters): MapModAbVar → MapModAbVar`](complements.md#function-leftinversemorphism-mapmodabvar)

    - [`RightInverse(phi : parameters): MapModAbVar → MapModAbVar, RngIntElt`](complements.md#function-rightinverse-mapmodabvar)

    - [`RightInverseMorphism(phi : parameters): MapModAbVar → MapModAbVar`](complements.md#function-rightinversemorphism-mapmodabvar)

    - [`Example: Complements Left And Right Inverses`](complements.md#example-ex-d38205)

  - [Congruence Computations](complements.md#congruence-computations)

    - [`CongruenceModulus(A): ModAbVar → RngIntElt`](complements.md#function-congruencemodulus-modabvar)

    - [`ModularDegree(A): ModAbVar → RngIntElt`](complements.md#function-modulardegree-modabvar)

    - [`Example: Complements Congruence Computations`](complements.md#example-ex-5164fa)

- [New and Old Subvarieties and Natural Maps](new_old.md)

  - [Natural Maps](new_old.md#natural-maps)

    - [`NaturalMap(A, B, d): ModAbVar, ModAbVar, RngIntElt → MapModAbVar`](new_old.md#function-naturalmap-modabvar-modabvar-rngintelt)

    - [`NaturalMap(A, B): ModAbVar, ModAbVar → MapModAbVar`](new_old.md#function-naturalmap-modabvar-modabvar)

    - [`NaturalMaps(A, B): ModAbVar, ModAbVar → SeqEnum`](new_old.md#function-naturalmaps-modabvar-modabvar)

    - [`Example: New Old Natural Maps`](new_old.md#example-ex-8ef092)

  - [New Subvarieties and Quotients](new_old.md#new-subvarieties-and-quotients)

    - [`NewSubvariety(A, r): ModAbVar, RngIntElt → ModAbVar, MapModAbVar`](new_old.md#function-newsubvariety-modabvar-rngintelt)

    - [`NewSubvariety(A): ModAbVar → ModAbVar, MapModAbVar`](new_old.md#function-newsubvariety-modabvar)

    - [`NewQuotient(A, r): ModAbVar, RngIntElt → ModAbVar, MapModAbVar`](new_old.md#function-newquotient-modabvar-rngintelt)

    - [`NewQuotient(A): ModAbVar → ModAbVar, MapModAbVar`](new_old.md#function-newquotient-modabvar)

    - [`Example: New Old New Subvarieties And Quotients`](new_old.md#example-ex-1eeb69)

  - [Old Subvarieties and Quotients](new_old.md#old-subvarieties-and-quotients)

    - [`OldSubvariety(A, r): ModAbVar, RngIntElt → ModAbVar, MapModAbVar`](new_old.md#function-oldsubvariety-modabvar-rngintelt)

    - [`OldSubvariety(A): ModAbVar → ModAbVar, MapModAbVar`](new_old.md#function-oldsubvariety-modabvar)

    - [`OldQuotient(A, r): ModAbVar, RngIntElt → ModAbVar, MapModAbVar`](new_old.md#function-oldquotient-modabvar-rngintelt)

    - [`OldQuotient(A): ModAbVar → ModAbVar, MapModAbVar`](new_old.md#function-oldquotient-modabvar)

    - [`Example: New Old Old Subvarieties And Quotients`](new_old.md#example-ex-00e897)

- [Elements of Modular Abelian Varieties](elt.md)

  - [Arithmetic](elt.md#arithmetic)

    - [`a * x: FldReElt, ModAbVarElt → ModAbVarElt`](elt.md#operation-op-times-fldreelt-modabvarelt)

    - [`a * x: FldRatElt, ModAbVarElt → ModAbVarElt`](elt.md#operation-op-times-fldratelt-modabvarelt)

    - [`a * x: RngIntElt, ModAbVarElt → ModAbVarElt`](elt.md#operation-op-times-rngintelt-modabvarelt)

    - [`x * a: ModAbVarElt, FldReElt → ModAbVarElt`](elt.md#operation-op-times-modabvarelt-fldreelt)

    - [`x * a: ModAbVarElt, FldRatElt → ModAbVarElt`](elt.md#operation-op-times-modabvarelt-fldratelt)

    - [`x * a: ModAbVarElt, RngIntElt → ModAbVarElt`](elt.md#operation-op-times-modabvarelt-rngintelt)

    - [`x + y: ModAbVarElt, ModAbVarElt → ModAbVarElt`](elt.md#operation-op-plus-modabvarelt-modabvarelt)

    - [`x - y: ModAbVarElt, ModAbVarElt → ModAbVarElt`](elt.md#operation-op-minus-modabvarelt-modabvarelt)

    - [`Example: Elt Arithmetic`](elt.md#example-ex-1b77c0)

  - [Invariants](elt.md#invariants)

    - [`Order(x): ModAbVarElt → RngIntElt`](elt.md#function-order-modabvarelt)

    - [`ApproximateOrder(x): ModAbVarElt → RngIntElt`](elt.md#function-approximateorder-modabvarelt)

    - [`Degree(x): ModAbVarElt → RngIntElt`](elt.md#function-degree-modabvarelt)

    - [`FieldOfDefinition(x): ModAbVarElt → ModTupFldElt`](elt.md#function-fieldofdefinition-modabvarelt)

    - [`Example: Elt Invariants`](elt.md#example-ex-657a6b)

  - [Predicates](elt.md#predicates)

    - [`x eq y: ModAbVarElt, ModAbVarElt → BoolElt`](elt.md#operation-op-eq-modabvarelt-modabvarelt)

    - [`x in X: ModAbVarElt, List → BoolElt`](elt.md#operation-op-in-modabvarelt-list)

    - [`IsExact(x): ModAbVarElt → BoolElt`](elt.md#function-isexact-modabvarelt)

    - [`IsZero(x): ModAbVarElt → BoolElt`](elt.md#function-iszero-modabvarelt)

    - [`Example: Elt Predicates`](elt.md#example-ex-63bae7)

  - [Homomorphisms](elt.md#homomorphisms)

    - [`x @ phi: ModAbVarElt, MapModAbVar → ModAbVarElt`](elt.md#operation-operation-modabvarelt-mapmodabvar-modabvarelt)

    - [`phi(x): ModAbVarElt, MapModAbVar → ModAbVarElt`](elt.md#function-phi-modabvarelt-mapmodabvar)

    - [`x @@ phi: ModAbVarElt, MapModAbVar → ModAbVarElt`](elt.md#operation-operation-modabvarelt-mapmodabvar-modabvarelt-2)

    - [`Example: Elt Homomorphisms`](elt.md#example-ex-ca6f04)

  - [Representation of Torsion Points](elt.md#representation-of-torsion-points)

    - [`ApproximateByTorsionPoint(x : parameters): ModAbVarElt → ModAbVarElt`](elt.md#function-approximatebytorsionpoint-modabvarelt)

    - [`Element(x): ModAbVarElt → ModTupFldElt`](elt.md#function-element-modabvarelt)

    - [`LatticeCoordinates(x): ModAbVarElt → ModTupFldElt`](elt.md#function-latticecoordinates-modabvarelt)

    - [`Eltseq(x): ModAbVarElt → SeqEnum`](elt.md#function-eltseq-modabvarelt)

    - [`Example: Elt Representation Of Torsion Points`](elt.md#example-ex-68387a)

- [Subgroups of Modular Abelian Varieties](subgrp.md)

  - [Creation](subgrp.md#creation)

    - [`Subgroup(X): [ModAbVarElt] → ModAbVarSubGrp`](subgrp.md#function-subgroup-modabvarelt)

    - [`ZeroSubgroup(A): ModAbVar → ModAbVarSubGrp`](subgrp.md#function-zerosubgroup-modabvar)

    - [`nTorsionSubgroup(A, n): ModAbVar, RngIntElt → ModAbVarSubGrp`](subgrp.md#function-ntorsionsubgroup-modabvar-rngintelt)

    - [`nTorsionSubgroup(G, n): ModAbVarSubGrp, RngIntElt → ModAbVarSubGrp`](subgrp.md#function-ntorsionsubgroup-modabvarsubgrp-rngintelt)

    - [`ApproximateByTorsionGroup(G : parameters): ModAbVarSubGrp → ModAbVarSubGrp`](subgrp.md#function-approximatebytorsiongroup-modabvarsubgrp)

    - [`Example: Subgrp Creation`](subgrp.md#example-ex-05950a)

  - [Elements](subgrp.md#elements)

    - [`Elements(G): ModAbVarSubGrp → SeqEnum`](subgrp.md#function-elements-modabvarsubgrp)

    - [`Generators(G): ModAbVarSubGrp → SeqEnum`](subgrp.md#function-generators-modabvarsubgrp)

    - [`Ngens(G): ModAbVarSubGrp → RngIntElt`](subgrp.md#function-ngens-modabvarsubgrp)

    - [`G . i: ModAbVarSubGrp, RngIntElt → ModAbVarElt`](subgrp.md#operation-operation-modabvarsubgrp-rngintelt-modabvarelt)

    - [`Example: Subgrp Elements`](subgrp.md#example-ex-74abb1)

  - [Arithmetic](subgrp.md#arithmetic)

    - [`Quotient(A, G): ModAbVar, ModAbVarSubGrp → ModAbVar, MapModAbVar`](subgrp.md#function-quotient-modabvar-modabvarsubgrp)

    - [`Quotient(G): ModAbVarSubGrp → ModAbVar, MapModAbVar, MapModAbVar`](subgrp.md#function-quotient-modabvarsubgrp)

    - [`A / G: ModAbVar, ModAbVarSubGrp → ModAbVar, MapModAbVar, MapModAbVar`](subgrp.md#operation-op-div-modabvar-modabvarsubgrp)

    - [`A meet G: ModAbVar, ModAbVarSubGrp → ModAbVarSubGrp`](subgrp.md#operation-op-meet-modabvar-modabvarsubgrp)

    - [`G meet A: ModAbVarSubGrp, ModAbVar → ModAbVarSubGrp`](subgrp.md#operation-op-meet-modabvarsubgrp-modabvar)

    - [`G1 + G2: ModAbVarSubGrp, ModAbVarSubGrp → ModAbVarSubGrp`](subgrp.md#operation-op-plus-modabvarsubgrp-modabvarsubgrp)

    - [`G1 meet G2: ModAbVarSubGrp, ModAbVarSubGrp → ModAbVarSubGrp`](subgrp.md#operation-op-meet-modabvarsubgrp-modabvarsubgrp)

    - [`Example: Subgrp Arithmetic`](subgrp.md#example-ex-180932)

  - [Underlying Abelian Group and Lattice](subgrp.md#underlying-abelian-group-and-lattice)

    - [`AbelianGroup(G): ModAbVarSubGrp → GrpAb, Map, Map`](subgrp.md#function-abeliangroup-modabvarsubgrp)

    - [`Lattice(G): ModAbVarSubGrp → Lat`](subgrp.md#function-lattice-modabvarsubgrp)

    - [`Example: Subgrp Underlying Abelian Group And Lattice`](subgrp.md#example-ex-0af396)

  - [Invariants](subgrp.md#invariants)

    - [`AmbientVariety(G): ModAbVarSubGrp → ModAbVar`](subgrp.md#function-ambientvariety-modabvarsubgrp)

    - [`Exponent(G): ModAbVarSubGrp → RngIntElt`](subgrp.md#function-exponent-modabvarsubgrp)

    - [`Invariants(G): ModAbVarSubGrp → SeqEnum`](subgrp.md#function-invariants-modabvarsubgrp)

    - [`Order(G): ModAbVarSubGrp → RngIntElt`](subgrp.md#function-order-modabvarsubgrp)

    - [`# G: ModAbVarSubGrp → RngIntElt`](subgrp.md#operation-operation-modabvarsubgrp-rngintelt)

    - [`FieldOfDefinition(G): ModAbVarSubGrp → Fld`](subgrp.md#function-fieldofdefinition-modabvarsubgrp)

    - [`Example: Subgrp Invariants`](subgrp.md#example-ex-df8fad)

  - [Predicates and Comparisons](subgrp.md#predicates-and-comparisons)

    - [`IsFinite(G): ModAbVarSubGrp → RngIntElt`](subgrp.md#function-isfinite-modabvarsubgrp)

    - [`G1 subset G2: ModAbVarSubGrp, ModAbVarSubGrp → BoolElt`](subgrp.md#operation-op-subset-modabvarsubgrp-modabvarsubgrp)

    - [`G subset A: ModAbVarSubGrp, ModAbVar → BoolElt`](subgrp.md#operation-op-subset-modabvarsubgrp-modabvar)

    - [`A subset G: ModAbVar, ModAbVarSubGrp → BoolElt`](subgrp.md#operation-op-subset-modabvar-modabvarsubgrp)

    - [`G1 eq G2: ModAbVarSubGrp, ModAbVarSubGrp → BoolElt`](subgrp.md#operation-op-eq-modabvarsubgrp-modabvarsubgrp)

    - [`Example: Subgrp Predicates And Comparisons`](subgrp.md#example-ex-50d5c0)

- [Rational Torsion Subgroups](torsion.md)

  - [Cuspidal Subgroup](torsion.md#cuspidal-subgroup)

    - [`CuspidalSubgroup(A): ModAbVar → ModAbVarSubGrp`](torsion.md#function-cuspidalsubgroup-modabvar)

    - [`RationalCuspidalSubgroup(A): ModAbVar → ModAbVarSubGrp`](torsion.md#function-rationalcuspidalsubgroup-modabvar)

    - [`Example: Torsion Cuspidal Subgroup`](torsion.md#example-ex-1394bd)

  - [Upper and Lower Bounds](torsion.md#upper-and-lower-bounds)

    - [`TorsionLowerBound(A): ModAbVar → RngIntElt`](torsion.md#function-torsionlowerbound-modabvar)

    - [`TorsionMultiple(A): ModAbVar → RngIntElt`](torsion.md#function-torsionmultiple-modabvar)

    - [`TorsionMultiple(A, n): ModAbVar, RngIntElt → RngIntElt`](torsion.md#function-torsionmultiple-modabvar-rngintelt)

    - [`Example: Torsion Upper And Lower Bounds`](torsion.md#example-ex-819c47)

  - [Torsion Subgroup](torsion.md#torsion-subgroup)

    - [`TorsionSubgroup(A): ModAbVar → BoolElt, ModAbVarSubGrp`](torsion.md#function-torsionsubgroup-modabvar)

    - [`Example: Torsion Torsion Subgroup`](torsion.md#example-ex-887fba)

- [Hecke and Atkin-Lehner Operators](operators.md)

  - [Creation](operators.md#creation)

    - [`AtkinLehnerOperator(A, q): ModAbVar, RngIntElt → MapModAbVar, RngIntElt`](operators.md#function-atkinlehneroperator-modabvar-rngintelt)

    - [`AtkinLehnerOperator(A): ModAbVar → MapModAbVar`](operators.md#function-atkinlehneroperator-modabvar)

    - [`HeckeOperator(A, n): ModAbVar, RngIntElt → MapModAbVar`](operators.md#function-heckeoperator-modabvar-rngintelt)

    - [`Example: Operators Creation`](operators.md#example-ex-6db02a)

  - [Invariants](operators.md#invariants)

    - [`HeckePolynomial(A, n): ModAbVar, RngIntElt → RngUPolElt`](operators.md#function-heckepolynomial-modabvar-rngintelt)

    - [`FactoredHeckePolynomial(A, n): ModAbVar, RngIntElt → RngUPolElt`](operators.md#function-factoredheckepolynomial-modabvar-rngintelt)

    - [`MinimalHeckePolynomial(A, n): ModAbVar, RngIntElt → RngUPolElt`](operators.md#function-minimalheckepolynomial-modabvar-rngintelt)

    - [`Example: Operators Invariants`](operators.md#example-ex-605974)

- [$L$-series](lser.md)

  - [Creation](lser.md#creation)

    - [`LSeries(A): ModAbVar → ModAbVarLSer`](lser.md#function-lseries-modabvar)

    - [`Example: Lser Creation`](lser.md#example-ex-1dae21)

  - [Invariants](lser.md#invariants)

    - [`CriticalStrip(L): ModAbVarLSer → RngIntElt, RngIntElt`](lser.md#function-criticalstrip-modabvarlser)

    - [`ModularAbelianVariety(L): ModAbVarLSer → ModAbVar`](lser.md#function-modularabelianvariety-modabvarlser)

    - [`Example: Lser Invariants`](lser.md#example-ex-c8a997)

  - [Characteristic Polynomials of Frobenius Elements](lser.md#characteristic-polynomials-of-frobenius-elements)

    - [`FrobeniusPolynomial(A : parameters): ModAbVar → RngUPolElt`](lser.md#function-frobeniuspolynomial-modabvar)

    - [`FrobeniusPolynomial(A, p : parameters): ModAbVar, RngIntElt → RngUPolElt`](lser.md#function-frobeniuspolynomial-modabvar-rngintelt)

    - [`FrobeniusPolynomial(A, P): ModAbVar, RngOrdIdl → RngUPolElt`](lser.md#function-frobeniuspolynomial-modabvar-rngordidl)

    - [`Example: Lser Characteristic Polynomials Of Frobenius Elements`](lser.md#example-ex-671a3a)

  - [Values at Integers in the Critical Strip](lser.md#values-at-integers-in-the-critical-strip)

    - [`L(s): RngIntElt, ModAbVarLSer → RngElt`](lser.md#function-l-rngintelt-modabvarlser)

    - [`Evaluate(L, s): ModAbVarLSer, RngIntElt → FldReElt`](lser.md#function-evaluate-modabvarlser-rngintelt)

    - [`Evaluate(L, s, prec): ModAbVarLSer, RngIntElt, RngIntElt → FldReElt`](lser.md#function-evaluate-modabvarlser-rngintelt-rngintelt)

    - [`LRatio(A, s): ModAbVar, RngIntElt → FldRatElt`](lser.md#function-lratio-modabvar-rngintelt)

    - [`LRatio(L, s): ModAbVarLSer, RngIntElt → FldRatElt`](lser.md#function-lratio-modabvarlser-rngintelt)

    - [`IsZeroAt(L, s): ModAbVarLSer, RngIntElt → BoolElt`](lser.md#function-iszeroat-modabvarlser-rngintelt)

    - [`Example: Lser Values At Integers In The Critical Strip`](lser.md#example-ex-88991d)

  - [Leading Coefficient](lser.md#leading-coefficient)

    - [`LeadingCoefficient(L, s, prec): ModAbVarLSer, RngIntElt, RngIntElt → FldReElt, RngIntElt`](lser.md#function-leadingcoefficient-modabvarlser-rngintelt-rngintelt)

    - [`Example: Lser Leading Coefficient`](lser.md#example-ex-54429e)

    - [`Example: Lser Leading Coefficient2`](lser.md#example-ex-b1fb66)

- [Complex Period Lattice](periods.md)

  - [Period Map](periods.md#period-map)

    - [`PeriodMapping(A, prec): ModAbVar, RngIntElt → Map`](periods.md#function-periodmapping-modabvar-rngintelt)

  - [Period Lattice](periods.md#period-lattice)

    - [`Periods(A, n): ModAbVar, RngIntElt → SeqEnum`](periods.md#function-periods-modabvar-rngintelt)

- [Tamagawa Numbers and Component Groups of Neron Models](compgrp.md)

  - [Component Groups](compgrp.md#component-groups)

    - [`ComponentGroupOrder(A, p): ModAbVar, RngIntElt → RngIntElt`](compgrp.md#function-componentgrouporder-modabvar-rngintelt)

    - [`Example: Compgrp Component Groups`](compgrp.md#example-ex-535c76)

  - [Tamagawa Numbers](compgrp.md#tamagawa-numbers)

    - [`TamagawaNumber(A, p): ModAbVar, RngIntElt → RngIntElt, RngIntElt, BoolElt`](compgrp.md#function-tamagawanumber-modabvar-rngintelt)

    - [`TamagawaNumber(A): ModAbVar → RngIntElt, RngIntElt, BoolElt`](compgrp.md#function-tamagawanumber-modabvar)

    - [`Example: Compgrp Tamagawa Numbers`](compgrp.md#example-ex-0a4c08)

- [Elliptic Curves](ellcrv.md)

  - [Creation](ellcrv.md#creation)

    - [`EllipticCurve(A): ModAbVar → CrvEll`](ellcrv.md#function-ellipticcurve-modabvar)

    - [`ModularAbelianVariety(E): CrvEll → ModAbVar`](ellcrv.md#function-modularabelianvariety-crvell)

    - [`Example: Ellcrv Creation`](ellcrv.md#example-ex-88fa6f)

  - [Invariants](ellcrv.md#invariants)

    - [`EllipticInvariants(A, n): ModAbVar, RngIntElt → FldReElt, FldReElt, FldReElt, CrvEll`](ellcrv.md#function-ellipticinvariants-modabvar-rngintelt)

    - [`EllipticPeriods(A, n): ModAbVar, RngIntElt → FldReElt, FldReElt`](ellcrv.md#function-ellipticperiods-modabvar-rngintelt)

    - [`Example: Ellcrv Invariants`](ellcrv.md#example-ex-06171d)
