Integral domains - Category Framework

Skip to content
Back to top
View this page
Edit this page

# Integral domains

class sage.categories.integral_domains.IntegralDomains(base_category)

  Bases: `CategoryWithAxiom_singleton`

  The category of integral domains.

  An integral domain is commutative ring with no zero divisors, or equivalently a commutative domain.

  EXAMPLES:

  Sage

      sage: C = IntegralDomains(); C
      Category of integral domains
      sage: sorted(C.super_categories(), key=str)
      [Category of commutative rings, Category of domains]
      sage: C is Domains().Commutative()
      True
      sage: C is Rings().Commutative().NoZeroDivisors()
      True

  Python

      >>> from sage.all import *
      >>> C = IntegralDomains(); C
      Category of integral domains
      >>> sorted(C.super_categories(), key=str)
      [Category of commutative rings, Category of domains]
      >>> C is Domains().Commutative()
      True
      >>> C is Rings().Commutative().NoZeroDivisors()
      True

  class ElementMethods

    Bases: `object`

  class ParentMethods

    Bases: `object`

    is_field(proof=True)

      Return `True` if this ring is a field.

      EXAMPLES:

      Sage

          sage: ZZ['x'].is_field()
          False

      Python

          >>> from sage.all import *
          >>> ZZ['x'].is_field()
          False

    is_integral_domain(proof=True)

      Return `True`, since this in an object of the category of integral domains.

      EXAMPLES:

      Sage

          sage: ZZ.is_integral_domain()
          True
          sage: QQ.is_integral_domain()
          True
          sage: Parent(QQ, category=IntegralDomains()).is_integral_domain()
          True

          sage: L.<z> = LazyLaurentSeriesRing(QQ)                                 # needs sage.combinat
          sage: L.is_integral_domain()                                            # needs sage.combinat
          True
          sage: L.is_integral_domain(proof=True)                                  # needs sage.combinat
          True

          sage: ZZ['x'].is_integral_domain()
          True

      Python

          >>> from sage.all import *
          >>> ZZ.is_integral_domain()
          True
          >>> QQ.is_integral_domain()
          True
          >>> Parent(QQ, category=IntegralDomains()).is_integral_domain()
          True

          >>> L = LazyLaurentSeriesRing(QQ, names=('z',)); (z,) = L._first_ngens(1)# needs sage.combinat
          >>> L.is_integral_domain()                                            # needs sage.combinat
          True
          >>> L.is_integral_domain(proof=True)                                  # needs sage.combinat
          True

          >>> ZZ['x'].is_integral_domain()
          True

    localization(additional_units, names=None, normalize=True, category=None)

      Return the localization of `self` at the given additional units.

      EXAMPLES:

      Sage

          sage: R.<x, y> = GF(3)[]
          sage: R.localization((x*y, x**2 + y**2))                                    # needs sage.rings.finite_rings
          Multivariate Polynomial Ring in x, y over Finite Field of size 3
           localized at (y, x, x^2 + y^2)
          sage: ~y in _                                                               # needs sage.rings.finite_rings
          True

      Python

          >>> from sage.all import *
          >>> R = GF(Integer(3))['x, y']; (x, y,) = R._first_ngens(2)
          >>> R.localization((x*y, x**Integer(2) + y**Integer(2)))                                    # needs sage.rings.finite_rings
          Multivariate Polynomial Ring in x, y over Finite Field of size 3
           localized at (y, x, x^2 + y^2)
          >>> ~y in _                                                               # needs sage.rings.finite_rings
          True