Skip to content

Commit 57a3d6a

Browse files
committed
work on removing IntegralDomain
1 parent e7477f8 commit 57a3d6a

File tree

2 files changed

+8
-15
lines changed

2 files changed

+8
-15
lines changed

src/sage/rings/polynomial/multi_polynomial_ring.py

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,12 @@
6060
# https://www.gnu.org/licenses/
6161
# ****************************************************************************
6262

63-
from sage.rings.ring import IntegralDomain
6463
import sage.rings.fraction_field_element as fraction_field_element
6564

6665
from sage.rings.polynomial.multi_polynomial_ring_base import MPolynomialRing_base, is_MPolynomialRing
6766
from sage.rings.polynomial.polynomial_singular_interface import PolynomialRing_singular_repr
6867
from sage.rings.polynomial.polydict import PolyDict, ETuple
6968
from sage.rings.polynomial.term_order import TermOrder
70-
7169
import sage.interfaces.abc
7270

7371
try:
@@ -558,9 +556,9 @@ def __call__(self, x=0, check=True):
558556
c = self.base_ring()(x)
559557
return MPolynomial_polydict(self, {self._zero_tuple: c})
560558

561-
# The following methods are handy for implementing Groebner
562-
# basis algorithms. They do only superficial type/sanity checks
563-
# and should be called carefully.
559+
# The following methods are handy for implementing Groebner
560+
# basis algorithms. They do only superficial type/sanity checks
561+
# and should be called carefully.
564562

565563
def monomial_quotient(self, f, g, coeff=False):
566564
r"""
@@ -930,21 +928,17 @@ def sum(self, terms):
930928
elt = PolyDict({}, check=False)
931929
for t in terms:
932930
elt += self(t).element()
933-
# NOTE: here we should be using self.element_class but polynomial rings are not complient
934-
# with categories...
931+
# NOTE: here we should be using self.element_class but
932+
# polynomial rings are not complient with categories...
935933
from sage.rings.polynomial.multi_polynomial_element import MPolynomial_polydict
936934
return MPolynomial_polydict(self, elt)
937935

938936

939-
class MPolynomialRing_polydict_domain(IntegralDomain,
940-
MPolynomialRing_polydict):
937+
class MPolynomialRing_polydict_domain(MPolynomialRing_polydict):
941938
def __init__(self, base_ring, n, names, order):
942939
order = TermOrder(order, n)
943940
MPolynomialRing_polydict.__init__(self, base_ring, n, names, order)
944941

945-
def is_integral_domain(self, proof=True):
946-
return True
947-
948942
def is_field(self, proof=True):
949943
if self.ngens() == 0:
950944
return self.base_ring().is_field(proof)

src/sage/rings/polynomial/polynomial_ring.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@
149149
from sage.categories.principal_ideal_domains import PrincipalIdealDomains
150150
from sage.categories.rings import Rings
151151

152-
from sage.rings.ring import (Ring, IntegralDomain)
152+
from sage.rings.ring import Ring, CommutativeRing
153153
from sage.structure.element import RingElement
154154
import sage.rings.rational_field as rational_field
155155
from sage.rings.rational_field import QQ
@@ -1923,8 +1923,7 @@ def _roots_univariate_polynomial(self, p, ring=None, multiplicities=True, algori
19231923
return roots
19241924

19251925

1926-
class PolynomialRing_integral_domain(PolynomialRing_commutative, PolynomialRing_singular_repr,
1927-
IntegralDomain):
1926+
class PolynomialRing_integral_domain(PolynomialRing_commutative, PolynomialRing_singular_repr, CommutativeRing):
19281927
def __init__(self, base_ring, name='x', sparse=False, implementation=None,
19291928
element_class=None, category=None):
19301929
"""

0 commit comments

Comments
 (0)