Creation of an Elliptic Curve
EllipticCurve([a, b]) : [ RngElt ] -> CrvEll
EllipticCurve(f) : RngUPolElt -> CrvEll
EllipticCurveFromjInvariant(j) : RngElt -> CrvEll
Example CrvEll_Creation (H91E1)
EllipticCurve(C) : Sch -> CrvEll, MapSch
EllipticCurve(C, P) : Crv, Pt -> CrvEll, MapSch
EllipticCurve(C, pl) : Crv, PlcCrvElt -> CrvEll, MapSch
SupersingularEllipticCurve(K) : FldFin -> CrvEll
Example CrvEll_CreationFromCurve (H91E2)
Example CrvEll_CreationFromCurve2 (H91E3)
Creation Predicates
IsEllipticCurve([a, b]) : [ RngElt ] -> BoolElt, CrvEll
IsEllipticCurve(C) : CrvHyp -> BoolElt, CrvEll, MapIsoSch, MapIsoSch
Example CrvEll_CreationTest (H91E4)
Changing the Base Ring
BaseChange(E, K) : CrvEll, Rng -> CrvEll
ChangeRing(E, K) : CrvEll, Rng -> CrvEll
BaseChange(E, h) : CrvEll, Map -> CrvEll
BaseChange(E, n) : CrvEll, RngIntElt -> CrvEll
Example CrvEll_BaseExtend (H91E5)
Alternative Models
WeierstrassModel(E) : CrvEll -> CrvEll, Map, Map
IntegralModel(E) : CrvEll -> CrvEll, Map, Map
MinimalModel(E) : CrvEll -> CrvEll, Map, Map
SimplifiedModel(E): CrvEll -> CrvEll, Map, Map
Predicates on Curve Models
IsWeierstrassModel(E) : CrvEll -> BoolElt
IsIntegralModel(E) : CrvEll -> BoolElt
IsMinimalModel(E) : CrvEll -> BoolElt
IsSimplifiedModel(E) : CrvEll -> BoolElt
IsIntegralModel(E, p) : CrvEll, RngOrdIdl -> BoolElt
Example CrvEll_Models (H91E6)
Twists of Elliptic Curves
QuadraticTwist(E, d) : CrvEll, RngElt -> CrvEll
QuadraticTwist(E) : CrvEll -> CrvEll
QuadraticTwists(E) : CrvEll -> SeqEnum
Twists(E) : CrvEll -> SeqEnum
Example CrvEll_QuadraticTwists (H91E7)
IsTwist(E, F) : CrvEll -> BoolElt
IsQuadraticTwist(E, F) : CrvEll -> BoolElt, RngElt
Example CrvEll_NonquadraticTwists (H91E8)
Elementary Invariants
aInvariants(E) : CrvEll -> [ RngElt ]
bInvariants(E) : CrvEll -> [ RngElt ]
cInvariants(E) : CrvEll -> [ RngElt ]
Discriminant(E) : CrvEll -> RngElt
jInvariant(E) : CrvEll -> RngElt
HyperellipticPolynomials(E) : CrvEll -> RngUPolElt, RngUPolElt
Example CrvEll_Invariants (H91E9)
Example CrvEll_GenericCurve (H91E10)
Associated Structures
Category(E) : CrvEll -> Cat
BaseRing(E) : CrvEll -> Rng
Predicates on Elliptic Curves
E eq F : CrvEll, CrvEll -> BoolElt
E ne F : CrvEll, CrvEll -> BoolElt
IsIsomorphic(E, F) : CrvEll, CrvEll -> BoolElt, Map
IsIsogenous(E, F) : CrvEll, CrvEll -> BoolElt
Example CrvEll_Twists2 (H91E11)
Creation of Subgroup Schemes
SubgroupScheme(G, f) : SchGrpEll, RngUPolElt -> SchGrpEll
TorsionSubgroupScheme(G, n) : SchGrpEll, RngIntElt -> SchGrpEll
Associated Structures
Category(G) : SchGrpEll -> Cat
Curve(G) : SchGrpEll -> CrvEll
BaseRing(G) : SchGrpEll -> Rng
DefiningSubschemePolynomial(G) : SchGrpEll -> RngUPolElt
Predicates on Subgroup Schemes
G1 eq G2 : SchGrpEll, SchGrpEll -> BoolElt
G1 ne G2 : SchGrpEll, SchGrpEll -> BoolElt
Points of Subgroup Schemes
# G: SchGrpEll -> RngIntElt
FactoredOrder(G) : SchGrpEll -> RngIntElt
Points(G) : SchGrpEll -> SetIndx
Example CrvEll_SubgroupSchemes (H91E12)
Creation of Point Sets
E(L) : CrvEll, Rng -> SetPtEll
E(m) : CrvEll, Map -> SetPtEll
Associated Structures
Category(H) : SetPtEll -> Cat
Scheme(H) : SetPtEll -> CrvEll
Curve(H) : SetPtEll -> CrvEll
Ring(H) : SetPtEll -> Rng
Predicates on Point Sets
H1 eq H2 : SetPtEll, SetPtEll -> BoolElt
H1 ne H2 : SetPtEll, SetPtEll -> BoolElt
Example CrvEll_PointSets (H91E13)
Creation of Points
Points(H, x) : SetPtEll, RngElt -> [ PtEll ]
PointsAtInfinity(H) : SetPtEll -> @ PtEll @
Creation Predicates
IsPoint(H, S) : SetPtEll, [ RngElt ] -> BoolElt, PtEll
IsPoint(H, x) : SetPtEll, RngElt -> BoolElt, PtEll
Access Operations
P[i] : PtEll, RngIntElt -> RngElt
ElementToSequence(P): PtEll -> [ RngElt ]
Associated Structures
Category(P) : PtEll -> Cat
Parent(P) : PtEll -> SetPtEll
Scheme(P) : SetPtEll -> CrvEll
Arithmetic
- P : PtEll -> PtEll
P + Q : PtEll, PtEll -> PtEll
P +:= Q : PtEll, PtEll ->
P - Q : PtEll, PtEll -> PtEll
P -:= Q : PtEll, PtEll ->
n * P : RngIntElt, PtEll -> PtEll
P *:= n : PtEll, RngIntElt ->
P / n : PtEll, RngIntElt -> PtEll
P /:= n : PtEll, RngIntElt ->
DivisionPoints(P, n) : PtEll, RngIntElt -> [ PtEll ]
Example CrvEll_PointArithmetic1 (H91E14)
Example CrvEll_PointArithmetic2 (H91E15)
Example CrvEll_GenericPoint (H91E16)
Point Order
Order(P) : PtEll -> RngIntElt
FactoredOrder(P) : PtEll -> RngIntElt
Example CrvEll_PlayWithPoints (H91E17)
Predicates on Points
IsId(P) : PtEll -> BoolElt
P eq Q : PtEll, PtEll -> BoolElt
P ne Q : PtEll, PtEll -> BoolElt
P in H : PtEll, SetPtEll -> BoolElt
P in E : PtEll, CrvEll -> BoolElt
IsOrder(P, m) : PtEll, RngIntElt -> BoolElt
IsIntegral(P) : PtEll -> BoolElt
IsSIntegral(P, S) : PtEll, SeqEnum -> BoolElt
Weil Pairing
WeilPairing(P, Q, n) : PtEll, PtEll, RngIntElt -> RngElt
IsLinearlyIndependent(S, n) : [ PtEll ], RngIntElt -> BoolElt
IsLinearlyIndependent(P, Q, n) : PtEll, PtEll, RngIntElt -> BoolElt
Example CrvEll_WeilPairing (H91E18)
Function Field and Defining Polynomial
FunctionField(E) : CrvEll -> FldFun
DefiningPolynomial(E) : CrvEll -> RngMPolElt
Torsion Polynomials
DivisionFunction(E, n) : Fld, RngIntElt -> RngFunOrdElt
DivisionPolynomial(E, n) : CrvEll, RngIntElt -> RngUPolElt, RngUPolElt, RngUPolElt
TwoTorsionPolynomial(E) : CrvEll -> RngMPolElt
Example CrvEll_DivisionPolynomial (H91E19)
Invariants of Curves over Q
Conductor(E) : CrvEll -> RngIntElt
BadPrimes(E) : CrvEll -> [ RngIntElt ]
TamagawaNumber(E, p) : CrvEll, RngIntElt -> RngIntElt
TamagawaNumbers(E) : CrvEll -> [ RngIntElt ]
LocalInformation(E, p) : CrvEll, RngIntElt -> <RngIntElt, RngIntElt, RngIntElt, RngIntElt, SymKod>
LocalInformation(E) : CrvEll, RngIntElt -> [ Tup ]
ReductionType(E, p) : CrvEll, RngIntElt -> MonStgElt
Kodaira Symbols
KodairaSymbol(E, p) : CrvEll, RngIntElt -> SymKod
KodairaSymbols(E) : CrvEll -> [ SymKod ]
KodairaSymbol(s) : MonStgElt -> SymKod
h eq k : SymKod, SymKod -> BoolElt
h ne k : SymKod, SymKod -> BoolElt
Example CrvEll_Kodaira (H91E20)
Mordell--Weil Group
Rank(H: parameters) : SetPtEll -> RngIntElt
RankBounds(H: parameters) : SetPtEll -> RngIntElt, RngIntElt
AbelianGroup(H: parameters) : SetPtEll -> GrpAb, Map
TorsionSubgroup(H) : SetPtEll -> GrpAb, Map
Generators(H) : SetPtEll -> [ PtEll ]
NumberOfGenerators(H) : SetPtEll -> RngIntElt
Example CrvEll_MordellWeil (H91E21)
Example CrvEll_Rank (H91E22)
Heights and Height Pairing
NaiveHeight(P) : PtEll -> FldPrElt
Height(P: parameters) : PtEll -> FldPrElt
LocalHeight(P, p) : PtEll, RngIntElt -> FldPrElt
HeightPairing(P, Q: parameters) : PtEll, PtEll -> FldPrElt
Regulator(S) : [ PtEll ] -> FldPrElt
Regulator(H) : SetPtEll -> FldPrElt
Example CrvEll_FunWithHeights (H91E23)
SilvermanBound(H) : SetPtEll -> FldPrElt
SiksekBound(H: parameters) : SetPtEll -> FldPrElt
Example CrvEll_Bounds (H91E24)
IsLinearlyIndependent(P, Q) : PtEll, PtEll -> BoolElt, ModTupElt
IsLinearlyIndependent(S) : [ PtEll ] -> BoolElt, ModTupElt
Example CrvEll_LinearIndependence (H91E25)
Periods and Elliptic Logarithms
Periods(E: parameters) : CrvEll -> [ FldPrElt ]
RealPeriod(E: parameters) : CrvEll -> FldPrElt
EllipticLogarithm(P: parameters): PtEll -> FldPrElt
pAdicEllipticLogarithm(P, p: parameters): PtEll, RngIntElt -> FldLocElt
Integral and S-integral Points
Integral Points
IntegralPoints(E) : CrvEll -> [ PtEll ], [ Tup ]
Example CrvEll_IntegralPoints (H91E26)
IntegralQuarticPoints(Q) : [ RngIntElt ] -> [ SeqEnum ]
IntegralQuarticPoints(Q, P) : [ RngIntElt ], [ RngIntElt ] -> [ SeqEnum ]
Example CrvEll_IntegralPointsSequence (H91E27)
S-integral Points
SIntegralPoints(E, S) : CrvEll, SeqEnum -> [ PtEll ], [ Tup ]
Example CrvEll_SIntegralPoints (H91E28)
SIntegralQuarticPoints(Q, S) : [ RngIntElt ], [ RngIntElt ] -> [ SeqEnum ]
SIntegralLjunggrenPoints(Q, S) : [ RngIntElt ], [ RngIntElt ] -> [ SeqEnum ]
SIntegralDesbovesPoints(Q, S) : [ RngIntElt ], [ RngIntElt ] -> [ SeqEnum ]
Example CrvEll_Desboves (H91E29)
Elliptic Curve Database
CremonaDatabase(: parameters) : -> DB
SetBufferSize(D, n) : DB, RngIntElt ->
LargestConductor(D) : DB -> RngIntElt
ConductorRange(D) : DB -> RngIntElt, RngIntElt
# D : DB -> RngIntElt
NumberOfCurves(D, N) : DB, RngIntElt -> RngIntElt
NumberOfCurves(D, N, i) : DB, RngIntElt, RngIntElt -> RngIntElt
NumberOfIsogenyClasses(D, N) : DB, RngIntElt -> RngIntElt
EllipticCurve(D, N, I, J): DB, RngIntElt, RngIntElt, RngIntElt -> CrvEll
EllipticCurve(D, S): DB, RngIntElt, MonStgElt -> CrvEll
Random(D) : DB -> CrvEll
CremonaReference(D, E) : CrvEll -> MonStgElt
Example CrvEll_ecdb1 (H91E30)
EllipticCurves(D, N, I) : DB, RngIntElt, RngIntElt -> [ CrvEll ]
EllipticCurves(D, N) : DB, RngIntElt -> [ CrvEll ]
EllipticCurves(D, S) : DB, MonStgElt -> [ CrvEll ]
EllipticCurves(D) : DB -> [ CrvEll ]
Example CrvEll_ecdb2 (H91E31)
Reduction
Reduction(E, p) : CrvEll, RngOrdIdl -> CrvEll, Map
Torsion Information
TorsionBound(E, n) : CrvEll, RngIntElt -> RngIntElt
pPowerTorsion(E, p) : CrvEll, RngIntElt -> GrpAb, Map
TorsionSubgroup(E) : CrvEll -> GrpAb, Map
Multiplicative Groups of Number Fields and Etale Algebras
AbsoluteAlgebra(A) : RngUPolRes -> SetCart, Map
pSelmerGroup(A, p, S) : RngUPolRes, RngIntElt, SetEnum[RngOrdIdl] -> GrpAb, Map
LocalTwoSelmerMap(P) : RngOrdIdl -> Map
LocalTwoSelmerMap(A, P) : RngUPolRes, RngOrdIdl -> Map, SeqEnum
Example CrvEll_selmer-etale (H91E32)
Selmer Groups
IsogenyMu(phi) : Map -> Map, Map
SelmerGroup(phi) : Map -> GrpAb, Map, SetEnum
RankBound(phi) : Map -> RngIntElt
Example CrvEll_selmer (H91E33)
Example CrvEll_selmer2 (H91E34)
Example CrvEll_selmer3 (H91E35)
Predicates for Supersingularity
IsSupersingular(E: parameters) : CrvEll -> BoolElt
IsProbablySupersingular(E) : CrvEll -> BoolElt
IsOrdinary(E) : CrvEll -> BoolElt
Enumeration of Points
Random(H): SetPtEll -> PtEll
Point Counting
# H: SetPtEll -> RngIntElt
FactoredOrder(H) : SetPtEll -> RngIntElt
SEA(H: parameters) : SetPtEll -> RngIntElt
Example CrvEll_SEA (H91E36)
SetVerbose("SEA", v) : MonStgElt, RngIntElt ->
Order(H, r) : SetPtEll, RngIntElt -> RngIntElt
Trace(H): SetPtEll -> RngIntElt
Trace(H, r): SetPtEll, RngIntElt -> RngIntElt
Example CrvEll_Order (H91E37)
Example CrvEll_Twists (H91E38)
ZetaFunction(E) : CrvEll -> FldFunRatUElt
Example CrvEll_Invariants to Read (H91E39)
Abelian Group Structure
AbelianGroup(H) : SetPtEll -> GrpAb, Map
Generators(H) : SetPtEll -> [ PtEll ]
NumberOfGenerators(H) : SetPtEll -> RngIntElt
Example CrvEll_AbelianGroup (H91E40)
Discrete Logarithms
Log(Q, P) : PtEll, PtEll -> RngIntElt
Log(Q, P, t) : PtEll, PtEll, RngIntElt -> RngIntElt
Example CrvEll_ECDL (H91E41)
Creation Functions
Morphism(E, F, psi, phi, omega) : CrvEll, CrvEll, RngMPolElt, RngMPolElt, RngMPolElt -> Map
Example CrvEll_Isogeny (H91E42)
Isomorphism(E, F, [r, s, t, u]) : CrvEll, CrvEll, Seq -> Map
Isomorphism(E, F) : CrvEll, CrvEll -> Map
Automorphism(E, [r, s, t, u]) : CrvEll, Seq -> Map
IsomorphismData(I) : Map -> [ RngElt ]
Example CrvEll_Isomorphisms (H91E43)
IsIsomorphism(I) : Map -> BoolElt, Map
IsomorphismToIsogeny(I) : Map -> Map
Example CrvEll_Isomorphism (H91E44)
TranslationMap(E, P) : CrvEll, PtEll -> Map
RationalMap(i, t) : Map, Map -> Map
TwoIsogeny(P) : PtEll -> Map
Example CrvEll_Map (H91E45)
IsogenyFromKernel(G) : CrvEllSubgroup -> CrvEll, Map
IsogenyFromKernelFactored(G) : CrvEllSubgroup -> CrvEll, Map
IsogenyFromKernel(E, psi) : CrvEll, RngUPolElt -> CrvEll, Map
IsogenyFromKernelFactored(E, psi) : CrvEllSubgroup -> CrvEll, Map
PushThroughIsogeny(I, v) : Map, RngUPolElt -> RngUPolElt
DualIsogeny(phi) : Map -> Map
Example CrvEll_DualIsogeny (H91E46)
Structure Operations
IsogenyMapPsi(I) : Map -> RngUPolElt
IsogenyMapPsiMulti(I) : Map -> RngUPolElt
IsogenyMapPsiSquared(I) : Map -> RngUPolElt
IsogenyMapPhi(I) : Map -> RngUPolElt
IsogenyMapPhiMulti(I) : Map -> RngUPolElt
IsogenyMapOmega(I) : Map -> RngMPolElt
Kernel(I) : Map -> CrvEllSubgroup
Degree(I) : Map -> RngIntElt
The Endomorphism Ring
MultiplicationByMMap(E, m) : CrvEll, RngIntElt -> Map
IdentityIsogeny(E) : CrvEll -> Map
IdentityMap(E) : CrvEll -> Map
FrobeniusMap(E, i) : CrvEll, RngIntElt -> Map
FrobeniusMap(E) : CrvEll -> Map
Example CrvEll_Frobenius (H91E47)
The Automorphism Group
IdentityMap(E) : CrvEll -> Map
NegationMap(E) : CrvEll -> Map
f * g : Map, Map -> Map