Non Negative Integer Semiring¶
- sage.rings.semirings.non_negative_integer_semiring.NN = Non negative integer semiring¶
- class sage.rings.semirings.non_negative_integer_semiring.NonNegativeIntegerSemiring¶
Bases:
sage.sets.non_negative_integers.NonNegativeIntegersA class for the semiring of the non negative integers
This parent inherits from the infinite enumerated set of non negative integers and endows it with its natural semiring structure.
EXAMPLES:
sage: NonNegativeIntegerSemiring() Non negative integer semiring
For convenience,
NNis a shortcut forNonNegativeIntegerSemiring():sage: NN == NonNegativeIntegerSemiring() True sage: NN.category() Category of facade infinite enumerated commutative semirings
Here is a piece of the Cayley graph for the multiplicative structure:
sage: G = NN.cayley_graph(elements=range(9), generators=[0,1,2,3,5,7]) sage: G Looped multi-digraph on 9 vertices sage: G.plot() Graphics object consisting of 48 graphics primitives
This is the Hasse diagram of the divisibility order on
NN.sage: Poset(NN.cayley_graph(elements=[1..12], generators=[2,3,5,7,11])).show()
Note: as for
NonNegativeIntegers,NNis currently just a “facade” parent; namely its elements are plain SageIntegerswithInteger Ringas parent:sage: x = NN(15); type(x) <class 'sage.rings.integer.Integer'> sage: x.parent() Integer Ring sage: x+3 18
- additive_semigroup_generators()¶
Returns the additive semigroup generators of
self.EXAMPLES:
sage: NN.additive_semigroup_generators() Family (0, 1)