[Next][Prev] [Right] [Left] [Up] [Index] [Root]

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







DETAILS

 
Introduction

 
Creation Functions

      Creation of an Elliptic Curve
            EllipticCurve([a, b]) : [ RngElt ] -> CrvEll
            EllipticCurve(f) : RngUPolElt -> CrvEll
            EllipticCurveFromjInvariant(j) : RngElt -> CrvEll
            Example CrvEll_Creation (H120E1)
            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 (H120E2)
            Example CrvEll_CreationFromCurve2 (H120E3)

      Creation Predicates
            IsEllipticCurve([a, b]) : [ RngElt ] -> BoolElt, CrvEll
            IsEllipticCurve(C) : CrvHyp -> BoolElt, CrvEll, MapIsoSch, MapIsoSch
            Example CrvEll_CreationTest (H120E4)

      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 (H120E5)

      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 (H120E6)

      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 (H120E7)
            IsTwist(E, F) : CrvEll, CrvEll -> BoolElt
            IsQuadraticTwist(E, F) : CrvEll, CrvEll -> BoolElt, RngElt
            Example CrvEll_NonquadraticTwists (H120E8)
            MinimalQuadraticTwist(E) : CrvEll -> CrvEll, RngIntElt
            Example CrvEll_min_twist (H120E9)

 
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 (H120E10)
            Example CrvEll_GenericCurve (H120E11)

      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 (H120E12)

 
Polynomials
      DefiningPolynomial(E) : CrvEll -> RngMPolElt
      DivisionPolynomial(E, n) : CrvEll, RngIntElt -> RngUPolElt, RngUPolElt, RngUPolElt
      TwoTorsionPolynomial(E) : CrvEll -> RngMPolElt
      Example CrvEll_DivisionPolynomial (H120E13)

 
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 (H120E14)

 
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 (H120E15)

 
Morphisms

      Creation Functions
            Example CrvEll_Isogeny (H120E16)
            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 (H120E17)
            IsIsomorphism(I) : Map -> BoolElt, Map
            IsomorphismToIsogeny(I) : Map -> Map
            Example CrvEll_Isomorphism (H120E18)
            TranslationMap(E, P) : CrvEll, PtEll -> Map
            RationalMap(i, t) : Map, Map -> Map
            TwoIsogeny(P) : PtEll -> Map
            Example CrvEll_Map (H120E19)
            IsogenyFromKernel(G) : SchGrpEll -> CrvEll, Map
            IsogenyFromKernelFactored(G) : SchGrpEll -> CrvEll, Map
            IsogenyFromKernel(E, psi) : CrvEll, RngUPolElt -> CrvEll, Map
            IsogenyFromKernelFactored(E, psi) : SchGrpEll -> CrvEll, Map
            PushThroughIsogeny(I, v) : Map, RngUPolElt -> RngUPolElt
            DualIsogeny(phi) : Map -> Map
            Example CrvEll_DualIsogeny (H120E20)

      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 (H120E21)

      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 (H120E22)
            Example CrvEll_PointArithmetic2 (H120E23)
            Example CrvEll_GenericPoint (H120E24)

      Point Order
            Order(P) : PtEll -> RngIntElt
            FactoredOrder(P) : PtEll -> RngIntElt
            Example CrvEll_PlayWithPoints (H120E25)

      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 (H120E26)

      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 (H120E27)

 
Bibliography

[Next][Prev] [Right] [____] [Up] [Index] [Root]
Version: V2.19 of Mon Dec 17 14:40:36 EST 2012