Creation of an Elliptic Curve
EllipticCurve([a,b]) : [ RngElt ] -> CrvEll
EllipticCurve(j) : RngElt -> CrvEll
EllipticCurve(C) : CrvHyp -> CrvEll, Map, Map
EllipticCurve(C) : Crv -> CrvEll, Map, Map
EllipticCurve(C, P) : Crv, Pt -> CrvEll, Map, Map
SupersingularEllipticCurve(K) : FldFin -> CrvEll
Creation Predicates
IsEllipticCurve([a,b]) : [ RngElt ] -> BoolElt, CrvEll
IsEllipticCurve(C) : CrvHyp -> BoolElt, CrvEll, Map, Map
Example CrvEll_Creation (H85E1)
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 (H85E2)
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
Example CrvEll_Models (H85E3)
Twisting Elliptic Curves
QuadraticTwist(E, d) : CrvEll, RngElt -> CrvEll
QuadraticTwist(E) : CrvEll -> CrvEll
QuadraticTwists(E) : CrvEll -> SeqEnum
Twists(E) : CrvEll -> SeqEnum
Example CrvEll_Twists (H85E4)
Elementary Invariants
aInvariants(E) : CrvEll -> [ RngElt ]
bInvariants(E) : CrvEll -> [ RngElt ]
cInvariants(E) : CrvEll -> [ RngElt ]
Discriminant(E) : CrvEll -> RngElt
jInvariant(E) : CrvEll -> RngElt
Example CrvEll_Invariants (H85E5)
Example CrvEll_GenericCurve (H85E6)
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 (H85E7)
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 (H85E8)
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 (H85E9)
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 ->
Example CrvEll_PointArithmetic (H85E10)
Example CrvEll_GenericPoint (H85E11)
Point Order
Order(P) : PtEll -> RngIntElt
FactoredOrder(P) : PtEll -> RngIntElt
Example CrvEll_PlayWithPoints (H85E12)
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 (H85E13)
Function Field and Polynomial Ring
FunctionField(E) : CrvEll -> FldFun
EquationOrder(E) : CrvEll -> RngOrdFun
PolynomialRing(E) : CrvEll -> RngMPol, Map
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 (H85E14)
Invariants of Rational Curves
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 ]
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 (H85E15)
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
H . i : SetPtEll, RngIntElt -> PtEll
Example CrvEll_MordellWeil (H85E16)
Example CrvEll_Rank (H85E17)
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
SilvermanBound(H) : SetPtEll -> FldPrElt
Regulator(S) : [ PtEll ] -> FldPrElt
Regulator(H: parameters) : SetPtEll -> FldPrElt
IsLinearlyIndependent(P, Q) : PtEll, PtEll -> BoolElt, ModTupElt
IsLinearlyIndependent(S) : [ PtEll ] -> BoolElt, ModTupElt
Example CrvEll_FunWithHeights (H85E18)
Example CrvEll_LinearIndependence (H85E19)
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 (H85E20)
IntegralQuarticPoints(Q) : [ RngIntElt ] -> [ SeqEnum ]
IntegralQuarticPoints(Q, P) : [ RngIntElt ], [ RngIntElt ] -> [ SeqEnum ]
Example CrvEll_IntegralPointsSequence (H85E21)
S-integral Points
SIntegralPoints(E, S) : CrvEll, SeqEnum -> [ PtEll ], [ Tup ]
Example CrvEll_SIntegralPoints (H85E22)
SIntegralQuarticPoints(Q, S) : [ RngIntElt ], [ RngIntElt ] -> [ SeqEnum ]
SIntegralLjunggrenPoints(Q, S) : [ RngIntElt ], [ RngIntElt ] -> [ SeqEnum ]
SIntegralDesbovesPoints(Q, S) : [ RngIntElt ], [ RngIntElt ] -> [ SeqEnum ]
Example CrvEll_Desboves (H85E23)
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 (H85E24)
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 (H85E25)
Predicates for Supersingularity
IsSupersingular(E: parameters) : CrvEll -> BoolElt
IsProbablySupersingular(E) : CrvEll -> BoolElt
IsOrdinary(E) : CrvEll -> BoolElt
Enumeration of Points
Points(H) : SetPtEll -> @ PtEll @
Random(H): SetPtEll -> PtEll
Point Counting
# H: SetPtEll -> RngIntElt
FactoredOrder(H) : SetPtEll -> RngIntElt
SEA(H: parameters) : SetPtEll -> RngIntElt
Example CrvEll_SEA (H85E26)
SetVerbose("SEA", v) : MonStgElt, RngIntElt ->
Order(H, r) : SetPtEll, RngIntElt -> RngIntElt
Trace(H): SetPtEll -> RngIntElt
Trace(H, r): SetPtEll, RngIntElt -> RngIntElt
Example CrvEll_Order (H85E27)
Example CrvEll_Twists (H85E28)
ZetaFunction(E) : CrvEll -> FldFunRatUElt
Example CrvEll_Invariants (H85E29)
Abelian Group Structure
AbelianGroup(H) : SetPtEll -> GrpAb, Map
Generators(H) : SetPtEll -> [ PtEll ]
NumberOfGenerators(H) : SetPtEll -> RngIntElt
H . i : SetPtEll, RngIntElt -> PtEll
Example CrvEll_AbelianGroup (H85E30)
Discrete Logarithms
Log(Q, P) : PtEll, PtEll -> RngIntElt
Log(Q, P, t) : PtEll, PtEll, RngIntElt -> RngIntElt
Example CrvEll_ECDL (H85E31)
Creation Functions
Morphism(E, F, psi, phi, omega) : CrvEll, CrvEll, RngMPolElt, RngMPolElt, RngMPolElt -> Map
Example CrvEll_Isogeny (H85E32)
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 (H85E33)
IsIsomorphism(I) : Map -> BoolElt, Map
IsomorphismToIsogeny(I) : Map -> Map
Example CrvEll_Isomorphism (H85E34)
TranslationMap(E, P) : CrvEll, PtEll -> Map
RationalMap(i, t) : CrvEll, PtEll -> Map
Example CrvEll_Map (H85E35)
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
Example CrvEll_DualIsogeny (H85E36)
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 (H85E37)
The Automorphism Group
IdentityMap(E) : CrvEll -> Map
NegationMap(E) : CrvEll -> Map
f * g : Map, Map -> Map