@@ -187,7 +187,7 @@ cdef class FunctionFieldElement(FieldElement):
187
187
188
188
Now an example in a nontrivial extension of a rational function field::
189
189
190
- sage: # needs sage. modules sage . rings. function_field
190
+ sage: # needs sage. rings. function_field
191
191
sage: K. <x> = FunctionField( QQ) ; R. <y> = K[]
192
192
sage: L. <y> = K. extension( y^ 2 - x* y + 4* x^ 3)
193
193
sage: y. matrix( )
@@ -199,7 +199,7 @@ cdef class FunctionFieldElement(FieldElement):
199
199
An example in a relative extension, where neither function
200
200
field is rational::
201
201
202
- sage: # needs sage. modules sage . rings. function_field
202
+ sage: # needs sage. rings. function_field
203
203
sage: K. <x> = FunctionField( QQ)
204
204
sage: R. <y> = K[]
205
205
sage: L. <y> = K. extension( y^ 2 - x* y + 4* x^ 3)
@@ -222,7 +222,7 @@ cdef class FunctionFieldElement(FieldElement):
222
222
We show that this matrix does indeed work as expected when making a
223
223
vector space from a function field::
224
224
225
- sage: # needs sage. modules sage . rings. function_field
225
+ sage: # needs sage. rings. function_field
226
226
sage: K. <x> = FunctionField( QQ)
227
227
sage: R. <y> = K[]
228
228
sage: L. <y> = K. extension( y^ 5 - ( x^ 3 + 2* x* y + 1/x))
@@ -254,7 +254,7 @@ cdef class FunctionFieldElement(FieldElement):
254
254
255
255
sage: K.<x> = FunctionField(QQ); R.<y> = K[]
256
256
sage: L.<y> = K.extension(y^2 - x*y + 4*x^3) # needs sage.rings.function_field
257
- sage: y.trace() # needs sage.modules sage. rings.function_field
257
+ sage: y.trace() # needs sage.rings.function_field
258
258
x
259
259
"""
260
260
return self .matrix().trace()
@@ -267,17 +267,17 @@ cdef class FunctionFieldElement(FieldElement):
267
267
268
268
sage: K.<x> = FunctionField(QQ); R.<y> = K[]
269
269
sage: L.<y> = K.extension(y^2 - x*y + 4*x^3) # needs sage.rings.function_field
270
- sage: y.norm() # needs sage.modules sage. rings.function_field
270
+ sage: y.norm() # needs sage.rings.function_field
271
271
4*x^3
272
272
273
273
The norm is relative::
274
274
275
275
sage: K.<x> = FunctionField(QQ); R.<y> = K[]
276
276
sage: L.<y> = K.extension(y^2 - x*y + 4*x^3); R.<z> = L[] # needs sage.rings.function_field
277
277
sage: M.<z> = L.extension(z^3 - y^2*z + x) # needs sage.rings.function_field
278
- sage: z.norm() # needs sage.modules sage. rings.function_field
278
+ sage: z.norm() # needs sage.rings.function_field
279
279
-x
280
- sage: z.norm().parent() # needs sage.modules sage. rings.function_field
280
+ sage: z.norm().parent() # needs sage.rings.function_field
281
281
Function field in y defined by y^2 - x*y + 4*x^3
282
282
"""
283
283
return self .matrix().determinant()
@@ -326,13 +326,15 @@ cdef class FunctionFieldElement(FieldElement):
326
326
EXAMPLES::
327
327
328
328
sage: K.<x> = FunctionField(QQ); R.<y> = K[]
329
- sage: L.<y> = K.extension(y^2 - x*y + 4*x^3); R.<z> = L[] # needs sage.rings.function_field
330
- sage: M.<z> = L.extension(z^3 - y^2*z + x) # needs sage.rings.function_field
331
329
sage: x.characteristic_polynomial('W') # needs sage.modules
332
330
W - x
333
- sage: y.characteristic_polynomial('W') # needs sage.modules sage.rings.function_field
331
+
332
+ sage: # needs sage.rings.function_field
333
+ sage: L.<y> = K.extension(y^2 - x*y + 4*x^3); R.<z> = L[]
334
+ sage: M.<z> = L.extension(z^3 - y^2*z + x)
335
+ sage: y.characteristic_polynomial('W')
334
336
W^2 - x*W + 4*x^3
335
- sage: z.characteristic_polynomial('W') # needs sage.modules sage.rings.function_field
337
+ sage: z.characteristic_polynomial('W')
336
338
W^3 + (-x*y + 4*x^3)*W + x
337
339
"""
338
340
return self .matrix().characteristic_polynomial(* args, ** kwds)
@@ -347,13 +349,15 @@ cdef class FunctionFieldElement(FieldElement):
347
349
EXAMPLES::
348
350
349
351
sage: K.<x> = FunctionField(QQ); R.<y> = K[]
350
- sage: L.<y> = K.extension(y^2 - x*y + 4*x^3); R.<z> = L[] # needs sage.rings.function_field
351
- sage: M.<z> = L.extension(z^3 - y^2*z + x) # needs sage.rings.function_field
352
352
sage: x.minimal_polynomial('W') # needs sage.modules
353
353
W - x
354
- sage: y.minimal_polynomial('W') # needs sage.modules sage.rings.function_field
354
+
355
+ sage: # needs sage.rings.function_field
356
+ sage: L.<y> = K.extension(y^2 - x*y + 4*x^3); R.<z> = L[]
357
+ sage: M.<z> = L.extension(z^3 - y^2*z + x)
358
+ sage: y.minimal_polynomial('W')
355
359
W^2 - x*W + 4*x^3
356
- sage: z.minimal_polynomial('W') # needs sage.modules sage.rings.function_field
360
+ sage: z.minimal_polynomial('W')
357
361
W^3 + (-x*y + 4*x^3)*W + x
358
362
"""
359
363
return self .matrix().minimal_polynomial(* args, ** kwds)
@@ -366,7 +370,7 @@ cdef class FunctionFieldElement(FieldElement):
366
370
367
371
EXAMPLES::
368
372
369
- sage: # needs sage. modules sage . rings. function_field
373
+ sage: # needs sage. rings. function_field
370
374
sage: K. <x> = FunctionField( QQ) ; R. <y> = K[]
371
375
sage: L. <y> = K. extension( y^ 2 - x* y + 4* x^ 3)
372
376
sage: y. is_integral( )
@@ -396,24 +400,25 @@ cdef class FunctionFieldElement(FieldElement):
396
400
397
401
sage: K.<x> = FunctionField(GF(4)); _.<Y> = K[] # needs sage.rings.finite_rings
398
402
sage: L.<y> = K.extension(Y^2 + Y + x +1/x) # needs sage.rings.finite_rings sage.rings.function_field
399
- sage: (y^3 + x).differential() # needs sage.modules sage. rings.finite_rings sage.rings.function_field
403
+ sage: (y^3 + x).differential() # needs sage.rings.finite_rings sage.rings.function_field
400
404
(((x^2 + 1)/x^2)*y + (x^4 + x^3 + 1)/x^3) d(x)
401
405
402
406
TESTS:
403
407
404
408
Verify that :issue:`27712` is resolved::
405
409
406
410
sage: K.<x> = FunctionField(GF(31))
407
- sage: R.<y> = K[]
408
- sage: L.<y> = K.extension(y^2 - x) # needs sage.rings.function_field
409
- sage: R.<z> = L[] # needs sage.rings.function_field
410
- sage: M.<z> = L.extension(z^2 - y) # needs sage.rings.function_field
411
-
412
411
sage: x.differential() # needs sage.modules
413
412
d(x)
414
- sage: y.differential() # needs sage.modules sage.rings.function_field
413
+
414
+ sage: # needs sage.rings.function_field
415
+ sage: R.<y> = K[]
416
+ sage: L.<y> = K.extension(y^2 - x)
417
+ sage: R.<z> = L[]
418
+ sage: M.<z> = L.extension(z^2 - y)
419
+ sage: y.differential()
415
420
(16/x*y) d(x)
416
- sage: z.differential() # needs sage.modules sage.rings.function_field
421
+ sage: z.differential()
417
422
(8/x*z) d(x)
418
423
"""
419
424
F = self .parent()
@@ -436,7 +441,7 @@ cdef class FunctionFieldElement(FieldElement):
436
441
437
442
sage: K.<x> = FunctionField(GF(4)); _.<Y> = K[] # needs sage.rings.finite_rings
438
443
sage: L.<y> = K.extension(Y^2 + Y + x + 1/x) # needs sage.rings.finite_rings sage.rings.function_field
439
- sage: (y^3 + x).derivative() # needs sage.modules sage. rings.finite_rings sage.rings.function_field
444
+ sage: (y^3 + x).derivative() # needs sage.rings.finite_rings sage.rings.function_field
440
445
((x^2 + 1)/x^2)*y + (x^4 + x^3 + 1)/x^3
441
446
"""
442
447
D = self .parent().derivation()
@@ -458,14 +463,14 @@ cdef class FunctionFieldElement(FieldElement):
458
463
459
464
sage: K.<t> = FunctionField(GF(2))
460
465
sage: f = t^2
461
- sage: f.higher_derivative(2) # needs sage.modules sage. rings.function_field
466
+ sage: f.higher_derivative(2) # needs sage.rings.function_field
462
467
1
463
468
464
469
::
465
470
466
471
sage: K.<x> = FunctionField(GF(4)); _.<Y> = K[] # needs sage.rings.finite_rings
467
472
sage: L.<y> = K.extension(Y^2 + Y + x + 1/x) # needs sage.rings.finite_rings sage.rings.function_field
468
- sage: (y^3 + x).higher_derivative(2) # needs sage.modules sage. rings.finite_rings sage.rings.function_field
473
+ sage: (y^3 + x).higher_derivative(2) # needs sage.rings.finite_rings sage.rings.function_field
469
474
1/x^3*y + (x^6 + x^4 + x^3 + x^2 + x + 1)/x^5
470
475
"""
471
476
D = self .parent().higher_derivation()
@@ -489,7 +494,7 @@ cdef class FunctionFieldElement(FieldElement):
489
494
490
495
sage: K.<x> = FunctionField(GF(2)); _.<Y> = K[]
491
496
sage: L.<y> = K.extension(Y^2 + Y + x + 1/x) # needs sage.rings.function_field
492
- sage: y.divisor() # needs sage.modules sage. rings.function_field
497
+ sage: y.divisor() # needs sage.rings.function_field
493
498
- Place (1/x, 1/x*y)
494
499
- Place (x, x*y)
495
500
+ 2*Place (x + 1, x*y)
@@ -517,7 +522,7 @@ cdef class FunctionFieldElement(FieldElement):
517
522
518
523
sage: K.<x> = FunctionField(GF(4)); _.<Y> = K[] # needs sage.rings.finite_rings
519
524
sage: L.<y> = K.extension(Y^2 + Y + x + 1/x) # needs sage.rings.finite_rings sage.rings.function_field
520
- sage: (x/y).divisor_of_zeros() # needs sage.modules sage. rings.finite_rings sage.rings.function_field
525
+ sage: (x/y).divisor_of_zeros() # needs sage.rings.finite_rings sage.rings.function_field
521
526
3*Place (x, x*y)
522
527
"""
523
528
if self .is_zero():
@@ -544,7 +549,7 @@ cdef class FunctionFieldElement(FieldElement):
544
549
545
550
sage: K.<x> = FunctionField(GF(4)); _.<Y> = K[] # needs sage.rings.finite_rings
546
551
sage: L.<y> = K.extension(Y^2 + Y + x + 1/x) # needs sage.rings.finite_rings sage.rings.function_field
547
- sage: (x/y).divisor_of_poles() # needs sage.modules sage. rings.finite_rings sage.rings.function_field
552
+ sage: (x/y).divisor_of_poles() # needs sage.rings.finite_rings sage.rings.function_field
548
553
Place (1/x, 1/x*y) + 2*Place (x + 1, x*y)
549
554
"""
550
555
if self .is_zero():
@@ -570,7 +575,7 @@ cdef class FunctionFieldElement(FieldElement):
570
575
571
576
sage: K.<x> = FunctionField(GF(4)); _.<Y> = K[] # needs sage.rings.finite_rings
572
577
sage: L.<y> = K.extension(Y^2 + Y + x + 1/x) # needs sage.rings.finite_rings sage.rings.function_field
573
- sage: (x/y).zeros() # needs sage.modules sage. rings.finite_rings sage.rings.function_field
578
+ sage: (x/y).zeros() # needs sage.rings.finite_rings sage.rings.function_field
574
579
[Place (x, x*y)]
575
580
"""
576
581
return self .divisor_of_zeros().support()
@@ -590,7 +595,7 @@ cdef class FunctionFieldElement(FieldElement):
590
595
591
596
sage: K.<x> = FunctionField(GF(4)); _.<Y> = K[] # needs sage.rings.finite_rings
592
597
sage: L.<y> = K.extension(Y^2 + Y + x + 1/x) # needs sage.rings.finite_rings sage.rings.function_field
593
- sage: (x/y).poles() # needs sage.modules sage. rings.finite_rings sage.rings.function_field
598
+ sage: (x/y).poles() # needs sage.rings.finite_rings sage.rings.function_field
594
599
[Place (1/x, 1/x*y), Place (x + 1, x*y)]
595
600
"""
596
601
return self .divisor_of_poles().support()
@@ -607,8 +612,8 @@ cdef class FunctionFieldElement(FieldElement):
607
612
608
613
sage: K.<x> = FunctionField(GF(2)); _.<Y> = K[]
609
614
sage: L.<y> = K.extension(Y^2 + Y + x + 1/x) # needs sage.rings.function_field
610
- sage: p = L.places_infinite()[0] # needs sage.modules sage. rings.function_field
611
- sage: y.valuation(p) # needs sage.modules sage. rings.function_field
615
+ sage: p = L.places_infinite()[0] # needs sage.rings.function_field
616
+ sage: y.valuation(p) # needs sage.rings.function_field
612
617
-1
613
618
614
619
::
0 commit comments