Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sagelib
Path: blob/master/sage/geometry/polyhedron/base_QQ.py
4079 views
1
"""
2
Base class for polyhedra over `\QQ`
3
"""
4
5
from sage.rings.all import QQ
6
from base import Polyhedron_base
7
8
9
class Polyhedron_QQ(Polyhedron_base):
10
"""
11
Base class for Polyhedra over `\QQ`
12
13
TESTS::
14
15
sage: p = Polyhedron([(0,0)], base_ring=QQ); p
16
A 0-dimensional polyhedron in QQ^2 defined as the convex hull of 1 vertex
17
sage: TestSuite(p).run()
18
"""
19
def _is_zero(self, x):
20
"""
21
Test whether ``x`` is zero.
22
23
INPUT:
24
25
- ``x`` -- a number in the base ring.
26
27
OUTPUT:
28
29
Boolean.
30
31
EXAMPLES::
32
33
sage: p = Polyhedron([(0,0)], base_ring=QQ)
34
sage: p._is_zero(0)
35
True
36
sage: p._is_zero(1/100000)
37
False
38
"""
39
return x==0
40
41
def _is_nonneg(self, x):
42
"""
43
Test whether ``x`` is nonnegative.
44
45
INPUT:
46
47
- ``x`` -- a number in the base ring.
48
49
OUTPUT:
50
51
Boolean.
52
53
EXAMPLES::
54
55
sage: p = Polyhedron([(0,0)], base_ring=QQ)
56
sage: p._is_nonneg(1)
57
True
58
sage: p._is_nonneg(-1/100000)
59
False
60
"""
61
return x>=0
62
63
def _is_positive(self, x):
64
"""
65
Test whether ``x`` is positive.
66
67
INPUT:
68
69
- ``x`` -- a number in the base ring.
70
71
OUTPUT:
72
73
Boolean.
74
75
EXAMPLES::
76
77
sage: p = Polyhedron([(0,0)], base_ring=QQ)
78
sage: p._is_positive(1)
79
True
80
sage: p._is_positive(0)
81
False
82
"""
83
return x>0
84
85
_base_ring = QQ
86
87
88
89
90