|
Calling Sequence
|
|
Combination(n, t, opts)
|
|
Parameters
|
|
n
|
-
|
nonnegint; size of set
|
t
|
-
|
nonnegint; size of combinations
|
opts
|
-
|
(optional) equation(s) of the form option = value; specify options for the Combination command
|
|
|
|
|
Options
|
|
|
True means compile the iterator. The default is true.
|
|
Specify the starting rank of the iterator. The default is one. Passing a value greater than one causes the iterator to skip the lower ranks; this can be useful when parallelizing iterators. The starting rank reverts to one when the iterator is reset, reused, or copied.
|
|
|
Description
|
|
•
|
The Combination command returns an iterator that generates all t-combinations of the integers .
|
•
|
The combinations, when read from right to left, appear in lexicographic order.
|
•
|
The n parameter is the size of the set.
|
•
|
The t parameter is the number of elements in each combination.
|
•
|
If , the iterator generates nothing.
|
•
|
If , the iterator generates a single empty Array.
|
|
Methods
|
|
In addition to the common iterator methods, this iterator object has the following methods. The self parameter is the iterator object.
•
|
Number(self): return the number of iterations required to step through the iterator, assuming it started at rank one.
|
•
|
Rank(self,L): return the rank of the current iteration. Optionally pass L, a list or one-dimensional rtable, and return its rank.
|
•
|
Unrank(self,rnk): return a one-dimensional Array corresponding to the iterator output with rank rnk.
|
|
|
|
Examples
|
|
Construct an iterator that returns all 3-combinations of the integers from 0 to 4.
>
|
|
>
|
|
1: 0 1 2
2: 0 1 3
3: 0 2 3
4: 1 2 3
5: 0 1 4
6: 0 2 4
7: 1 2 4
8: 0 3 4
9: 1 3 4
10: 2 3 4
| |
Compute the number of iterations.
Return the element with rank equal to 4.
Copy the iterator, but start with rank equal to 4.
>
|
|
| (3) |
|
|
References
|
|
|
Knuth, Donald Ervin. The Art of Computer Programming, volume 4, fascicle 3; generating all combinations and partitions, sec. 7.2.1.3, algorithm T (Lexicographic combinations), p. 5.
|
|
|
Compatibility
|
|
•
|
The Iterator[Combination] command was introduced in Maple 2016.
|
•
|
The Iterator[Combination] command was updated in Maple 2022.
|
•
|
The n and t parameters were updated in Maple 2022.
|
|
|
|