def __init__(self, base, prec, names, element_class, category=None): """ Initializes self. EXAMPLES:: sage: R = Zp(5) #indirect doctest sage: R.precision_cap() 20 In :trac:`14084`, the category framework has been implemented for p-adic rings:: sage: TestSuite(R).run() sage: K = Qp(7) sage: TestSuite(K).run() TESTS:: sage: R = Zp(5, 5, 'fixed-mod') sage: R._repr_option('element_is_atomic') False """ self._prec = prec self.Element = element_class default_category = getattr(self, '_default_category', None) if self.is_field(): category = CompleteDiscreteValuationFields() else: category = CompleteDiscreteValuationRings() if default_category is not None: category = check_default_category(default_category, category) Parent.__init__(self, base, names=(names,), normalize=False, category=category, element_constructor=element_class)
class PowerSeriesRing_over_field(PowerSeriesRing_domain): _default_category = CompleteDiscreteValuationRings() def fraction_field(self): """ Return the fraction field of this power series ring, which is defined since this is over a field. This fraction field is just the Laurent series ring over the base field. EXAMPLES:: sage: R.<t> = PowerSeriesRing(GF(7)) sage: R.fraction_field() Laurent Series Ring in t over Finite Field of size 7 sage: Frac(R) Laurent Series Ring in t over Finite Field of size 7 """ return self.laurent_series_ring()
from sage.rings.integer import Integer from sage.rings.finite_rings.finite_field_base import is_FiniteField from sage.rings.finite_rings.integer_mod_ring import is_IntegerModRing from sage.misc.cachefunc import weak_cached_function from sage.categories.fields import Fields _Fields = Fields() from sage.categories.commutative_rings import CommutativeRings _CommutativeRings = CommutativeRings() from sage.categories.complete_discrete_valuation import CompleteDiscreteValuationRings, CompleteDiscreteValuationFields _CompleteDiscreteValuationRings = CompleteDiscreteValuationRings() _CompleteDiscreteValuationFields = CompleteDiscreteValuationFields() import sage.misc.weak_dict _cache = sage.misc.weak_dict.WeakValueDictionary() # The signature for this function is too complicated to express sensibly # in any other way besides *args and **kwds (in Python 3 or Cython, we # could probably do better thanks to PEP 3102). def PolynomialRing(base_ring, *args, **kwds): r""" Return the globally unique univariate or multivariate polynomial ring with given properties and variable name or names.