Skip to content

Commit d791dba

Browse files
author
Release Manager
committed
gh-39133: Even less integral domain remove two uses of the auld class `IntegralDomain` ### 📝 Checklist - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. URL: #39133 Reported by: Frédéric Chapoton Reviewer(s): Martin Rubey
2 parents 39138cb + 57a3d6a commit d791dba

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
@@ -150,7 +150,7 @@
150150
from sage.categories.principal_ideal_domains import PrincipalIdealDomains
151151
from sage.categories.rings import Rings
152152

153-
from sage.rings.ring import (Ring, IntegralDomain)
153+
from sage.rings.ring import Ring, CommutativeRing
154154
from sage.structure.element import RingElement
155155
import sage.rings.rational_field as rational_field
156156
from sage.rings.rational_field import QQ
@@ -1928,8 +1928,7 @@ def _roots_univariate_polynomial(self, p, ring=None, multiplicities=True, algori
19281928
return roots
19291929

19301930

1931-
class PolynomialRing_integral_domain(PolynomialRing_commutative, PolynomialRing_singular_repr,
1932-
IntegralDomain):
1931+
class PolynomialRing_integral_domain(PolynomialRing_commutative, PolynomialRing_singular_repr, CommutativeRing):
19331932
def __init__(self, base_ring, name='x', sparse=False, implementation=None,
19341933
element_class=None, category=None):
19351934
"""

0 commit comments

Comments
 (0)