Traktor/myenv/Lib/site-packages/sympy/polys/domains/domainelement.py

39 lines
860 B
Python
Raw Normal View History

2024-05-23 01:57:24 +02:00
"""Trait for implementing domain elements. """
from sympy.utilities import public
@public
class DomainElement:
"""
Represents an element of a domain.
Mix in this trait into a class whose instances should be recognized as
elements of a domain. Method ``parent()`` gives that domain.
"""
__slots__ = ()
def parent(self):
"""Get the domain associated with ``self``
Examples
========
>>> from sympy import ZZ, symbols
>>> x, y = symbols('x, y')
>>> K = ZZ[x,y]
>>> p = K(x)**2 + K(y)**2
>>> p
x**2 + y**2
>>> p.parent()
ZZ[x,y]
Notes
=====
This is used by :py:meth:`~.Domain.convert` to identify the domain
associated with a domain element.
"""
raise NotImplementedError("abstract method")