25
25
sage: F = AbelianGroup(5, [2,5,7,8,9], names='abcde')
26
26
sage: (a, b, c, d, e) = F.gens()
27
27
28
- sage: # needs sage.rings.number_field
29
28
sage: Fd = F.dual_group(names='ABCDE')
30
29
sage: Fd.base_ring()
31
30
Cyclotomic Field of order 2520 and degree 576
@@ -82,7 +81,6 @@ def is_DualAbelianGroup(x):
82
81
83
82
EXAMPLES::
84
83
85
- sage: # needs sage.rings.number_field
86
84
sage: from sage.groups.abelian_gps.dual_abelian_group import is_DualAbelianGroup
87
85
sage: F = AbelianGroup(5,[3,5,7,8,9], names=list("abcde"))
88
86
sage: Fd = F.dual_group()
@@ -105,7 +103,7 @@ class DualAbelianGroup_class(UniqueRepresentation, AbelianGroupBase):
105
103
EXAMPLES::
106
104
107
105
sage: F = AbelianGroup(5,[3,5,7,8,9], names="abcde")
108
- sage: F.dual_group() # needs sage.rings.number_field
106
+ sage: F.dual_group()
109
107
Dual of Abelian Group isomorphic to Z/3Z x Z/5Z x Z/7Z x Z/8Z x Z/9Z
110
108
over Cyclotomic Field of order 2520 and degree 576
111
109
@@ -123,7 +121,7 @@ def __init__(self, G, names, base_ring):
123
121
EXAMPLES::
124
122
125
123
sage: F = AbelianGroup(5,[3,5,7,8,9], names="abcde")
126
- sage: F.dual_group() # needs sage.rings.number_field
124
+ sage: F.dual_group()
127
125
Dual of Abelian Group isomorphic to Z/3Z x Z/5Z x Z/7Z x Z/8Z x Z/9Z
128
126
over Cyclotomic Field of order 2520 and degree 576
129
127
"""
@@ -180,9 +178,9 @@ def _repr_(self):
180
178
EXAMPLES::
181
179
182
180
sage: F = AbelianGroup(5, [2,5,7,8,9], names='abcde')
183
- sage: Fd = F.dual_group(names='ABCDE', # needs sage.rings.number_field
181
+ sage: Fd = F.dual_group(names='ABCDE',
184
182
....: base_ring=CyclotomicField(2*5*7*8*9))
185
- sage: Fd # indirect doctest # needs sage.rings.number_field
183
+ sage: Fd # indirect doctest
186
184
Dual of Abelian Group isomorphic to Z/2Z x Z/5Z x Z/7Z x Z/8Z x Z/9Z
187
185
over Cyclotomic Field of order 5040 and degree 1152
188
186
sage: Fd = F.dual_group(names='ABCDE', base_ring=CC) # needs sage.rings.real_mpfr
@@ -209,8 +207,8 @@ def _latex_(self):
209
207
EXAMPLES::
210
208
211
209
sage: F = AbelianGroup(3, [2]*3)
212
- sage: Fd = F.dual_group() # needs sage.rings.number_field
213
- sage: Fd._latex_() # needs sage.rings.number_field
210
+ sage: Fd = F.dual_group()
211
+ sage: Fd._latex_()
214
212
'$\\mathrm{DualAbelianGroup}( AbelianGroup ( 3, (2, 2, 2) ) )$'
215
213
"""
216
214
return r"$\mathrm{DualAbelianGroup}( AbelianGroup ( %s, %s ) )$" % (self .ngens (), self .gens_orders ())
@@ -251,7 +249,6 @@ def gen(self, i=0):
251
249
252
250
EXAMPLES::
253
251
254
- sage: # needs sage.rings.number_field
255
252
sage: F = AbelianGroup(3, [1,2,3], names='a')
256
253
sage: Fd = F.dual_group(names="A")
257
254
sage: Fd.0
@@ -279,8 +276,8 @@ def gens(self):
279
276
280
277
EXAMPLES::
281
278
282
- sage: F = AbelianGroup([7,11]).dual_group() # needs sage.rings.number_field
283
- sage: F.gens() # needs sage.rings.number_field
279
+ sage: F = AbelianGroup([7,11]).dual_group()
280
+ sage: F.gens()
284
281
(X0, X1)
285
282
"""
286
283
n = self .group ().ngens ()
@@ -293,8 +290,8 @@ def ngens(self):
293
290
EXAMPLES::
294
291
295
292
sage: F = AbelianGroup([7]*100)
296
- sage: Fd = F.dual_group() # needs sage.rings.number_field
297
- sage: Fd.ngens() # needs sage.rings.number_field
293
+ sage: Fd = F.dual_group()
294
+ sage: Fd.ngens()
298
295
100
299
296
"""
300
297
return self .group ().ngens ()
@@ -310,8 +307,8 @@ def gens_orders(self):
310
307
EXAMPLES::
311
308
312
309
sage: F = AbelianGroup([5]*1000)
313
- sage: Fd = F.dual_group() # needs sage.rings.number_field
314
- sage: invs = Fd.gens_orders(); len(invs) # needs sage.rings.number_field
310
+ sage: Fd = F.dual_group()
311
+ sage: invs = Fd.gens_orders(); len(invs)
315
312
1000
316
313
"""
317
314
return self .group ().gens_orders ()
@@ -325,8 +322,8 @@ def invariants(self):
325
322
EXAMPLES::
326
323
327
324
sage: F = AbelianGroup([5]*1000)
328
- sage: Fd = F.dual_group() # needs sage.rings.number_field
329
- sage: invs = Fd.gens_orders(); len(invs) # needs sage.rings.number_field
325
+ sage: Fd = F.dual_group()
326
+ sage: invs = Fd.gens_orders(); len(invs)
330
327
1000
331
328
"""
332
329
# TODO: deprecate
@@ -340,9 +337,9 @@ def __contains__(self, X):
340
337
341
338
sage: F = AbelianGroup(5,[2, 3, 5, 7, 8], names="abcde")
342
339
sage: a,b,c,d,e = F.gens()
343
- sage: Fd = F.dual_group(names="ABCDE") # needs sage.rings.number_field
344
- sage: A,B,C,D,E = Fd.gens() # needs sage.rings.number_field
345
- sage: A*B^2*D^7 in Fd # needs sage.rings.number_field
340
+ sage: Fd = F.dual_group(names="ABCDE")
341
+ sage: A,B,C,D,E = Fd.gens()
342
+ sage: A*B^2*D^7 in Fd
346
343
True
347
344
"""
348
345
return X .parent () == self and is_DualAbelianGroupElement (X )
@@ -354,8 +351,8 @@ def order(self):
354
351
EXAMPLES::
355
352
356
353
sage: G = AbelianGroup([2,3,9])
357
- sage: Gd = G.dual_group() # needs sage.rings.number_field
358
- sage: Gd.order() # needs sage.rings.number_field
354
+ sage: Gd = G.dual_group()
355
+ sage: Gd.order()
359
356
54
360
357
"""
361
358
G = self .group ()
@@ -368,10 +365,10 @@ def is_commutative(self):
368
365
EXAMPLES::
369
366
370
367
sage: G = AbelianGroup([2,3,9])
371
- sage: Gd = G.dual_group() # needs sage.rings.number_field
372
- sage: Gd.is_commutative() # needs sage.rings.number_field
368
+ sage: Gd = G.dual_group()
369
+ sage: Gd.is_commutative()
373
370
True
374
- sage: Gd.is_abelian() # needs sage.rings.number_field
371
+ sage: Gd.is_abelian()
375
372
True
376
373
"""
377
374
return True
@@ -384,8 +381,8 @@ def list(self):
384
381
EXAMPLES::
385
382
386
383
sage: G = AbelianGroup([2,3], names="ab")
387
- sage: Gd = G.dual_group(names="AB") # needs sage.rings.number_field
388
- sage: Gd.list() # needs sage.rings.number_field
384
+ sage: Gd = G.dual_group(names="AB")
385
+ sage: Gd.list()
389
386
(1, B, B^2, A, A*B, A*B^2)
390
387
"""
391
388
if not self .is_finite ():
@@ -400,8 +397,8 @@ def __iter__(self):
400
397
EXAMPLES::
401
398
402
399
sage: G = AbelianGroup([2,3], names="ab")
403
- sage: Gd = G.dual_group(names="AB") # needs sage.rings.number_field
404
- sage: [X for X in Gd] # needs sage.rings.number_field
400
+ sage: Gd = G.dual_group(names="AB")
401
+ sage: [X for X in Gd]
405
402
[1, B, B^2, A, A*B, A*B^2]
406
403
407
404
sage: # needs sage.rings.real_mpfr
0 commit comments