ELLIPTIC CURVES
Acknowledgements Introduction
Creation Functions
Creation of an Elliptic Curve
Creation Predicates
Changing the Base Ring
Alternative Models
Predicates on Curve Models
Twists of Elliptic Curves
Operations on Curves
Elementary Invariants
Associated Structures
Predicates on Elliptic Curves
Polynomials
Subgroup Schemes
Creation of Subgroup Schemes
Associated Structures
Predicates on Subgroup Schemes
Points of Subgroup Schemes
The Formal Group
Operations on Point Sets
Creation of Point Sets
Associated Structures
Predicates on Point Sets
Morphisms
Creation Functions
Predicates on Isogenies
Structure Operations
Endomorphisms
Automorphisms
Operations on Points
Creation of Points
Creation Predicates
Access Operations
Associated Structures
Arithmetic
Division Points
Point Order
Predicates on Points
Weil Pairing
Bibliography
Introduction
Creation Functions
Creation of an Elliptic Curve
EllipticCurve([a, b]) : [ RngElt ] -> CrvEll
EllipticCurve(f) : RngUPolElt -> CrvEll
EllipticCurveFromjInvariant(j) : RngElt -> CrvEll
Example CrvEll_Creation (H131E1)
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 (H131E2)
Example CrvEll_CreationFromCurve2 (H131E3)
Creation Predicates
IsEllipticCurve([a, b]) : [ RngElt ] -> BoolElt, CrvEll
IsEllipticCurve(C) : CrvHyp -> BoolElt, CrvEll, MapIsoSch, MapIsoSch
Example CrvEll_CreationTest (H131E4)
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 (H131E5)
Alternative Models
WeierstrassModel(E) : CrvEll -> CrvEll, Map, Map
IntegralModel(E) : CrvEll -> CrvEll, Map, Map
SimplifiedModel(E): CrvEll -> CrvEll, Map, Map
MinimalModel(E) : CrvEll -> CrvEll, Map, Map
MinimalModel(E, p) : CrvEll, RngIntElt -> CrvEll, Map, Map
Predicates on Curve Models
IsWeierstrassModel(E) : CrvEll -> BoolElt
IsIntegralModel(E) : CrvEll -> BoolElt
IsSimplifiedModel(E) : CrvEll -> BoolElt
IsMinimalModel(E) : CrvEll -> BoolElt
IsIntegralModel(E, P) : CrvEll, RngOrdIdl -> BoolElt
Example CrvEll_Models (H131E6)
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 (H131E7)
IsTwist(E, F) : CrvEll, CrvEll -> BoolElt
IsQuadraticTwist(E, F) : CrvEll, CrvEll -> BoolElt, RngElt
Example CrvEll_NonquadraticTwists (H131E8)
MinimalQuadraticTwist(E) : CrvEll -> CrvEll, RngIntElt
Example CrvEll_min_twist (H131E9)
Operations on Curves
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 (H131E10)
Example CrvEll_GenericCurve (H131E11)
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[FldRat], CrvEll[FldRat] -> BoolElt, Map
Example CrvEll_Twists2 (H131E12)
Polynomials
DefiningPolynomial(E) : CrvEll -> RngMPolElt
DivisionPolynomial(E, n) : CrvEll, RngIntElt -> RngUPolElt, RngUPolElt, RngUPolElt
TwoTorsionPolynomial(E) : CrvEll -> RngMPolElt
Example CrvEll_DivisionPolynomial (H131E13)
Subgroup Schemes
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 (H131E14)
The Formal Group
FormalGroupLaw(E, prec) : CrvEll, RngIntElt -> RngMPolElt
FormalGroupHomomorphism(phi, prec) : MapSch, RngIntElt -> RngSerPowElt
FormalLog(E) : CrvEll -> RngSerPowElt, PtEll
Operations on Point Sets
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 (H131E15)
Morphisms
Creation Functions
Example CrvEll_Isogeny (H131E16)
Isomorphism(E, F, [r, s, t, u]) : CrvEll, CrvEll, SeqEnum -> Map
Isomorphism(E, F) : CrvEll, CrvEll -> Map
Automorphism(E, [r, s, t, u]) : CrvEll, SeqEnum -> Map
IsomorphismData(I) : Map -> [ RngElt ]
Example CrvEll_Isomorphisms (H131E17)
IsIsomorphism(I) : Map -> BoolElt, Map
IsomorphismToIsogeny(I) : Map -> Map
Example CrvEll_Isomorphism (H131E18)
TranslationMap(E, P) : CrvEll, PtEll -> Map
RationalMap(i, t) : Map, Map -> Map
TwoIsogeny(P) : PtEll -> Map
Example CrvEll_Map (H131E19)
IsogenyFromKernel(G) : SchGrpEll -> CrvEll, Map
IsogenyFromKernelFactored(G) : SchGrpEll -> CrvEll, Map
IsogenyFromKernel(E, psi) : CrvEll, RngUPolElt -> CrvEll, Map
IsogenyFromKernelFactored(E, psi) : SchGrpEll, RngUPolElt -> CrvEll, Map
PushThroughIsogeny(I, v) : Map, RngUPolElt -> RngUPolElt
DualIsogeny(phi) : Map -> Map
Example CrvEll_DualIsogeny (H131E20)
Predicates on Isogenies
IsZero(I) : Map -> BoolElt
I eq J : Map, Map -> BoolElt
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 -> SchGrpEll
Degree(I) : Map -> RngIntElt
Endomorphisms
MultiplicationByMMap(E, m) : CrvEll, RngIntElt -> Map
IdentityIsogeny(E) : CrvEll -> Map
IdentityMap(E) : CrvEll -> Map
NegationMap(E) : CrvEll -> Map
FrobeniusMap(E, i) : CrvEll, RngIntElt -> Map
FrobeniusMap(E) : CrvEll -> Map
Example CrvEll_Frobenius (H131E21)
Automorphisms
AutomorphismGroup(E) : CrvEll -> Grp, Map
Automorphisms(E) : CrvEll -> SeqEnum
Operations on Points
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 ->
Division Points
P / n : PtEll, RngIntElt -> PtEll
P /:= n : PtEll, RngIntElt ->
DivisionPoints(P, n) : PtEll, RngIntElt -> [ PtEll ]
IsDivisibleBy(P, n) : PtEll, RngIntElt -> BoolElt, PtEll
Example CrvEll_PointArithmetic1 (H131E22)
Example CrvEll_PointArithmetic2 (H131E23)
Example CrvEll_GenericPoint (H131E24)
Point Order
Order(P) : PtEll -> RngIntElt
FactoredOrder(P) : PtEll -> RngIntElt
Example CrvEll_PlayWithPoints (H131E25)
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
Example CrvEll_PointPredicates (H131E26)
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 (H131E27)
Bibliography
[Next][Prev] [Right] [____] [Up] [Index] [Root]
|