combinat::choose
--
k-subsets of a given set (deprecated)
combinat::choose
(set,k)
computes all k
-subsets of the set
set
combinat::choose
(n,k)
computes all k
-subsets of the
set 1,2,...,n.
combinat::choose(set,k)
combinat::choose(n,k)
set | - | a set of domain type DOM_SET |
k | - | a nonnegative integer |
n | - | a nonnegative integer |
combinat::choose
returns an expression sequence, consisting of the
computed subsets.
Compute all the subsets of a,b,c,d,e containing 3 elements
>> combinat::warnDeprecated(FALSE):
combinat::choose({a,b,c,d,e},3)
{a, b, c}, {a, b, d}, {a, b, e}, {a, c, d}, {a, c, e}, {a, d, e}, {b, c, d}, {b, c, e}, {b, d, e}, {c, d, e}
The function combinat::choose
is deprecated:
>> old_val:=combinat::warnDeprecated(TRUE):
combinat::choose({a,b,c,d,e},3);
combinat::warnDeprecated(old_val):
Warning: combinat::choose(s,k) is obsolete. Please use 'combinat::subsets::list(s,k)' instead. [combinat::\ choose] {a, b, c}, {a, b, d}, {a, b, e}, {a, c, d}, {a, c, e}, {a, d, e}, {b, c, d}, {b, c, e}, {b, d, e}, {c, d, e}
Here is the recommended replacement:
>> combinat::subsets::list({a,b,c,d,e},3)
[{a, b, c}, {a, b, d}, {a, b, e}, {a, c, d}, {a, c, e}, {a, d, e}, {b, c, d}, {b, c, e}, {b, d, e}, {c, d, e}]
Note that the result is returned as a list.
Compute all the subsets of 1,2,3 containing 2 elements
>> combinat::choose(3,2)
{1, 2}, {1, 3}, {2, 3}
Here is the recommended replacement:
>> combinat::subsets::list(3,2)
[{1, 2}, {1, 3}, {2, 3}]
It is not a good idea to compute the subsets containing -1 element
>> combinat::choose({a,3},-1)
Error: Wrong type of 2. argument (type 'Type::NonNegInt' expec\ ted, got argument '-1'); during evaluation of 'combinat::choose'
MuPAD Combinat, an open source algebraic combinatorics package