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]
|