Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/sage/algebras/weyl_algebra.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
from sage.categories.algebras_with_basis import AlgebrasWithBasis
from sage.sets.family import Family
import sage.data_structures.blas_dict as blas
from sage.rings.polynomial.polynomial_ring import PolynomialRing_general
from sage.rings.polynomial.polynomial_ring import PolynomialRing_generic
from sage.rings.polynomial.multi_polynomial_ring_base import MPolynomialRing_base
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
from sage.structure.global_options import GlobalOptions
Expand Down Expand Up @@ -677,7 +677,7 @@ def __classcall__(cls, R, names=None):
sage: W1 is W2
True
"""
if isinstance(R, (PolynomialRing_general, MPolynomialRing_base)):
if isinstance(R, (PolynomialRing_generic, MPolynomialRing_base)):
if names is None:
names = R.variable_names()
R = R.base_ring()
Expand Down
4 changes: 2 additions & 2 deletions src/sage/categories/drinfeld_modules.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
from sage.rings.integer import Integer

lazy_import('sage.rings.polynomial.ore_polynomial_ring', 'OrePolynomialRing')
lazy_import('sage.rings.polynomial.polynomial_ring', 'PolynomialRing_general')
lazy_import('sage.rings.polynomial.polynomial_ring', 'PolynomialRing_generic')
lazy_import('sage.rings.ring_extension', 'RingExtension_generic')


Expand Down Expand Up @@ -251,7 +251,7 @@ def __init__(self, base_field, name='t'):
self._function_ring = base_morphism.domain()
# Check domain of base morphism is Fq[T]
function_ring = self._function_ring
if not isinstance(function_ring, PolynomialRing_general):
if not isinstance(function_ring, PolynomialRing_generic):
raise NotImplementedError('function ring must be a polynomial '
'ring')
function_ring_base = function_ring.base_ring()
Expand Down
4 changes: 2 additions & 2 deletions src/sage/modular/drinfeld_modform/ring.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
from sage.rings.fraction_field import FractionField_generic
from sage.rings.polynomial.ore_polynomial_ring import OrePolynomialRing
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
from sage.rings.polynomial.polynomial_ring import PolynomialRing_general
from sage.rings.polynomial.polynomial_ring import PolynomialRing_generic
from sage.rings.polynomial.term_order import TermOrder
from sage.rings.integer_ring import ZZ

Expand Down Expand Up @@ -264,7 +264,7 @@ def __classcall_private__(cls, base_ring, rank=None, group=None,
if not isinstance(base_ring, FractionField_generic):
raise TypeError("base ring must be a fraction field of a "
"polynomial ring")
if not isinstance(base_ring.base(), PolynomialRing_general):
if not isinstance(base_ring.base(), PolynomialRing_generic):
raise NotImplementedError("Drinfeld modular forms are currently "
"only implemented for A = Fq[T]")
if not base_ring.characteristic():
Expand Down
4 changes: 2 additions & 2 deletions src/sage/rings/asymptotic/growth_group.py
Original file line number Diff line number Diff line change
Expand Up @@ -3618,7 +3618,7 @@ def _convert_(self, data):
from sage.symbolic.ring import SR
return self._convert_(SR(data))

from sage.rings.polynomial.polynomial_ring import PolynomialRing_general
from sage.rings.polynomial.polynomial_ring import PolynomialRing_generic
from sage.rings.polynomial.multi_polynomial_ring_base import \
MPolynomialRing_base
from sage.rings.power_series_ring import PowerSeriesRing_generic
Expand All @@ -3628,7 +3628,7 @@ def _convert_(self, data):
base, exponent = data.operands()
if str(base) == var:
return exponent
elif isinstance(P, (PolynomialRing_general, MPolynomialRing_base)):
elif isinstance(P, (PolynomialRing_generic, MPolynomialRing_base)):
if data.is_monomial() and len(data.variables()) == 1:
if var == str(data.variables()[0]):
return data.degree()
Expand Down
4 changes: 2 additions & 2 deletions src/sage/rings/cfinite_sequence.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@
from sage.rings.integer_ring import ZZ
from sage.rings.rational_field import QQ
from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
from sage.rings.polynomial.polynomial_ring import PolynomialRing_general
from sage.rings.polynomial.polynomial_ring import PolynomialRing_generic
from sage.rings.laurent_series_ring import LaurentSeriesRing
from sage.rings.power_series_ring import PowerSeriesRing
from sage.rings.fraction_field import FractionField
Expand Down Expand Up @@ -146,7 +146,7 @@ def CFiniteSequences(base_ring, names=None, category=None):

sage: TestSuite(C).run()
"""
if isinstance(base_ring, PolynomialRing_general):
if isinstance(base_ring, PolynomialRing_generic):
polynomial_ring = base_ring
base_ring = polynomial_ring.base_ring()
if names is None:
Expand Down
6 changes: 3 additions & 3 deletions src/sage/rings/derivation.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@
from sage.structure.element import ModuleElement
from sage.rings.integer_ring import ZZ

from sage.rings.polynomial.polynomial_ring import PolynomialRing_general
from sage.rings.polynomial.polynomial_ring import PolynomialRing_generic
from sage.rings.polynomial.multi_polynomial_ring_base import MPolynomialRing_base
from sage.rings.power_series_ring import PowerSeriesRing_generic
from sage.rings.laurent_series_ring import LaurentSeriesRing
Expand Down Expand Up @@ -332,9 +332,9 @@ def __init__(self, domain, codomain, twist=None):
self._basis = [ ]
self._dual_basis = [ ]
self._constants = (domain, True)
elif (isinstance(domain, (PolynomialRing_general, MPolynomialRing_base, PowerSeriesRing_generic, LaurentSeriesRing))
elif (isinstance(domain, (PolynomialRing_generic, MPolynomialRing_base, PowerSeriesRing_generic, LaurentSeriesRing))
or (isinstance(domain, FractionField_generic)
and isinstance(domain.ring(), (PolynomialRing_general, MPolynomialRing_base)))):
and isinstance(domain.ring(), (PolynomialRing_generic, MPolynomialRing_base)))):
self._base_derivation = RingDerivationModule(domain.base_ring(), defining_morphism)
self.Element = RingDerivationWithoutTwist_function
try:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
from sage.rings.integer import Integer
from sage.rings.integer_ring import ZZ
from sage.rings.polynomial.ore_polynomial_element import OrePolynomial
from sage.rings.polynomial.polynomial_ring import PolynomialRing_general
from sage.rings.polynomial.polynomial_ring import PolynomialRing_generic
from sage.structure.parent import Parent
from sage.structure.sage_object import SageObject
from sage.structure.sequence import Sequence
Expand Down Expand Up @@ -565,7 +565,7 @@ def __classcall_private__(cls, function_ring, gen, name='t'):
# duplicate. As a general comment, there are sanity checks both
# here and in the category constructor, which is not ideal.
# Check domain is Fq[T]
if not isinstance(function_ring, PolynomialRing_general):
if not isinstance(function_ring, PolynomialRing_generic):
raise NotImplementedError('function ring must be a polynomial '
'ring')
function_ring_base = function_ring.base_ring()
Expand Down
8 changes: 4 additions & 4 deletions src/sage/rings/lazy_series.py
Original file line number Diff line number Diff line change
Expand Up @@ -4208,8 +4208,8 @@ def __call__(self, g):
if not isinstance(g, LazyModuleElement):
# Check to see if it belongs to a polynomial ring
# that we can extend to a lazy series ring
from sage.rings.polynomial.polynomial_ring import PolynomialRing_general
if isinstance(P, PolynomialRing_general):
from sage.rings.polynomial.polynomial_ring import PolynomialRing_generic
if isinstance(P, PolynomialRing_generic):
from sage.rings.lazy_series_ring import LazyLaurentSeriesRing
R = LazyLaurentSeriesRing(P.base_ring(), P.variable_names(), P.is_sparse())
g = R(P(g))
Expand Down Expand Up @@ -5209,15 +5209,15 @@ def __call__(self, *g):
# f now has (potentially) infinitely many terms
# Lift the resulting parent to a lazy series (if possible)
# Also make sure each element of g is a LazyModuleElement
from sage.rings.polynomial.polynomial_ring import PolynomialRing_general
from sage.rings.polynomial.polynomial_ring import PolynomialRing_generic
from sage.rings.polynomial.multi_polynomial_ring_base import MPolynomialRing_base
from sage.rings.polynomial.laurent_polynomial_ring import LaurentPolynomialRing_univariate
from sage.rings.lazy_series_ring import LazySeriesRing
if not isinstance(P, LazySeriesRing):
if fP._laurent_poly_ring.has_coerce_map_from(P):
S = fP._laurent_poly_ring
P = fP
if isinstance(P, (PolynomialRing_general, MPolynomialRing_base)):
if isinstance(P, (PolynomialRing_generic, MPolynomialRing_base)):
from sage.rings.lazy_series_ring import LazyPowerSeriesRing
S = P
try:
Expand Down
2 changes: 1 addition & 1 deletion src/sage/rings/polynomial/cyclotomic.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Fast calculation of cyclotomic polynomials
This module provides a function :func:`cyclotomic_coeffs`, which calculates the
coefficients of cyclotomic polynomials. This is not intended to be invoked
directly by the user, but it is called by the method
:meth:`~sage.rings.polynomial.polynomial_ring.PolynomialRing_general.cyclotomic_polynomial`
:meth:`~sage.rings.polynomial.polynomial_ring.PolynomialRing_generic.cyclotomic_polynomial`
method of univariate polynomial ring objects and the top-level
:func:`~sage.misc.functional.cyclotomic_polynomial` function.
"""
Expand Down
4 changes: 2 additions & 2 deletions src/sage/rings/polynomial/pbori/pbori.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ from sage.rings.finite_rings.finite_field_constructor import FiniteField as GF
from sage.rings.polynomial.polynomial_element cimport Polynomial
from sage.rings.polynomial.multi_polynomial_ideal import MPolynomialIdeal
from sage.rings.polynomial.term_order import TermOrder
from sage.rings.polynomial.polynomial_ring import PolynomialRing_general
from sage.rings.polynomial.polynomial_ring import PolynomialRing_generic

from sage.rings.ideal import FieldIdeal

Expand Down Expand Up @@ -675,7 +675,7 @@ cdef class BooleanPolynomialRing(BooleanPolynomialRing_base):
"""
if self._base.has_coerce_map_from(S):
return True
if isinstance(S, (MPolynomialRing_base, PolynomialRing_general,
if isinstance(S, (MPolynomialRing_base, PolynomialRing_generic,
BooleanMonomialMonoid)):
try:
get_var_mapping(self, S)
Expand Down
58 changes: 45 additions & 13 deletions src/sage/rings/polynomial/polynomial_ring.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@

import sys

from sage.misc.superseded import deprecation
from sage.structure.element import Element
from sage.structure.category_object import check_default_category

Expand Down Expand Up @@ -221,12 +222,12 @@ def is_PolynomialRing(x):
sage: type(R)
<class 'sage.rings.polynomial.multi_polynomial_libsingular.MPolynomialRing_libsingular'>
"""
return isinstance(x, PolynomialRing_general)
return isinstance(x, PolynomialRing_generic)


#########################################################################################

class PolynomialRing_general(Ring):
class PolynomialRing_generic(Ring):
"""
Univariate polynomial ring over a ring.
"""
Expand Down Expand Up @@ -510,12 +511,12 @@ def _implementation_names(cls, implementation, base_ring, sparse=False):

EXAMPLES::

sage: from sage.rings.polynomial.polynomial_ring import PolynomialRing_general
sage: PolynomialRing_general._implementation_names(None, ZZ, True)
sage: from sage.rings.polynomial.polynomial_ring import PolynomialRing_generic
sage: PolynomialRing_generic._implementation_names(None, ZZ, True)
[None, 'generic']
sage: PolynomialRing_general._implementation_names("generic", ZZ, True)
sage: PolynomialRing_generic._implementation_names("generic", ZZ, True)
[None, 'generic']
sage: PolynomialRing_general._implementation_names("xyzzy", ZZ, True)
sage: PolynomialRing_generic._implementation_names("xyzzy", ZZ, True)
Traceback (most recent call last):
...
ValueError: unknown implementation 'xyzzy' for sparse polynomial rings over Integer Ring
Expand All @@ -539,8 +540,8 @@ def _implementation_names_impl(implementation, base_ring, sparse):

EXAMPLES::

sage: from sage.rings.polynomial.polynomial_ring import PolynomialRing_general
sage: PolynomialRing_general._implementation_names_impl("xyzzy", ZZ, True)
sage: from sage.rings.polynomial.polynomial_ring import PolynomialRing_generic
sage: PolynomialRing_generic._implementation_names_impl("xyzzy", ZZ, True)
NotImplemented
"""
if implementation is None or implementation == "generic":
Expand Down Expand Up @@ -1569,7 +1570,7 @@ def _polys_degree(self, of_degree):
coeffs.reverse()
yield self(coeffs)

def _polys_max( self, max_degree ):
def _polys_max(self, max_degree):
"""
Refer to polynomials() for full documentation.
"""
Expand Down Expand Up @@ -1648,7 +1649,7 @@ def set_karatsuba_threshold(self, Karatsuba_threshold):
"""
self._Karatsuba_threshold = int(Karatsuba_threshold)

def polynomials( self, of_degree=None, max_degree=None ):
def polynomials(self, of_degree=None, max_degree=None):
"""
Return an iterator over the polynomials of specified degree.

Expand Down Expand Up @@ -1713,7 +1714,7 @@ def polynomials( self, of_degree=None, max_degree=None ):
return self._polys_max( max_degree )
raise ValueError("you should pass exactly one of of_degree and max_degree")

def monics( self, of_degree=None, max_degree=None ):
def monics(self, of_degree=None, max_degree=None):
"""
Return an iterator over the monic polynomials of specified degree.

Expand Down Expand Up @@ -1776,7 +1777,38 @@ def monics( self, of_degree=None, max_degree=None ):
raise ValueError("you should pass exactly one of of_degree and max_degree")


class PolynomialRing_commutative(PolynomialRing_general):
# Placeholder class for deprecation
class PolynomialRing_general(PolynomialRing_generic):
"""
Univariate polynomial ring over a ring.

This class is deprecated. Please use :class:`PolynomialRing_generic`.
"""

def __init__(self, *args, **kwds):
"""
This class is deprecated. Please use :class:`PolynomialRing_generic`.

TESTS::

sage: from sage.rings.polynomial.polynomial_ring import PolynomialRing_general, PolynomialRing_generic
sage: PolynomialRing_general(QQ, name="a")
doctest:warning...DeprecationWarning:
The class PolynomialRing_general has been renamed to PolynomialRing_generic...
Univariate Polynomial Ring in a over Rational Field

Check they provide the same functionalities for backward compatability::

sage: dir(PolynomialRing_general(QQ, name="a")) == dir(PolynomialRing_generic(QQ, name="a"))
True
"""
deprecation(
38207, "The class PolynomialRing_general has been renamed to PolynomialRing_generic."
)
super().__init__(*args, **kwds)


class PolynomialRing_commutative(PolynomialRing_generic):
"""
Univariate polynomial ring over a commutative ring.
"""
Expand All @@ -1790,7 +1822,7 @@ def __init__(self, base_ring, name=None, sparse=False, implementation=None,
else:
defaultcat = polynomial_default_category(base_ring.category(), 1)
category = check_default_category(defaultcat, category)
PolynomialRing_general.__init__(self, base_ring, name=name,
PolynomialRing_generic.__init__(self, base_ring, name=name,
sparse=sparse, implementation=implementation,
element_class=element_class, category=category)

Expand Down
2 changes: 1 addition & 1 deletion src/sage/rings/polynomial/polynomial_ring_constructor.py
Original file line number Diff line number Diff line change
Expand Up @@ -793,7 +793,7 @@ def _single_variate(base_ring, name, sparse=None, implementation=None, order=Non
# Generic implementations
if constructor is None:
if base_ring not in _CommutativeRings:
constructor = polynomial_ring.PolynomialRing_general
constructor = polynomial_ring.PolynomialRing_generic
elif base_ring in _CompleteDiscreteValuationRings:
constructor = polynomial_ring.PolynomialRing_cdvr
elif base_ring in _CompleteDiscreteValuationFields:
Expand Down
4 changes: 2 additions & 2 deletions src/sage/rings/power_series_pari.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ cdef class PowerSeries_pari(PowerSeries):
# to an ideal I, and the element a lies in I. Here we only
# implement a few special cases.
from sage.rings.padics.padic_generic import pAdicGeneric
from sage.rings.polynomial.polynomial_ring import PolynomialRing_general
from sage.rings.polynomial.polynomial_ring import PolynomialRing_generic
from sage.rings.power_series_ring import PowerSeriesRing_generic
from sage.rings.laurent_series_ring import LaurentSeriesRing
if isinstance(Q, pAdicGeneric):
Expand All @@ -442,7 +442,7 @@ cdef class PowerSeries_pari(PowerSeries):
# subst(1 + O(x), x, 1/y) yields O(y^-1).
if a.valuation() <= 0:
raise ValueError("can only substitute elements of positive valuation")
elif isinstance(Q, PolynomialRing_general):
elif isinstance(Q, PolynomialRing_generic):
Q = Q.completion(Q.gen())
elif Q.is_exact() and not a:
pass
Expand Down