From f0e8c96df85f464a1b405f6398cd1425c7c918f6 Mon Sep 17 00:00:00 2001 From: Jeroen Demeyer Date: Mon, 9 Mar 2015 17:45:39 +0100 Subject: [PATCH] Raise an error in FieldElement.is_prime() --- src/sage/structure/element.pyx | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/sage/structure/element.pyx b/src/sage/structure/element.pyx index 48592801a53..23811df355a 100644 --- a/src/sage/structure/element.pyx +++ b/src/sage/structure/element.pyx @@ -2089,13 +2089,6 @@ cdef class RingElement(ModuleElement): sage: ZI(1).is_prime() False - In fields, an element is never prime:: - - sage: RR(0).is_prime() - False - sage: RR(2).is_prime() - False - For integers, prime numbers are redefined to be positive:: sage: RingElement.is_prime(-2) @@ -3142,6 +3135,22 @@ cdef class FieldElement(CommutativeRingElement): """ return not not self + def is_prime(self): + """ + Is ``self`` a prime element? + + Since this question is meaningless for a field (applying the + definition, the answer is always ``False``), we raise an error. + + EXAMPLES:: + + sage: QQ(2).is_prime() + Traceback (most recent call last): + ... + ArithmeticError: is_prime() is meaningless for elements of the field 'Rational Field' + """ + raise ArithmeticError("is_prime() is meaningless for elements of the field '%s'" % self._parent) + def _lcm(self, FieldElement other): """ Return the least common multiple of ``self`` and other.