Re: Re: Combinations
- To: mathgroup at smc.vnet.net
- Subject: [mg61767] Re: [mg61716] Re: [mg61677] Combinations
- From: "Carl K. Woll" <carlw at wolfram.com>
- Date: Sat, 29 Oct 2005 01:32:35 -0400 (EDT)
- References: <200510260501.BAA18717@smc.vnet.net> <200510270901.FAA19404@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Sseziwa Mukasa wrote:
> On Oct 26, 2005, at 1:01 AM, xxxxyz at abv.bg wrote:
>
>
>>Hi,
>>
>>Is there any way to generate combinations per turn in a cycle? I mean
>>first generate one combination, do something, generate next, do the
>>same thing ...
>>
>>Thanks.
>
>
> The combinations are called KSubsets in Mathematica, the
> Combinatorica package contains the necessary routines. The first
> KSubset in lexicographic order is simply Range[k], you can use
> NextKSubset to see the others for example:
>
> <<DiscreteMath`Combinatorica`
> Block[{subset = Range[3]},Prepend[Table[subset = NextKSubset[Range
> [5], subset], {4}], Range[3]]]
>
> will return the first 5 subsets of length 3 of {1,2,3,4,5} in
> lexicographic order. There are functions to get the KSubsets in
> other orders in Combinatorica, I suggest you read the Help Browser
> information or read "Computational Discrete Mathematics:
> Combinatorics and Graph Theory with Mathematica" by Steven Skiena and
> Sriram Pemmaraju for more information on the package.
>
> Regards,
>
> Ssezi
>
Starting in version 5.1, the function Subsets will also do the above:
In[3]:=
Subsets[{1,2,3,4,5},{3},5]
Out[3]=
{{1,2,3},{1,2,4},{1,2,5},{1,3,4},{1,3,5}}
If we are interested in the 9th subset of {1,2,3,4,5} of length 3:
In[4]:=
Subsets[{1,2,3,4,5},{3},{9}]
Out[4]=
{{2,4,5}}
Carl Woll
Wolfram Research
- References:
- Combinations
- From: "xxxxyz@abv.bg" <xxxxyz@abv.bg>
- Re: Combinations
- From: Sseziwa Mukasa <mukasa@jeol.com>
- Combinations