       Re: Combinatorics question

• To: mathgroup at smc.vnet.net
• Subject: [mg3309] Re: Combinatorics question
• From: ianc (Ian Collier)
• Date: Sun, 25 Feb 1996 03:20:49 -0500
• Organization: Wolfram Research, Inc.
• Sender: owner-wri-mathgroup at wolfram.com

```In article <4gi621\$jkv at dragonfly.wolfram.com>, <PESCC at CUNYVM.CUNY.EDU> wrote:

> Can somenone help me find the following:
>
> I have a list of 20 numbers, and I would like to list all the
> combinations of these numbers taken 6 at a time.  The Binomial
> function tells me there are 38760, but I would like to actually
> see all of them.

You can use the KSubsets function which is defined in
DiscreteMath`Combinatorica` one of the standard packages
distributed with Mathematica.

Here is a, slightly smaller, example:

In:=
nums = Range[ 6 ]
Out=
{1, 2, 3, 4, 5, 6}

In:=
Needs[ "DiscreteMath`Combinatorica`" ]

In:=
?KSubsets

KSubsets[l,k] returns all subsets of set l containing exactly
k elements, ordered lexicographically.

In:=
KSubsets[ nums, 2 ]
Out=
{{1, 2}, {1, 3}, {1, 4}, {1, 5}, {1, 6}, {2, 3}, {2, 4},

{2, 5}, {2, 6}, {3, 4}, {3, 5}, {3, 6}, {4, 5}, {4, 6},

{5, 6}}

The Guide to Standrad Mathematica Packages provides brief
documentation of this package. It is documented in detail
in the book "Implementing Discrete Mathematics:
Combinatorics and Graph Theory with Mathematica" by Steven

I hope this helps.

--Ian

-----------------------------------------------------------
Ian Collier
Wolfram Research, Inc.
-----------------------------------------------------------
tel:(217) 398-0700   fax:(217) 398-0747    ianc at wolfram.com