Domains Module ============== .. py:class :: Domain .. py:method:: polyhedra(self) Return . Domain Properties ----------------- .. py:method:: symbols Returns a tuple of the symbols that exsist in a domain. .. py:method:: dimension Returns the number of variables that exist in a domain. .. py:method:: disjoint Returns a domain as disjoint. .. py:method:: num_parameters Returns the total number of parameters, input, output or dimensions in a domain. .. py:method:: involves_dims(self, dims) Returns ``True`` if a domain depends on the given dimensions. Unary Properties ---------------- .. py:method:: isempty(self) Return ``True`` is a domain is empty. .. py:method:: isuniverse(self) Return ``True`` if a domain is the Universe set. .. py:method:: isbounded(self) Return ``True`` if a domain is bounded .. py:method:: disjoint(self) Returns a domain as disjoint. Binary Properties ----------------- .. py:method:: isdisjoint(self, other) Return ``True`` if the intersection of *self* and *other* results in an empty set. .. py:method:: issubset(self, other) Test whether every element in a domain is in *other*. .. py:method:: __eq__(self, other) self == other Test whether a domain is equal to *other*. .. py:method:: __lt__(self, other) self < other Test whether a domain is a strict subset of *other*. .. py:method:: __le__(self, other) self <= other Test whether every element in a domain is in *other*. .. py:method:: __gt__(self, other) self > other Test whether a domain is a strict superset of *other*. .. py:method:: __ge__(self, other) self >= other Test whether every element in *other* is in a domain. The following methods implement unary operations on a domain. .. py:method:: complement(self) ¬self Return the complement of a domain. .. py:method:: simplify(self) Return a new domain without any redundant constraints. .. py:method:: project(self, dims) Return a new domain with the given dimensions removed. .. py:method:: aspolyhedron(self) Return polyhedral hull of a domain. .. py:method:: sample(self) Return a single sample subset of a domain. The following methods implement binary operations on two domains. .. py:method:: intersection(self, other) self | other Return a new domain with the elements that are common between *self* and *other*. .. py:method:: union(self, other) self & other Return a new domain with all the elements from *self* and *other*. .. py:method:: difference(self, other) self - other Return a new domain with the elements in a domain that are not in *other* . .. py:method:: __add__(self, other) self + other Return the sum of two domains. The following methods use lexicographical ordering to find the maximum or minimum element in a domain. .. py:method:: lexmin(self) Return a new set containing the lexicographic minimum of the elements in the set. .. py:method:: lexmax(self) Return a new set containing the lexicographic maximum of the elements in the set. A 2D or 3D domain can be plotted using the :meth:`plot` function. The points, verticies, and faces of a domain can be inspected using the following functions. .. py:method:: points(self) Return a list of the points contained in a domain. .. py:method:: vertices(self) Return a list of the verticies of a domain. .. py:method:: faces(self) Return a list of the vertices for each face of a domain. .. py:method:: plot(self, plot=None, **kwargs) Return a plot of the given domain.