RE: Creating combinations from a group of sets
- To: mathgroup at smc.vnet.net
- Subject: [mg48705] RE: [mg48679] Creating combinations from a group of sets
- From: "David Park" <djmp at earthlink.net>
- Date: Fri, 11 Jun 2004 03:52:28 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
Jeanette,
Use Outer.
Flatten[Outer[List, {1, 2, 3}, {4, 5}, {6}, {7, 8}], 3]
{{1, 4, 6, 7}, {1, 4, 6, 8}, {1, 5, 6, 7}, {1, 5, 6, 8}, {2, 4, 6, 7}, {2,
4,
6, 8}, {2, 5, 6, 7}, {2, 5, 6, 8}, {3, 4, 6, 7}, {3, 4, 6, 8}, {3, 5, 6,
7}, {3, 5, 6, 8}}
Inner is also a neat command when you want to combine elements of two equal
length objects with the same head. For example..
eqn1 = a == b;
eqn2 = b == c;
Inner[Divide, eqn1, eqn2, Equal]
a/b == b/c
David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/
-----Original Message-----
From: Jeanette L Domber [mailto:Jeanette.L.Domber at aero.org]
To: mathgroup at smc.vnet.net
Subject: [mg48705] [mg48679] Creating combinations from a group of sets
I have a group of sets:
{1,2,3}
{4,5}
{6}
{7,8}
I wish to create all unique combinations of the sets that contain exactly
one element from each set:
{1,4,6,7}
{1,5,6,7}
{1,4,6,8}
{1,5,6,8}
{2,4,6,7}
{2,5,6,7}
etc.
In all, there should be 12 combinations.
If I use KSubsets giving it a list {1,2,3,4,5,6,7,8} to create combinations
containing 4 elements, I get a list of 70 combinations, 58 of which are
extraneous to my application.
Does anyone know how to manipulate the functions in
DiscreteMath`Combinatorica` to accomplish this efficiently?
Thanks,
Jeanette