Home | Trees | Index | Help |
|
---|
Package sage :: Package ellcurve :: Module ellcurve :: Class EllipticCurve_generic |
|
object
--+ |EllipticCurve
--+ | EllipticCurve_generic
EllipticCurve_RationalField
Method Summary | |
---|---|
__init__(self,
ainvs,
extra)
| |
Create a point on the elliptic curve, if possible. | |
Returns True if and only if P defines is a point on the elliptic curve. | |
__getitem__(self,
n)
| |
String representation of elliptic curve. | |
EXAMPLES: | |
EXAMPLES: | |
EXAMPLES: | |
EXAMPLES: | |
EXAMPLES: | |
The a-invariants of this elliptic curve. | |
The a-invariants of this elliptic curve. | |
The b-invariants of this elliptic curve. | |
Returns the base ring of the elliptic curves. | |
Returns the base ring of the elliptic curves. | |
The c-invariants of this elliptic curve. | |
Returns the discriminant of this elliptic curve. | |
Returns the n-th torsion polynomial (a.k.a., division polynomial). | |
gens(self)
| |
Returns the j-invariant of this elliptic curve. | |
quadratic_twist(self,
D)
| |
Returns the n-th torsion polynomial (a.k.a., division polynomial). | |
weierstrass_model(self)
| |
Inherited from EllipticCurve | |
(Static method) | |
Inherited from object | |
x.__delattr__('name') <==> del x.name | |
x.__getattribute__('name') <==> x.name | |
x.__hash__() <==> hash(x) | |
helper for pickle | |
helper for pickle | |
x.__setattr__('name', value) <==> x.name = value | |
x.__str__() <==> str(x) |
Instance Method Details |
---|
__call__(self,
x=Infinity,
y=Infinity)
|
__contains__(self,
P)
|
__repr__(self)
|
a1(self)EXAMPLES:>>> E = EllipticCurve([1,2,3,4,6]) >>> E.a1() 1 |
a2(self)EXAMPLES:>>> E = EllipticCurve([1,2,3,4,6]) >>> E.a2() 2 |
a3(self)EXAMPLES:>>> E = EllipticCurve([1,2,3,4,6]) >>> E.a3() 3 |
a4(self)EXAMPLES:>>> E = EllipticCurve([1,2,3,4,6]) >>> E.a4() 4 |
a6(self)EXAMPLES:>>> E = EllipticCurve([1,2,3,4,6]) >>> E.a6() 6 |
a_invariants(self)The a-invariants of this elliptic curve. EXAMPLES:>>> E = EllipticCurve([1,2,3,4,5]) >>> E.a_invariants() [1, 2, 3, 4, 5] >>> E = EllipticCurve([0,1]) >>> E Elliptic Curve defined by y^2 = x^3 +1 over Rational Field >>> E.a_invariants() [0, 0, 0, 0, 1] >>> E = EllipticCurve([GF(7)(3),5]) >>> E.a_invariants() [0, 0, 0, 3, 5] |
ainvs(self)The a-invariants of this elliptic curve. EXAMPLES:>>> E = EllipticCurve([1,2,3,4,5]) >>> E.a_invariants() [1, 2, 3, 4, 5] >>> E = EllipticCurve([0,1]) >>> E Elliptic Curve defined by y^2 = x^3 +1 over Rational Field >>> E.a_invariants() [0, 0, 0, 0, 1] >>> E = EllipticCurve([GF(7)(3),5]) >>> E.a_invariants() [0, 0, 0, 3, 5] |
b_invariants(self)The b-invariants of this elliptic curve. EXAMPLES:>>> E = EllipticCurve([0, -1, 1, -10, -20]) >>> E.b_invariants() (-4, -20, -79, -21) >>> E = EllipticCurve([-4,0]) >>> E.b_invariants() (0, -8, 0, -16) ALGORITHM: These are simple functions of the a invariants. AUTHOR: William Stein, 2005-04-25 |
base_field(self)Returns the base ring of the elliptic curves. EXAMPLES:>>> E = EllipticCurve([GF(49)(3),5]) >>> E.base_ring() Finite field of size 7^2 >>> E = EllipticCurve([1,1]) >>> E.base_ring() Rational Field >>> E = EllipticCurve(ZZ, [3,5]) >>> E.base_ring() Integer Ring |
base_ring(self)Returns the base ring of the elliptic curves. EXAMPLES:>>> E = EllipticCurve([GF(49)(3),5]) >>> E.base_ring() Finite field of size 7^2 >>> E = EllipticCurve([1,1]) >>> E.base_ring() Rational Field >>> E = EllipticCurve(ZZ, [3,5]) >>> E.base_ring() Integer Ring |
c_invariants(self)The c-invariants of this elliptic curve. EXAMPLES:>>> E = EllipticCurve([0, -1, 1, -10, -20]) >>> E.c_invariants() (496, 20008) >>> E = EllipticCurve([-4,0]) >>> E.c_invariants() (192, 0) ALGORITHM: These are simple functions of the b invariants. AUTHOR: William Stein, 2005-04-25 |
discriminant(self)Returns the discriminant of this elliptic curve. EXAMPLES:>>> E = EllipticCurve([0,0,1,-1,0]) >>> E.discriminant() 37 >>> E = EllipticCurve([0, -1, 1, -10, -20]) >>> E.discriminant() -161051 >>> E = EllipticCurve([GF(7)(2),1]) >>> E.discriminant() 1 |
division_polynomial(self, n, i=0)Returns the n-th torsion polynomial (a.k.a., division polynomial). INPUT: n -- non-negative integer i -- integer, either 0 (default) or 1. OUTPUT: Polynomial -- n-th torsion polynomial, which is a polynomial over the base field of the elliptic curve. EXAMPLES: >>> E = EllipticCurve([0,0,1,-1,0]) >>> E.division_polynomial(1) 1 >>> E.division_polynomial(2) 4*x^3 - 4*x + 1 >>> E.division_polynomial(3) 3*x^4 - 6*x^2 + 3*x - 1 >>> E = EllipticCurve([0, -1, 1, -10, -20]) >>> E.torsion_polynomial(0) 0 >>> E.torsion_polynomial(1) 1 >>> E.torsion_polynomial(2) 4*x^3 - 4*x^2 - 40*x - 79 >>> E.torsion_polynomial(3) 3*x^4 - 4*x^3 - 60*x^2 - 237*x - 21 >>> E.torsion_polynomial(4) 8*x^9 - 24*x^8 - 464*x^7 - 2758*x^6 + 6636*x^5 + 34356*x^4 + 53510*x^3 + 99714*x^2 + 351024*x + 459859 >>> E = EllipticCurve([-4,0]) >>> E.torsion_polynomial(2) 4*x^3 - 16*x >>> E.torsion_polynomial(5) 5*x^12 - 248*x^10 - 1680*x^8 + 19200*x^6 - 32000*x^4 + 51200*x^2 + 4096 >>> E.torsion_polynomial(6) 12*x^19 - 1200*x^17 - 18688*x^15 + 422912*x^13 - 2283520*x^11 + 9134080*x^9 - 27066368*x^7 + 19136512*x^5 + 19660800*x^3 - 3145728*x ALGORITHM: ? AUTHOR: Copyright 2005, David Kohel (kohel@maths.usyd.edu.au), 2005-04-25 |
j_invariant(self)Returns the j-invariant of this elliptic curve. EXAMPLES:>>> E = EllipticCurve([0,0,1,-1,0]) >>> E.j_invariant() 110592/37 >>> E = EllipticCurve([0, -1, 1, -10, -20]) >>> E.j_invariant() -122023936/161051 >>> E = EllipticCurve([-4,0]) >>> E.j_invariant() 1728 >>> E = EllipticCurve([GF(7)(2),1]) >>> E.j_invariant() 1 |
torsion_polynomial(self, n, i=0)Returns the n-th torsion polynomial (a.k.a., division polynomial). INPUT: n -- non-negative integer i -- integer, either 0 (default) or 1. OUTPUT: Polynomial -- n-th torsion polynomial, which is a polynomial over the base field of the elliptic curve. EXAMPLES: >>> E = EllipticCurve([0,0,1,-1,0]) >>> E.division_polynomial(1) 1 >>> E.division_polynomial(2) 4*x^3 - 4*x + 1 >>> E.division_polynomial(3) 3*x^4 - 6*x^2 + 3*x - 1 >>> E = EllipticCurve([0, -1, 1, -10, -20]) >>> E.torsion_polynomial(0) 0 >>> E.torsion_polynomial(1) 1 >>> E.torsion_polynomial(2) 4*x^3 - 4*x^2 - 40*x - 79 >>> E.torsion_polynomial(3) 3*x^4 - 4*x^3 - 60*x^2 - 237*x - 21 >>> E.torsion_polynomial(4) 8*x^9 - 24*x^8 - 464*x^7 - 2758*x^6 + 6636*x^5 + 34356*x^4 + 53510*x^3 + 99714*x^2 + 351024*x + 459859 >>> E = EllipticCurve([-4,0]) >>> E.torsion_polynomial(2) 4*x^3 - 16*x >>> E.torsion_polynomial(5) 5*x^12 - 248*x^10 - 1680*x^8 + 19200*x^6 - 32000*x^4 + 51200*x^2 + 4096 >>> E.torsion_polynomial(6) 12*x^19 - 1200*x^17 - 18688*x^15 + 422912*x^13 - 2283520*x^11 + 9134080*x^9 - 27066368*x^7 + 19136512*x^5 + 19660800*x^3 - 3145728*x ALGORITHM: ? AUTHOR: Copyright 2005, David Kohel (kohel@maths.usyd.edu.au), 2005-04-25 |
Home | Trees | Index | Help |
|
---|
Generated by Epydoc 2.1 on Fri Jun 24 17:58:45 2005 | http://epydoc.sf.net |