combinat::powerset
--
power set of a set or list (deprecated)
combinat::powerset
(set)
computes the powerset of the given set set
,
that is, the set of all subsets of set
.
combinat::powerset
(list)
computes the powerset of the given list list
,
that is, the set of all sublists of list
. In this context,
lists are understood as multisets.
combinat::powerset
(n)
computes the powerset of the set
1,2,...,n.
combinat::powerset(n)
combinat::powerset(set)
combinat::powerset(list)
n | - | a nonnegative integer |
set | - | a set of domain type DOM_SET |
list | - | a list of domain type DOM_LIST |
A set of domain type DOM_SET
which contains the
computed subsets.
set
combinat::powerset
is a list, it is treated like a
multiset. This means that sublists that contain the same
elements the same number of times are treated as equal, even if
the elements appear in a different order.
Cf. Example 3. The powerset of the set a,b,c
:
>> combinat::warnDeprecated(FALSE):
combinat::powerset({a, b, c})
{{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}
The function combinat::powerset
is deprecated:
>> old_val:=combinat::warnDeprecated(TRUE):
combinat::powerset({a, b, c});
combinat::warnDeprecated(old_val):
Warning: combinat::powerset is obsolete. Please use 'combinat::subsets' and 'combinat::subwords' instea\ d. [combinat::powerset] {{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}}
Here is the recommended replacement:
>> combinat::subsets::list({a,b,c})
[{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}]
Note that the result is returned as a list.
The powerset of the set {1,2,3}
:
>> combinat::powerset(3)
{{}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}}
Here is the recommended replacement:
>> combinat::subsets::list(3)
[{}, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3}]
Here you can see that lists are treated as multisets. There is no sublist [2, 1] since it is identified with the list [1,2] which is in the powerset.
>> combinat::powerset([2, 1, 2])
{[], [1], [2], [1, 2], [2, 2], [1, 2, 2]}
Here is the recommended replacement:
>> {op(combinat::subwords::list(sort([2, 1, 2])))}
{[], [1], [2], [1, 2], [2, 2], [1, 2, 2]}
MuPAD Combinat, an open source algebraic combinatorics package