Skip to content

Commit 440ffdb

Browse files
committed
moving "is_prime_field" to the category of rings
1 parent 22c6d39 commit 440ffdb

File tree

3 files changed

+24
-23
lines changed

3 files changed

+24
-23
lines changed

src/doc/en/thematic_tutorials/coercion_and_categories.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,6 @@ This base class provides a lot more methods than a general parent::
134134
'is_commutative',
135135
'is_field',
136136
'is_integrally_closed',
137-
'is_prime_field',
138137
'krull_dimension',
139138
'localization',
140139
'ngens',

src/sage/categories/rings.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,30 @@ def is_noetherian(self):
434434
"""
435435
return False
436436

437+
def is_prime_field(self):
438+
r"""
439+
Return ``True`` if this ring is one of the prime fields `\QQ` or
440+
`\GF{p}`.
441+
442+
EXAMPLES::
443+
444+
sage: QQ.is_prime_field()
445+
True
446+
sage: GF(3).is_prime_field()
447+
True
448+
sage: GF(9, 'a').is_prime_field() # needs sage.rings.finite_rings
449+
False
450+
sage: ZZ.is_prime_field()
451+
False
452+
sage: QQ['x'].is_prime_field()
453+
False
454+
sage: Qp(19).is_prime_field() # needs sage.rings.padics
455+
False
456+
"""
457+
# the case of QQ is handled by QQ itself
458+
from sage.categories.finite_fields import FiniteFields
459+
return self in FiniteFields() and self.degree() == 1
460+
437461
def is_zero(self) -> bool:
438462
"""
439463
Return ``True`` if this is the zero ring.

src/sage/rings/ring.pyx

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -652,28 +652,6 @@ cdef class Ring(ParentWithGens):
652652
"""
653653
return True
654654

655-
def is_prime_field(self):
656-
r"""
657-
Return ``True`` if this ring is one of the prime fields `\QQ` or
658-
`\GF{p}`.
659-
660-
EXAMPLES::
661-
662-
sage: QQ.is_prime_field()
663-
True
664-
sage: GF(3).is_prime_field()
665-
True
666-
sage: GF(9, 'a').is_prime_field() # needs sage.rings.finite_rings
667-
False
668-
sage: ZZ.is_prime_field()
669-
False
670-
sage: QQ['x'].is_prime_field()
671-
False
672-
sage: Qp(19).is_prime_field() # needs sage.rings.padics
673-
False
674-
"""
675-
return False
676-
677655
def order(self):
678656
"""
679657
The number of elements of ``self``.

0 commit comments

Comments
 (0)