Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sagelib
Path: blob/master/sage/sets/positive_integers.py
4058 views
1
"""
2
Positive Integers
3
"""
4
#*****************************************************************************
5
# Copyright (C) 2010 Nicolas Borie <[email protected]>
6
#
7
# Distributed under the terms of the GNU General Public License (GPL)
8
# http://www.gnu.org/licenses/
9
#*****************************************************************************
10
11
from sage.sets.integer_range import IntegerRangeInfinite
12
from sage.rings.integer import Integer
13
14
class PositiveIntegers(IntegerRangeInfinite):
15
r"""
16
The enumerated set of positive integers. To fix the ideas,
17
we mean `\{1, 2, 3, 4, 5, \dots \}`.
18
19
This class implements the set of positive integers, as an
20
enumerated set (see :class:`InfiniteEnumeratedSets
21
<sage.categories.infinite_enumerated_sets.InfiniteEnumeratedSets>`).
22
23
This set is an integer range set. The construction is
24
therefore done by IntegerRange (see :class:`IntegerRange
25
<sage.sets.integer_range.IntegerRange>`).
26
27
EXAMPLES::
28
29
sage: PP = PositiveIntegers()
30
sage: PP
31
Positive integers
32
sage: PP.cardinality()
33
+Infinity
34
sage: TestSuite(PP).run()
35
sage: PP.list()
36
Traceback (most recent call last):
37
...
38
NotImplementedError: infinite list
39
sage: it = iter(PP)
40
sage: (it.next(), it.next(), it.next(), it.next(), it.next())
41
(1, 2, 3, 4, 5)
42
sage: PP.first()
43
1
44
45
TESTS::
46
47
sage: TestSuite(PositiveIntegers()).run()
48
"""
49
def __init__(self):
50
r"""
51
EXAMPLES::
52
53
sage: PP = PositiveIntegers()
54
sage: PP.category()
55
Category of facade infinite enumerated sets
56
"""
57
IntegerRangeInfinite.__init__(self, Integer(1), Integer(1))
58
59
def _repr_(self):
60
r"""
61
EXAMPLES::
62
63
sage: PositiveIntegers()
64
Positive integers
65
"""
66
return "Positive integers"
67
68
def an_element(self):
69
r"""
70
Returns an element of ``self``.
71
72
EXAMPLES::
73
74
sage: PositiveIntegers().an_element()
75
42
76
"""
77
return Integer(42)
78
79