Path: blob/master/sage/geometry/polyhedron/base_RDF.py
4066 views
"""1Base class for polyhedra over ``RDF``.2"""34from sage.rings.all import RDF5from base import Polyhedron_base6789class Polyhedron_RDF(Polyhedron_base):10"""11Base class for polyhedra over ``RDF``.1213TESTS::1415sage: p = Polyhedron([(0,0)], base_ring=RDF); p16A 0-dimensional polyhedron in RDF^2 defined as the convex hull of 1 vertex17sage: TestSuite(p).run()18"""19# 1e-6 is the cddf+ default fuzzy zero cutoff2021def _is_zero(self, x):22"""23Test whether ``x`` is zero.2425INPUT:2627- ``x`` -- a number in the base ring.2829OUTPUT:3031Boolean.3233EXAMPLES::3435sage: p = Polyhedron([(0,0)], base_ring=RDF)36sage: p._is_zero(0)37True38sage: p._is_zero(1e-3)39False4041This is a fuzzy zero for floating-point numbers::4243sage: p._is_zero(1e-10)44True45"""46return abs(x)<=1e-64748def _is_nonneg(self, x):49"""50Test whether ``x`` is nonnegative.5152INPUT:5354- ``x`` -- a number in the base ring.5556OUTPUT:5758Boolean.5960EXAMPLES::6162sage: p = Polyhedron([(0,0)], base_ring=RDF)63sage: p._is_nonneg(1)64True65sage: p._is_nonneg(-1e-3)66False6768This is a fuzzy zero for floating-point numbers::6970sage: p._is_nonneg(-1e-10)71True72"""73return x>=-1e-67475def _is_positive(self, x):76"""77Test whether ``x`` is positive.7879INPUT:8081- ``x`` -- a number in the base ring.8283OUTPUT:8485Boolean.8687EXAMPLES::8889sage: p = Polyhedron([(0,0)], base_ring=RDF)90sage: p._is_positive(1)91True92sage: p._is_positive(0)93True9495This is a fuzzy zero for floating-point numbers::9697sage: p._is_positive(-1e-10)98True99"""100return x>=-1e-6101102_base_ring = RDF103104105106