Module: sage.combinat.subset
Subsets
Module-level Functions
s, [k=None]) |
Returns the combinatorial class of subsets of s.
If s is a non-negative integer, it returns the subsets of range(1,s+1).
If k is specified, it returns the subsets of s of size k.
sage: S = Subsets([1,2,3]); S Subsets of {1, 2, 3} sage: S.count() 8 sage: S.first() {} sage: S.last() {1, 2, 3} sage: S.random_element() {2} sage: S.list() [{}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}]
sage: S = Subsets(3) sage: S.list() [{}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}]
sage: S = Subsets(3,2); S Subsets of {1, 2, 3} of size 2 sage: S.list() [{1, 2}, {1, 3}, {2, 3}]
Class: Subsets_s
self, s) |
TESTS:
sage: S = Subsets([1,2,3]) sage: S == loads(dumps(S)) True
Functions: count,
first,
iterator,
last,
random_element,
rank,
unrank
self) |
Returns the number of subsets of the set s.
This is given by
.
sage: Subsets(Set([1,2,3])).count() 8 sage: Subsets([1,2,3,3]).count() 8 sage: Subsets(3).count() 8
self) |
Returns the first subset of s. Since we aren't restricted to subsets of a certain size, this is always the empty set.
sage: Subsets([1,2,3]).first() {} sage: Subsets(3).first() {}
self) |
An iterator for all the subsets of s.
sage: [sub for sub in Subsets(Set([1,2,3]))] [{}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}] sage: [sub for sub in Subsets([1,2,3,3])] [{}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}] sage: [sub for sub in Subsets(3)] [{}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}]
self) |
Returns the last subset of s. Since we aren't restricted to subsets of a certain size, this is always the set s itself.
sage: Subsets([1,2,3]).last() {1, 2, 3} sage: Subsets(3).last() {1, 2, 3}
self) |
Returns a random element of the class of subsets of s (in other words, a random subset of s).
sage: Subsets(3).random_element() {2} sage: Subsets([4,5,6]).random_element() {5}
self, sub) |
Returns the rank of sub as a subset of s.
sage: Subsets(3).rank([]) 0 sage: Subsets(3).rank([1,2]) 4 sage: Subsets(3).rank([1,2,3]) 7 sage: Subsets(3).rank([2,3,4]) == None True
self, r) |
Returns the subset of s that has rank k.
sage: Subsets(3).unrank(0) {} sage: Subsets([2,4,5]).unrank(1) {2} sage: s = Subsets([2,4,5])
Special Functions: __init__,
__repr__
self) |
TESTS:
sage: repr(Subsets([1,2,3])) 'Subsets of {1, 2, 3}'
Class: Subsets_sk
self, s, k) |
TESTS:
sage: S = Subsets(3,2) sage: S == loads(dumps(S)) True
Functions: count,
first,
iterator,
last,
random_element,
rank,
unrank
self) |
sage: Subsets([1,2,3,3], 2).count() 3 sage: Subsets(Set([1,2,3]), 2).count() 3 sage: Subsets([1,2,3], 1).count() 3 sage: Subsets([1,2,3], 3).count() 1 sage: Subsets([1,2,3], 0).count() 1 sage: Subsets([1,2,3], 4).count() 0 sage: Subsets(3,2).count() 3 sage: Subsets(3,4).count() 0
self) |
Returns the first subset of s of size k.
sage: Subsets(Set([1,2,3]), 2).first() {1, 2} sage: Subsets([1,2,3,3], 2).first() {1, 2} sage: Subsets(3,2).first() {1, 2} sage: Subsets(3,4).first()
self) |
An iterator for all the subsets of s of size k.
sage: [sub for sub in Subsets(Set([1,2,3]), 2)] [{1, 2}, {1, 3}, {2, 3}] sage: [sub for sub in Subsets([1,2,3,3], 2)] [{1, 2}, {1, 3}, {2, 3}] sage: [sub for sub in Subsets(3,2)] [{1, 2}, {1, 3}, {2, 3}]
self) |
Returns the last subset of s of size k.
sage: Subsets(Set([1,2,3]), 2).last() {2, 3} sage: Subsets([1,2,3,3], 2).last() {2, 3} sage: Subsets(3,2).last() {2, 3} sage: Subsets(3,4).last()
self) |
Returns a random element of the class of subsets of s of size k (in other words, a random subset of s of size k).
sage: Subsets(3, 2).random_element() {1, 2} sage: Subsets(3,4).random_element() is None True
self, sub) |
Returns the rank of sub as a subset of s of size k.
sage: Subsets(3,2).rank([1,2]) 0 sage: Subsets([2,3,4],2).rank([3,4]) 2 sage: Subsets([2,3,4],2).rank([2]) sage: Subsets([2,3,4],4).rank([2,3,4,5])
self, r) |
Returns the subset of s that has rank k.
sage: Subsets(3,2).unrank(0) {1, 2} sage: Subsets([2,4,5],2).unrank(0) {2, 4}
Special Functions: __init__,
__repr__
self) |
TESTS:
sage: repr(Subsets(3,2)) 'Subsets of {1, 2, 3} of size 2'