83
83
next_prime = arith .next_prime
84
84
85
85
Q = RationalField ()
86
- Z = IntegerRing ()
87
86
C = ComplexField ()
88
87
R = RealField ()
89
88
@@ -113,15 +112,15 @@ def __init__(self, ainvs, extra=None):
113
112
raise TypeError , "Base field (=%s) must be the Rational Field." % self .base_ring ()
114
113
115
114
def _set_rank (self , r ):
116
- self .__rank = r
115
+ self .__rank = Integer ( r )
117
116
def _set_torsion_order (self , t ):
118
- self .__torsion_order = t
117
+ self .__torsion_order = Integer ( t )
119
118
def _set_cremona_label (self , L ):
120
119
self .__cremona_label = L
121
120
def _set_conductor (self , N ):
122
- self .__conductor_pari = Z (N )
121
+ self .__conductor_pari = Integer (N )
123
122
def _set_modular_degree (self , deg ):
124
- self .__modular_degree = deg
123
+ self .__modular_degree = Integer ( deg )
125
124
126
125
def _set_gens (self , gens ):
127
126
self .__gens = [self .point (x , check = True ) for x in gens ]
@@ -132,7 +131,7 @@ def is_integral(self):
132
131
try :
133
132
return self .__is_integral
134
133
except AttributeError :
135
- one = Z (1 )
134
+ one = Integer (1 )
136
135
self .__is_integral = bool (misc .mul ([x .denominator () == 1 for x in self .ainvs ()]))
137
136
return self .__is_integral
138
137
@@ -194,24 +193,24 @@ def conductor(self, algorithm="pari"):
194
193
try :
195
194
return self .__conductor_pari
196
195
except AttributeError :
197
- self .__conductor_pari = Z (self .pari_mincurve ().ellglobalred ()[0 ])
196
+ self .__conductor_pari = Integer (self .pari_mincurve ().ellglobalred ()[0 ])
198
197
return self .__conductor_pari
199
198
200
199
elif algorithm == "gp" :
201
200
try :
202
201
return self .__conductor_gp
203
202
except AttributeError :
204
- self .__conductor_gp = Z (gp .eval ('ellglobalred(ellinit(%s,0))[1]' % self .a_invariants ()))
203
+ self .__conductor_gp = Integer (gp .eval ('ellglobalred(ellinit(%s,0))[1]' % self .a_invariants ()))
205
204
return self .__conductor_gp
206
205
207
206
elif algorithm == "mwrank" :
208
207
try :
209
208
return self .__conductor_mwrank
210
209
except AttributeError :
211
210
if self .is_integral ():
212
- self .__conductor_mwrank = Z (self .mwrank_curve ().conductor ())
211
+ self .__conductor_mwrank = Integer (self .mwrank_curve ().conductor ())
213
212
else :
214
- self .__conductor_mwrank = Z (self .minimal_model ().mwrank_curve ().conductor ())
213
+ self .__conductor_mwrank = Integer (self .minimal_model ().mwrank_curve ().conductor ())
215
214
return self .__conductor_mwrank
216
215
217
216
elif algorithm == "all" :
@@ -2297,11 +2296,26 @@ def cremona_label(self, space=False):
2297
2296
return self .cremona_label (space )
2298
2297
2299
2298
def label (self ):
2299
+ r"""
2300
+ Exactly the same as the \code{cremona_label()} command.
2301
+ """
2300
2302
return self .cremona_label ()
2301
2303
2302
2304
def torsion_order (self ):
2303
2305
"""
2304
2306
Return the order of the torsion subgroup.
2307
+
2308
+ EXAMPLES:
2309
+ sage: e = EllipticCurve('11a')
2310
+ sage: e.torsion_order()
2311
+ 5
2312
+ sage: type(e.torsion_order())
2313
+ <type 'sage.rings.integer.Integer'>
2314
+ sage: e = EllipticCurve([1,2,3,4,5])
2315
+ sage: e.torsion_order()
2316
+ 1
2317
+ sage: type(e.torsion_order())
2318
+ <type 'sage.rings.integer.Integer'>
2305
2319
"""
2306
2320
try :
2307
2321
return self .__torsion_order
@@ -3036,7 +3050,7 @@ def sha_an(self, use_database=False):
3036
3050
T = E .torsion_subgroup ().order ()
3037
3051
Sha = (L1_over_omega * T * T ) / Q (E .tamagawa_product ())
3038
3052
try :
3039
- Sha = Z (Sha )
3053
+ Sha = Integer (Sha )
3040
3054
except ValueError :
3041
3055
raise RuntimeError , \
3042
3056
"There is a bug in sha_an, since the computed conjectural order of Sha is %s, which is not an integer." % Sha
@@ -3060,7 +3074,7 @@ def sha_an(self, use_database=False):
3060
3074
omega = E .omega ()
3061
3075
Sha = int (round ( (L1 * T * T ) / (E .tamagawa_product () * regulator * omega ) ))
3062
3076
try :
3063
- Sha = Z (Sha )
3077
+ Sha = Integer (Sha )
3064
3078
except ValueError :
3065
3079
raise RuntimeError , \
3066
3080
"There is a bug in sha_an, since the computed conjectural order of Sha is %s, which is not an integer." % Sha
0 commit comments