class_docstr: The domain ``ZZ`` representing the integers `\mathbb{Z}`.
  
  The :py:class:`IntegerRing` class represents the ring of integers as a
  :py:class:`~.Domain` in the domain system. :py:class:`IntegerRing` is a
  super class of :py:class:`PythonIntegerRing` and
  :py:class:`GMPYIntegerRing` one of which will be the implementation for
  :ref:`ZZ` depending on whether or not ``gmpy`` or ``gmpy2`` is installed.
  
  See also
  ========
  
  Domain
class_docstr_tok: ["The","domain","``","ZZ","``","representing","the","integers","`","\\mathbb","{","Z","}","`",".","The",":","py",":","class",":","`","IntegerRing","`","class","represents","the","ring","of","integers","as","a",":","py",":","class",":","`","~.Domain","`","in","the","domain","system",".",":","py",":","class",":","`","IntegerRing","`","is","a","super","class","of",":","py",":","class",":","`","PythonIntegerRing","`","and",":","py",":","class",":","`","GMPYIntegerRing","`","one","of","which","will","be","the","implementation","for",":","ref",":","`","ZZ","`","depending","on","whether","or","not","``","gmpy","``","or","``","gmpy2","``","is","installed",".","See","also","========","Domain"]
docstr: Returns an algebraic field, i.e. `\mathbb{Q}(\alpha, \ldots)`.
  
  Parameters
  ==========
  
  *extension : One or more :py:class:`~.Expr`.
      Generators of the extension. These should be expressions that are
      algebraic over `\mathbb{Q}`.
  
  alias : str, :py:class:`~.Symbol`, None, optional (default=None)
      If provided, this will be used as the alias symbol for the
      primitive element of the returned :py:class:`~.AlgebraicField`.
  
  Returns
  =======
  
  :py:class:`~.AlgebraicField`
      A :py:class:`~.Domain` representing the algebraic field extension.
  
  Examples
  ========
  
  >>> from sympy import ZZ, sqrt
  >>> ZZ.algebraic_field(sqrt(2))
  QQ<sqrt(2)>
docstr_tok: ["Returns","an","algebraic","field",",","i.e",".","`","\\mathbb","{","Q","}","(","\\alpha",",","\\ldots",")","`",".","Parameters","==========","*","extension",":","One","or","more",":","py",":","class",":","`","~.Expr","`",".","Generators","of","the","extension",".","These","should","be","expressions","that","are","algebraic","over","`","\\mathbb","{","Q","}","`",".","alias",":","str",",",":","py",":","class",":","`","~.Symbol","`",",","None",",","optional","(","default=None",")","If","provided",",","this","will","be","used","as","the","alias","symbol","for","the","primitive","element","of","the","returned",":","py",":","class",":","`","~.AlgebraicField","`",".","Returns","=======",":","py",":","class",":","`","~.AlgebraicField","`","A",":","py",":","class",":","`","~.Domain","`","representing","the","algebraic","field","extension",".","Examples","========",">",">",">","from","sympy","import","ZZ",",","sqrt",">",">",">","ZZ.algebraic_field","(","sqrt","(","2",")",")","QQ","<","sqrt","(","2",")",">"]
code: def algebraic_field(self, *extension, alias=None):
      r"""Returns an algebraic field, i.e. `\mathbb{Q}(\alpha, \ldots)`.
  
      Parameters
      ==========
  
      *extension : One or more :py:class:`~.Expr`.
          Generators of the extension. These should be expressions that are
          algebraic over `\mathbb{Q}`.
  
      alias : str, :py:class:`~.Symbol`, None, optional (default=None)
          If provided, this will be used as the alias symbol for the
          primitive element of the returned :py:class:`~.AlgebraicField`.
  
      Returns
      =======
  
      :py:class:`~.AlgebraicField`
          A :py:class:`~.Domain` representing the algebraic field extension.
  
      Examples
      ========
  
      >>> from sympy import ZZ, sqrt
      >>> ZZ.algebraic_field(sqrt(2))
      QQ<sqrt(2)>
      """
      return self.get_field().algebraic_field(*extension, alias=alias)
  
imports: from sympy.external.gmpy import MPZ, GROUND_TYPES
  from sympy.core.numbers import int_valued
  from sympy.polys.domains.groundtypes import SymPyInteger, factorial, gcdex, gcd, lcm, sqrt, is_square, sqrtrem
  from sympy.polys.domains.characteristiczero import CharacteristicZero
  from sympy.polys.domains.ring import Ring
  from sympy.polys.domains.simpledomain import SimpleDomain
  from sympy.polys.polyerrors import CoercionFailed
  from sympy.utilities import public
  import math
label_desc: Use image node_id 7 for calling the IntegerRing obj's underlying member method code with example usage: obj.algebraic_field() and returns: self