[Next][Prev] [Right] [Left] [Up] [Index] [Root]
Acknowledgements Introduction
Creation Functions
Creation of a Hyperelliptic Curve
Creation Predicates
Changing the Base Ring
Models
Predicates on Models
Twisting Hyperelliptic Curves
Type Change Predicates
Operations on Curves
Elementary Invariants
Igusa Invariants
Base Ring
Creation from Invariants
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
Isomorphisms and Transformations
Creation of Isomorphisms
Arithmetic with Isomorphisms
Invariants of Isomorphisms
Automorphism Group and Isomorphism Testing
Jacobians
Creation of a Jacobian
Access Operations
Base Ring
Changing the Base Ring
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
The 2-Selmer Group
Chabauty's Method
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
Maps between Jacobians
Isomorphisms, Isogenies and Endomorphism Rings of Analytic Jacobians
From Period Matrix to Curve
Voronoi Cells
Bibliography
DETAILS 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 (H107E1)
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 (H107E2)
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 ->
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
Twisting Hyperelliptic Curves
QuadraticTwist(C, d) : CrvHyp, RngElt -> CrvHyp
QuadraticTwist(C) : CrvHyp -> CrvHyp
QuadraticTwists(C) : CrvHyp -> SeqEnum
IsQuadraticTwist(C, D) : CrvHyp, CrvHyp -> BoolElt, RngElt
Example CrvHyp_QuadraticTwists (H107E3)
Example CrvHyp_QuadraticTwists (H107E4)
Type Change Predicates
IsEllipticCurve(C) : CrvHyp -> BoolElt, CrvEll, MapIsoSch, MapIsoSch
Operations on Curves
Elementary Invariants
HyperellipticPolynomials(C) : CrvHyp -> RngUPolElt, RngUPolElt
Degree(C) : CrvHyp -> RngIntElt
Discriminant(C) : CrvHyp -> RngElt
Genus(C) : CrvHyp -> RngIntElt
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
IgusaInvariants(f, h): RngUPolElt, RngUPolElt -> SeqEnum
IgusaInvariants(f: parameters) : RngUPolElt -> SeqEnum
ScaledIgusaInvariants(f, h): RngUPolElt, RngUPolElt -> SeqEnum
ScaledIgusaInvariants(f): RngUPolElt -> SeqEnum
AbsoluteInvariants(C) : CrvHyp -> SeqEnum
ClebschToIgusaClebsch(Q) : SeqEnum -> SeqEnum
IgusaClebschToIgusa(S) : SeqEnum -> SeqEnum
Base Ring
BaseField(C) : Sch -> Fld
Creation from Invariants
HyperellipticCurveFromIgusaClebsch(S) : SeqEnum -> CrvHyp
Example CrvHyp_CurveFromIgusa (H107E5)
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 (H107E6)
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
PointsKnown(C) : CrvHyp -> BoolElt
ZetaFunction(C) : CrvHyp -> FldFunRatUElt
ZetaFunction(C, K) : CrvHyp, FldFin -> FldFunRatUElt
Example CrvHyp_PointEnumeration (H107E7)
Frobenius
Frobenius(P, F) : PtHyp, FldFin -> PtHyp
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 (H107E8)
Arithmetic with Isomorphisms
f * g : MapIsoSch, MapIsoSch -> MapIsoSch
Inverse(f) : MapIsoSch -> MapIsoSch
f in M : MapIsoSch, PowIsoSch -> BoolElt
P @ f : PtHyp, MapIsoSch -> PtHyp
P @@ f : PtHyp, MapIsoSch -> PtHyp
f eq g : MapIsoSch, MapIsoSch -> BoolElt
Invariants of Isomorphisms
Parent(f) : MapIsoSch -> PowIsoSch
Domain(f) : MapIsoSch -> CrvHyp
Codomain(f) : MapIsoSch -> CrvHyp
Automorphism Group and Isomorphism Testing
IsGL2Equivalent(f, g, n) : RngUPolElt, RngUPolElt, RngIntElt -> BoolElt, SeqEnum
IsIsomorphic(C1, C2) : CrvHyp, CrvHyp -> BoolElt, MapIsoSch
AutomorphismGroup(C) : CrvHyp -> GrpPerm, Map, Map
Example CrvHyp_Automorphism_Group (H107E9)
GeometricAutomorphismGroup(C) : CrvHyp -> Grp, Tup
Example CrvHyp_Geometric_Automorphism_Group (H107E10)
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
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] : [[PtHyp]] -> 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 (H107E11)
Example CrvHyp_point_creation_jacobian2 (H107E12)
Example CrvHyp_point_creation_jacobian3 (H107E13)
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 (H107E14)
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 (H107E15)
Example CrvHyp_kedlaya (H107E16)
Example CrvHyp_kedlaya2 (H107E17)
Example CrvHyp_mestre (H107E18)
Example CrvHyp_shanks-pollard (H107E19)
Example CrvHyp_shanks-pollard (H107E20)
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 (H107E21)
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 (H107E22)
Heights and Regulator
NaiveHeight(P) : JacHypPt -> FldPrElt
Height(P: Precision) : JacHypPt -> FldPrElt
HeightConstant(J: parameters) : JacHyp -> FldPrElt, FldPrElt
HeightPairing(P, Q: Precision) : JacHypPt, JacHypPt -> FldPrElt
HeightPairingMatrix(S: Precision) : [JacHypPt] -> AlgMat
Regulator(S: Precision) : [JacHypPt] -> FldPrElt
ReducedBasis(S: Precision) : [JacHypPt] -> SeqEnum, AlgMatElt
Example CrvHyp_HeightPairing (H107E23)
Example CrvHyp_HeightPairing2 (H107E24)
The 2-Selmer Group
BadPrimes(C) : CrvHyp -> SeqEnum
HasSquareSha(J) : JacHyp -> BoolElt
IsDeficient(C, p) : CrvHyp, RngIntElt -> BoolElt
RankBound(J) : JacHyp -> RngIntElt
TwoSelmerGroup(J) : JacHyp -> GrpAb, Map, Any, Any
Example CrvHyp_2-selmer-group (H107E25)
Example CrvHyp_nonsquare-sha (H107E26)
Chabauty's Method
Chabauty0(J) : JacHyp -> SetIndx
Chabauty(P, p: Precision) : JacHypPt, RngIntElt -> SetIndx
Example CrvHyp_chabauty-method1 (H107E27)
Example CrvHyp_chabauty-method2 (H107E28)
Example CrvHyp_chabauty-method3 (H107E29)
Example CrvHyp_chabauty-method4 (H107E30)
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 (H107E31)
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
SmallPeriodMatrix(A) : AnHcJac -> AlgMatElt
BigPeriodMatrix(A) : AnHcJac -> AlgMatElt
HomologyBasis(A) : AnHcJac -> SeqEnum, SeqEnum, Mtrx
Dimension(A) : AnHcJac -> RngIntElt
BaseField(A) : JacHyp -> Fld
Maps between Jacobians
ToAnalyticJacobian(x, y, A) : FldComElt, FldComElt, AnHcJac -> Mtrx
FromAnalyticJacobian(z, A) : Mtrx, AnHcJac -> SeqEnum
Example CrvHyp_Analytic_Jacobian_Addition (H107E32)
Isomorphisms, Isogenies and Endomorphism Rings of Analytic Jacobians
To2DUpperHalfSpaceFundamentalDomian(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 (H107E33)
From Period Matrix to Curve
RosenhainInvariants(t) : Mtrx -> Set
Example CrvHyp_Find_CM_Curve (H107E34)
Voronoi Cells
Delaunay(sites) : SeqEnum -> SeqEnum
Bibliography
[Next][Prev] [Right] [____] [Up] [Index] [Root]
|