HYPERELLIPTIC CURVES  
Acknowledgements
 
Introduction
 
Creation Functions
      Creation of a Hyperelliptic Curve
      Creation Predicates
      Changing the Base Ring
      Models
      Minimization and Reduction of Binary Forms
      Predicates on Models
      Type Change Predicates
 
Operations on Curves
      Quadratic Twists
      Elementary Invariants
      Base Ring
 
Function Field
      Function Field and Polynomial Ring
 
Points
      Creation of Points
      Random Points
      Predicates on Points
      Access Operations
      Arithmetic of Points
      Enumeration and Counting Points
      Frobenius
 
Jacobians
      Creation of a Jacobian
      Access Operations
      Base Ring
      Changing the Base Ring
 
Richelot Isogenies
 
Points on the Jacobian
      Creation of Points
      Random Points
      Booleans and Predicates for Points
      Access Operations
      Arithmetic of Points
      Order of Points on the Jacobian
      Frobenius
      Weil Pairing
 
Rational Points and Group Structure over Finite Fields
      Enumeration of Points
      Counting Points on the Jacobian
      Deformation Point Counting
      Abelian Group Structure
 
Jacobians over Number Fields or Q
      Searching For Points
      Torsion
      Heights and Regulator
      Saturation
      The 2-Selmer Group
      The Mordell--Weil Group
 
Two-Selmer Set of a Curve
 
Chabauty's Method
 
Cyclic Covers of P1
      Points
      Descent
      Monic Models
      Descent on the Jacobian
      Partial Descent
 
Kummer Surfaces
      Creation of a Kummer Surface
      Structure Operations
      Base Ring
      Changing the Base Ring
 
Points on the Kummer Surface
      Creation of Points
      Access Operations
      Predicates on Points
      Arithmetic of Points
      Rational Points on the Kummer Surface
      Pullback to the Jacobian
 
Analytic Jacobians of Hyperelliptic Curves
      Creation and Access Functions
      Period Matrices
      Maps between Jacobians
            Isomorphisms, Isogenies and Endomorphism Rings of Analytic Jacobians
      From Period Matrix to Curve
      Voronoi Cells
 
Invariants
      Igusa Invariants
      Shioda Invariants
      Creation from Invariants
 
Isomorphisms and Transformations
      Creation of Isomorphisms
      Invariants of Isomorphisms
      Automorphism Group and Isomorphism Testing
      Twisting Hyperelliptic Curves
 
Reduced Automorphism Group and Reduced Isomorphism Testing
 
Bibliography







 
Introduction

 
Creation Functions

      Creation of a Hyperelliptic Curve
            HyperellipticCurve(f, h) : RngUPolElt, RngUPolElt -> CrvHyp
            HyperellipticCurve(P, f, h) : Prj, RngUPolElt, RngUPolElt -> CrvHyp
            HyperellipticCurveOfGenus(g, f, h) : RngIntElt, RngUPolElt, RngUPolElt -> CrvHyp
            HyperellipticCurve(E) : CrvEll -> CrvHyp, Map

      Creation Predicates
            IsHyperellipticCurve([f, h]) : [ RngUPolElt ] -> BoolElt, CrvHyp
            IsHyperellipticCurveOfGenus(g, [f, h]) : RngIntElt, [RngUPolElt] -> BoolElt, CrvHyp
            Example CrvHyp_Creation (H137E1)

      Changing the Base Ring
            BaseChange(C, K) : Sch, Fld -> Sch
            BaseChange(C, j) : Sch, Map -> Sch
            BaseChange(C, n) : Sch, RngIntElt -> Sch
            ChangeRing(C, K) : Sch, Rng -> Sch
            Example CrvHyp_BaseExtension (H137E2)

      Models
            SimplifiedModel(C) : CrvHyp -> CrvHyp, MapIsoSch
            HasOddDegreeModel(C) : CrvHyp -> BoolElt, CrvHyp, MapIsoSch
            IntegralModel(C) : CrvHyp -> CrvHyp, MapIsoSch
            MinimalWeierstrassModel(C) : CrvHyp -> CrvHyp, MapIsoSch
            pIntegralModel(C, p) : CrvHyp, RngIntElt -> CrvHyp, MapIsoSch
            pNormalModel(C, p) : CrvHyp, RngIntElt -> CrvHyp, MapIsoSch
            pMinimalWeierstrassModel(C, p) : CrvHyp, RngIntElt -> CrvHyp, MapIsoSch
            ReducedModel(C) : CrvHyp -> CrvHyp, MapIsoSch
            ReducedMinimalWeierstrassModel(C) : CrvHyp -> CrvHyp, MapIsoSch
            SetVerbose("CrvHypReduce", v) : MonStgElt, RngIntElt ->

      Minimization and Reduction of Binary Forms
            SetVerbose("Minimize", v) : MonStgElt, RngIntElt ->
            MinimizeAtP(f, p) : RngMPolElt, RngIntElt -> RngMPolElt, AlgMatElt, RngIntElt
            MinRedBinaryForm(f) : RngMPolElt -> RngMPolElt, AlgMatElt, RngIntElt
            MinRedBinaryForm(f) : RngUPolElt -> RngUPolElt, AlgMatElt, RngIntElt
            Example CrvHyp_bin_form_min_red (H137E3)

      Predicates on Models
            IsSimplifiedModel(C) : CrvHyp -> BoolElt
            IsIntegral(C) : CrvHyp -> BoolElt
            IspIntegral(C, p) : CrvHyp, RngIntElt -> BoolElt
            IspNormal(C, p) : CrvHyp, RngIntElt -> BoolElt
            IspMinimal(C, p) : CrvHyp, RngIntElt -> BoolElt, BoolElt

      Type Change Predicates
            IsEllipticCurve(C) : CrvHyp -> BoolElt, CrvEll, MapIsoSch, MapIsoSch

 
Operations on Curves

      Quadratic Twists
            QuadraticTwist(C, d) : CrvHyp, RngElt -> CrvHyp
            QuadraticTwist(C) : CrvHyp -> CrvHyp
            QuadraticTwists(C) : CrvHyp -> SeqEnum
            IsQuadraticTwist(C, D) : CrvHyp, CrvHyp -> BoolElt, RngElt
            Example CrvHyp_QuadraticTwists (H137E4)
            Example CrvHyp_QuadraticTwists (H137E5)

      Elementary Invariants
            HyperellipticPolynomials(C) : CrvHyp -> RngUPolElt, RngUPolElt
            Degree(C) : CrvHyp -> RngIntElt
            Discriminant(C) : CrvHyp -> RngElt
            Genus(C) : CrvHyp -> RngIntElt
            Conductor(C) : CrvHyp -> RngIntElt
            Conductor(C, p) : CrvHyp[FldRat], RngIntElt -> RngIntElt
            Example CrvHyp_crvhyp-conductor-Q (H137E6)
            ConductorExponent(C) : CrvHyp[FldPad] -> RngIntElt
            Example CrvHyp_crvhyp-conductor-padic (H137E7)
            EulerFactor(C, p) : CrvHyp[FldRat], RngIntElt -> RngUPolElt
            EulerFactor(C, p) : CrvHyp[FldNum], RngIntElt -> RngUPolElt
            Example CrvHyp_crvhyp-eulerfactor (H137E8)

      Base Ring
            BaseField(C) : Sch -> Fld

 
Function Field

      Function Field and Polynomial Ring
            FunctionField(C) : Sch -> FldFunG
            DefiningPolynomial(C) : Sch -> RngMPolElt
            EvaluatePolynomial(C, a, b, c) : CrvHyp, RngElt, RngElt, RngElt -> RngElt

 
Points

      Creation of Points
            C ! [x, y] : CrvHyp, [RngElt] -> PtHyp
            C ! P : CrvHyp, PtHyp -> PtHyp
            Points(C, x) : CrvHyp, RngElt -> SetIndx
            PointsAtInfinity(C) : CrvHyp -> SetIndx
            IsPoint(C, S) : CrvHyp, SeqEnum -> BoolElt, PtHyp
            Example CrvHyp_points-at-infinity-on-hypcurves (H137E9)

      Random Points
            Random(C) : CrvHyp -> PtHyp

      Predicates on Points
            P eq Q : PtHyp, PtHyp -> BoolElt
            P ne Q : PtHyp, PtHyp -> BoolElt

      Access Operations
            P[i] : PtHyp, RngIntElt -> RngElt
            Eltseq(P) : PtHyp -> SeqEnum

      Arithmetic of Points
            - P : PtHyp -> PtHyp

      Enumeration and Counting Points
            NumberOfPointsAtInfinity(C) : CrvHyp -> RngIntElt
            PointsAtInfinity(C) : CrvHyp -> SetIndx
            # C : CrvHyp -> RngIntElt
            Points(C) : CrvHyp -> SetIndx
            PointsGenus2(C) : CrvHyp -> SetIndx, BoolElt, RngIntElt
            PointsKnown(C) : CrvHyp -> BoolElt
            Example CrvHyp_PointEnumeration (H137E10)

      Frobenius
            Frobenius(P, F) : PtHyp, FldFin -> PtHyp
            FrobeniusMatrix(C, p) : CrvHyp, RngIntElt -> Mtrx

 
Jacobians

      Creation of a Jacobian
            Jacobian(C) : CrvHyp -> JacHyp

      Access Operations
            Curve(J) : JacHyp -> CrvHyp
            Dimension(J) : JacHyp -> RngIntElt

      Base Ring
            BaseField(J) : JacHyp -> Fld

      Changing the Base Ring
            BaseChange(J, F) : JacHyp, Rng -> JacHyp
            BaseChange(J, j) : JacHyp, Map -> JacHyp
            BaseChange(J, n) : JacHyp, RngIntElt -> JacHyp

 
Richelot Isogenies
      RichelotIsogenousSurfaces(J) : JacHyp -> List, List
      RichelotIsogenousSurface(J, kernel) : JacHyp, RngUPolElt[RngUPolRes] -> .
      Example CrvHyp_richelot_isogeny (H137E11)
      DoubleRichelotIsogenies(J) : JacHyp -> SeqEnum
      DoubleRichelotIsogenies(C) : CrvHyp -> SeqEnum
      TwoPowerIsogenies(J) : JacHyp -> SeqEnum, SeqEnum, SeqEnum
      Example CrvHyp_richelot_double_isogeny (H137E12)

 
Points on the Jacobian

      Creation of Points
            J ! 0 : JacHyp, RngIntElt -> JacHypPt
            J ! [a, b] : JacHyp, [ RngUPolElt ] -> JacHypPt
            P - Q : PtHyp, PtHyp -> JacHypPt
            J ! [S, T] : JacHyp, [SeqEnum] -> JacHypPt
            JacobianPoint(J, D) : JacHyp, DivCrvElt -> JacHypPt
            J ! P : JacHyp, JacHypPt -> JacHypPt
            Points(J, a, d) : JacHyp, RngUPolElt, RngIntElt -> SetIndx
            Example CrvHyp_point_creation_jacobian (H137E13)
            Example CrvHyp_point_creation_jacobian2 (H137E14)
            Example CrvHyp_point_creation_jacobian3 (H137E15)

      Random Points
            Random(J) : JacHyp -> JacHypPt

      Booleans and Predicates for Points
            P eq Q : JacHypPt, JacHypPt -> BoolElt
            P ne Q : JacHypPt, JacHypPt -> BoolElt
            IsZero(P) : JacHypPt -> BoolElt

      Access Operations
            P[i] : JacHypPt, RngIntElt -> RngElt
            Eltseq(P) : PtHyp -> SeqEnum, RngIntElt

      Arithmetic of Points
            - P : JacHypPt -> JacHypPt
            P + Q : JacHypPt, JacHypPt -> JacHypPt
            P +:= Q : JacHypPt, JacHypPt ->
            P - Q : JacHypPt, JacHypPt -> JacHypPt
            P -:= Q : JacHypPt, JacHypPt ->
            n * P : RngIntElt, JacHypPt -> JacHypPt
            P *:= n : JacHypPt, RngIntElt ->

      Order of Points on the Jacobian
            Order(P) : JacHypPt -> RngIntElt
            Order(P, l, u) : JacHypPt, RngIntElt, RngIntElt -> RngIntElt
            Order(P, l, u, n, m) : JacHypPt, RngIntElt, RngIntElt ,RngIntElt, RngIntElt -> RngIntElt
            HasOrder(P, n) : JacHypPt, RngIntElt -> BoolElt

      Frobenius
            Frobenius(P, k) : JacHypPt, FldFin -> JacHypPt

      Weil Pairing
            WeilPairing(P, Q, m) : JacHypPt, JacHypPt, RngIntElt -> RngElt
            Example CrvHyp_Jac_WeilPairing (H137E16)

 
Rational Points and Group Structure over Finite Fields

      Enumeration of Points
            Points(J) : JacHyp -> SetIndx

      Counting Points on the Jacobian
            SetVerbose("JacHypCnt", v) : MonStgElt, RngIntElt ->
            # J : JacHyp -> RngIntElt
            Example CrvHyp_Jac_Point_Counting (H137E17)
            Example CrvHyp_kedlaya (H137E18)
            Example CrvHyp_kedlaya2 (H137E19)
            Example CrvHyp_mestre (H137E20)
            Example CrvHyp_shanks-pollard (H137E21)
            Example CrvHyp_shanks-pollard (H137E22)
            FactoredOrder(J) : JacHyp -> [ <RngIntElt, RngIntElt> ]
            EulerFactor(J) : JacHyp -> RngUPolElt
            EulerFactorModChar(J) : JacHyp -> RngUPolElt
            EulerFactor(J, K) : JacHyp, FldFin -> RngUPolElt

      Deformation Point Counting
            JacobianOrdersByDeformation(Q, Y) : RngMPolElt, SeqEnum -> SeqEnum
            Example CrvHyp_def_hyp_pt_cnt_ex (H137E23)

      Abelian Group Structure
            Sylow(J, p) : JacHyp, RngIntElt -> GrpAb, Map, Eseq
            AbelianGroup(J) : JacHyp -> GrpAb, Map
            HasAdditionAlgorithm(J) : JacHyp -> Bool

 
Jacobians over Number Fields or Q

      Searching For Points
            Points(J) : JacHyp -> SetIndx

      Torsion
            TwoTorsionSubgroup(J) : JacHyp -> GrpAb, Map
            TorsionBound(J, n) : JacHyp, RngIntElt -> RngIntElt
            TorsionSubgroup(J) : JacHyp -> GrpAb, Map
            Example CrvHyp_TorsionGroups (H137E24)

      Heights and Regulator
            NaiveHeight(P) : JacHypPt -> FldPrElt
            Height(P: parameters) : JacHypPt -> FldReElt
            HeightConstant(J: parameters) : JacHyp -> FldPrElt, FldPrElt
            HeightPairing(P, Q: parameters) : JacHypPt, JacHypPt -> FldReElt
            HeightPairingMatrix(S: Precision) : [JacHypPt] -> AlgMat
            Regulator(S: Precision) : [JacHypPt] -> FldReElt
            ReducedBasis(S: Precision) : [JacHypPt] -> SeqEnum, AlgMatElt, SeqEnum
            Example CrvHyp_HeightPairing (H137E25)
            Example CrvHyp_HeightPairing2 (H137E26)

      Saturation
            IsDivisibleBy(P, n) : JacHypPt, RngIntElt -> BoolElt, JacHypPt
            Saturation(bas, p) : [ JacHypPt ] , RngIntElt -> [ JacHypPt ]

      The 2-Selmer Group
            BadPrimes(C) : CrvHyp -> SeqEnum
            HasSquareSha(J) : JacHyp -> BoolElt
            IsDeficient(C, p) : CrvHyp, RngIntElt -> BoolElt
            HasIndexOne(C, p) : CrvHyp, RngIntElt -> BoolElt
            HasIndexOneEverywhereLocally(C) : CrvHyp -> BoolElt
            TwoSelmerGroup(J) : JacHyp -> GrpAb, Map, Any, Any
            RankBound(J) : JacHyp -> RngIntElt
            Example CrvHyp_2-selmer-group (H137E27)
            Example CrvHyp_nonsquare-sha (H137E28)
            Example CrvHyp_sha_visibility (H137E29)
            Example CrvHyp_BetterRankBounds (H137E30)
            Example CrvHyp_DisregardTheWarning (H137E31)

      The Mordell--Weil Group
            MordellWeilGroupGenus2(J) : JacHyp -> GrpAb, Map, BoolElt, BoolElt, RngIntElt
            MordellWeilGroup(J) : JacHyp -> GrpAb, Map, BoolElt, BoolElt
            Example CrvHyp_Mordell-Weil_ex (H137E32)
            Example CrvHyp_Mordell-Weil_ex2 (H137E33)

 
Two-Selmer Set of a Curve
      TwoCoverDescent(C) : CrvHyp -> SetEnum, Map, [Map, SeqEnum]
      Example CrvHyp_Two-cover descent (H137E34)

 
Chabauty's Method
      Chabauty0(J) : JacHyp -> SetIndx
      Chabauty(P : ptC) : JacHypPt -> SetIndx
      Chabauty(P, p: Precision) : JacHypPt, RngIntElt -> SetIndx
      Example CrvHyp_chabauty-method1 (H137E35)
      Example CrvHyp_chabauty-method2 (H137E36)
      Example CrvHyp_chabauty-method4 (H137E37)
      Example CrvHyp_chabauty-method3 (H137E38)

 
Cyclic Covers of P1

      Points
            RationalPoints(f, q) : RngUPolElt, RngIntElt -> SetIndx
            HasPoint(f, q, v) : RngUPolElt, RngIntElt, RngIntElt -> BoolElt, SeqEnum
            HasPointsEverywhereLocally(f, q) : RngUPolElt, RngIntElt -> BoolElt

      Descent
            qCoverDescent(f, q) : RngUPolElt, RngIntElt -> Set, Map
            Example CrvHyp_qcoverdescent (H137E39)

      Monic Models
            MonicModel(f, q) : RngUPolElt, RngIntElt -> RngUPolElt, SeqEnum

      Descent on the Jacobian
            PhiSelmerGroup(f, q) : RngUPolElt, RngIntElt -> GrpAb, Map
            PicnDescent(f, q) : RngUPolElt, RngIntElt -> RngIntElt, GrpAb, Tup, RngIntElt, Map, GrpAb
            RankBound(f, q) : RngUPolElt, RngIntElt -> RngIntElt
            Example CrvHyp_qcoverdescent (H137E40)

      Partial Descent
            qCoverPartialDescent(f, factors, q) : RngUPolElt, [* RngUPolElt *], RngIntElt -> Set, Map
            Example CrvHyp_qcoverpartialdescent (H137E41)

 
Kummer Surfaces

      Creation of a Kummer Surface
            KummerSurface(J) : JacHyp -> SrfKum

      Structure Operations
            DefiningPolynomial(K) : SrfKum -> RngMPolElt

      Base Ring
            BaseField(K) : SrfKum -> Fld

      Changing the Base Ring
            BaseChange(K, F) : SrfKum, Rng -> SrfKum
            BaseChange(K, j) : SrfKum, Map -> SrfKum
            BaseChange(K, n): SrfKum, RngIntElt -> SrfKum

 
Points on the Kummer Surface

      Creation of Points
            K ! 0 : SrfKum, RngIntElt -> SrfKumPt
            K ! [x1, x2, x3, x4] : SrfKum, [ RngElt ] -> SrfKumPt
            K ! P : SrfKum, SrfKumPt -> SrfKumPt
            IsPoint(K, S) : SrfKum, [RngElt] -> BoolElt, SrfKumPt
            Points(K,[x1, x2, x3]) : SrfKum, [RngElt] -> SetIndx

      Access Operations
            P[i] : SrfKumPt, RngIntElt -> RngElt
            Eltseq(P) : SrfKumPt -> SeqEnum

      Predicates on Points
            P eq Q : SrfKumPt, SrfKumPt -> BoolElt
            P ne Q : SrfKumPt, SrfKumPt -> BoolElt

      Arithmetic of Points
            - P : SrfKumPt -> SrfKumPt
            n * P : RngIntElt, SrfKumPt -> SrfKumPt
            Double(P) : SrfKumPt -> SrfKumPt
            PseudoAdd(P1, P2, P3) : SrfKumPt, SrfKumPt, SrfKumPt -> SrfKumPt
            PseudoAddMultiple(P1, P2, P3, n) : SrfKumPt, SrfKumPt, SrfKumPt, RngIntElt -> SrfKumPt

      Rational Points on the Kummer Surface
            RationalPoints(K, Q) : SrfKum, [RngElt] -> SetIndx
            Example CrvHyp_KummerRationalPoints (H137E42)

      Pullback to the Jacobian
            Points(J, P) : JacHyp, SrfKumPt -> SetIndx

 
Analytic Jacobians of Hyperelliptic Curves

      Creation and Access Functions
            AnalyticJacobian(f) : RngUPolElt -> AnHcJac
            HyperellipticPolynomial(A) : AnHcJac -> RngUPolElt
            HomologyBasis(A) : AnHcJac -> SeqEnum, SeqEnum, Mtrx
            Dimension(A) : AnHcJac -> RngIntElt
            BaseField(A) : JacHyp -> Fld

      Period Matrices
            SmallPeriodMatrix(A) : AnHcJac -> AlgMatElt
            BigPeriodMatrix(A) : AnHcJac -> AlgMatElt
            PeriodMapping(A, n) : ModSym, RngIntElt -> Map
            Periods(M, n) : ModSym, RngIntElt -> SeqEnum

      Maps between Jacobians
            ToAnalyticJacobian(x, y, A) : FldComElt, FldComElt, AnHcJac -> Mtrx
            FromAnalyticJacobian(z, A) : Mtrx, AnHcJac -> SeqEnum
            Example CrvHyp_Analytic_Jacobian_Addition (H137E43)

            Isomorphisms, Isogenies and Endomorphism Rings of Analytic Jacobians
                  To2DUpperHalfSpaceFundamentalDomain(z) : Mtrx -> Mtrx, Mtrx
                  AnalyticHomomorphisms(t1, t2) : Mtrx, Mtrx -> SeqEnum
                  IsIsomorphicSmallPeriodMatrices(t1, t2) : Mtrx, Mtrx -> Bool, Mtrx
                  IsIsomorphicBigPeriodMatrices(P1, P2) : Mtrx, Mtrx -> Bool, Mtrx, Mtrx
                  IsIsomorphic(A1, A2) : AnHcJac, AnHcJac -> Bool, Mtrx, Mtrx
                  IsIsogenousPeriodMatrices(P1, P2) : Mtrx, Mtrx -> Bool, Mtrx
                  IsIsogenous(A1, A2) : AnHcJac, AnHcJac -> Bool, Mtrx, Mtrx
                  EndomorphismRing(P) : Mtrx -> AlgMat
                  EndomorphismRing(A) : AnHcJac -> AlgMat, SeqEnum
                  Example CrvHyp_Find_Rational_Isogeny (H137E44)
                  ToAnalyticJacobianMumford(pt, AJ) : JacHypPt, AnHcJac-> Mtrx
                  ToAnalyticJacobianMumford(pt, AJ, conj) : JacHypPt, AnHcJac, RngIntElt -> Mtrx
                  FromAnalyticJacobianProjective(z, A) : Mtrx[FldCom], AnHcJac -> SeqEnum

      From Period Matrix to Curve
            RosenhainInvariants(t) : Mtrx -> Set
            Example CrvHyp_Find_CM_Curve (H137E45)

      Voronoi Cells
            Delaunay(sites) : SeqEnum -> SeqEnum
            Voronoi(sites) : SeqEnum -> SeqEnum, SeqEnum, SeqEnum

 
Invariants

      Igusa Invariants
            ClebschInvariants(C) : CrvHyp -> SeqEnum
            ClebschInvariants(f) : RngUPolElt -> SeqEnum
            IgusaClebschInvariants(C: parameters) : CrvHyp -> SeqEnum
            IgusaClebschInvariants(f, h) : RngUPolElt, RngUPolElt -> SeqEnum
            IgusaClebschInvariants(f: parameters) : RngUPolElt -> SeqEnum
            IgusaInvariants(C: parameters): CrvHyp -> SeqEnum, SeqEnum
            IgusaInvariants(f, h: parameters): RngUPolElt, RngUPolElt -> SeqEnum, SeqEnum
            IgusaInvariants(f: parameters) : RngUPolElt -> SeqEnum
            IgusaAlgebraicRelations(JI) : SeqEnum -> SeqEnum
            IgusaInvariantsEqual(JI1, JI2) : SeqEnum, SeqEnum -> BoolElt
            DiscriminantFromIgusaInvariants(JI) : SeqEnum -> Any
            ScaledIgusaInvariants(f, h): RngUPolElt, RngUPolElt -> SeqEnum
            ScaledIgusaInvariants(f): RngUPolElt -> SeqEnum
            AbsoluteInvariants(C) : CrvHyp -> SeqEnum
            ClebschToIgusaClebsch(Q) : SeqEnum -> SeqEnum
            IgusaClebschToIgusa(S) : SeqEnum -> SeqEnum
            G2Invariants(C) : CrvHyp -> SeqEnum
            G2ToIgusaInvariants(GI) : SeqEnum -> SeqEnum
            IgusaToG2Invariants(JI) : SeqEnum -> SeqEnum

      Shioda Invariants
            ShiodaInvariants(C) : CrvHyp -> SeqEnum, SeqEnum
            ShiodaInvariantsEqual(V1, V2) : SeqEnum, SeqEnum -> BoolElt
            DiscriminantFromShiodaInvariants(JI) : SeqEnum -> RngElt
            ShiodaAlgebraicInvariants(FJI) : SeqEnum -> SeqEnum
            Example CrvHyp_shioda-inv-ex (H137E46)
            MaedaInvariants(C) : CrvHyp -> SeqEnum

      Creation from Invariants
            HyperellipticCurveFromIgusaClebsch(S) : SeqEnum -> CrvHyp
            HyperellipticCurveFromIgusaInvariants(S) : SeqEnum -> CrvHyp, GrpPerm
            HyperellipticCurveFromShiodaInvariants(JI) : SeqEnum -> CrvHyp, GrpPerm
            Example CrvHyp_CurveFromInvts (H137E47)

 
Isomorphisms and Transformations

      Creation of Isomorphisms
            Aut(C) : CrvHyp -> PowAutSch
            Iso(C1, C2) : CrvHyp, CrvHyp -> PowIsoSch
            Transformation(C, t) : CrvHyp, [RngElt] -> CrvHyp, MapIsoSch
            Example CrvHyp_Transformation (H137E48)

      Invariants of Isomorphisms
            Parent(f) : MapIsoSch -> PowIsoSch
            Domain(f) : MapIsoSch -> CrvHyp
            Codomain(f) : MapIsoSch -> CrvHyp

      Automorphism Group and Isomorphism Testing
            IsIsomorphic(C1, C2) : CrvHyp, CrvHyp -> BoolElt, MapIsoSch
            AutomorphismGroup(C) : CrvHyp -> GrpPerm, Map, Map
            Example CrvHyp_Automorphism_Group (H137E49)
            IsIsomorphicHyperellipticCurves(X1, X2) : CrvHyp, CrvHyp -> BoolElt, List
            Example CrvHyp_Is_Isomorphic_Hyperelliptic_Curves (H137E50)
            IsomorphismsOfHyperellipticCurves(X1, X2) : CrvHyp, CrvHyp -> List
            AutomorphismsOfHyperellipticCurve(X) : CrvHyp -> List
            AutomorphismGroupOfHyperellipticCurve(X, Autos) : CrvHyp, List -> GrpPerm, Map
            AutomorphismGroupOfHyperellipticCurve(X) : CrvHyp -> GrpPerm, Map
            Example CrvHyp_Automorphism_Group_Of_HyperellipticCurve (H137E51)
            GeometricAutomorphismGroup(C) : CrvHyp : -> GrpPerm
            GeometricAutomorphismGroupFromShiodaInvariants(JI) : SeqEnum -> GrpPerm
            Example CrvHyp_Geometric_Automorphism_Group (H137E52)
            GeometricAutomorphismGroupGenus2Classification(F) : FldFin -> SeqEnum, SeqEnum
            GeometricAutomorphismGroupGenus3Classification(F) : FldFin -> SeqEnum,SeqEnum
            Example CrvHyp_aut_class (H137E53)

      Twisting Hyperelliptic Curves
            TwistsOfHyperellipticPolynomials(f: parameters) : RngUPolElt -> SeqEnum[RngUPolElt], GrpPerm
            Twists(C: parameters) : CrvHyp -> SeqEnum[CrvHyp], GrpPerm
            Twists(C, Autos: parameters) : Crv, SeqEnum -> SeqEnum[Crv], GrpPerm
            HyperellipticPolynomialsFromShiodaInvariants(JI) : SeqEnum -> SeqEnum, GrpPerm
            Example CrvHyp_Twists (H137E54)
            Example CrvHyp_QuadraticTwists (H137E55)

 
Reduced Automorphism Group and Reduced Isomorphism Testing
      IsGL2Equivalent(f, g, n) : RngUPolElt, RngUPolElt, RngIntElt -> BoolElt, SeqEnum
      IsGL2EquivalentExtended(f1, f2, deg) : RngUPolElt, RngUPolElt, RngIntElt -> BoolElt, List
      IsReducedIsomorphicHyperellipticCurves(X1, X2) : CrvHyp , CrvHyp -> BoolElt, List
      ReducedIsomorphismsOfHyperellipticCurves(X1, X2) : CrvHyp , CrvHyp -> List
      ReducedAutomorphismsOfHyperellipticCurve(X) : CrvHyp -> List
      ReducedAutomorphismGroupOfHyperellipticCurve(X, Autos) : CrvHyp , List -> GrpPerm, Map
      ReducedAutomorphismGroupOfHyperellipticCurve(X) : CrvHyp -> GrpPerm, Map

 
Bibliography

[Next][Prev] [Right] [____] [Up] [Index] [Root]


Version: V2.29 of Fri Nov 28 15:14:01 AEDT 2025