Re: [Q] Generalized Partitions
- To: mathgroup at smc.vnet.net
- Subject: [mg29975] Re: [mg29942] [Q] Generalized Partitions
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Fri, 20 Jul 2001 03:28:38 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
You do not state if the partitions should be into ordered or un-ordered sets. Anyway, probably the easiest way is to make use of the standard package Combinatorica: In[1]:= <<DiscreteMath`Combinatorica` In[2]:= OrderedPartitions[n_, k_, l_List] := Select[Compositions[n, k], Complement[#1, l] == {}& ] In[3]:= UnorderedPartitions[n_, k_, l_List] := Select[OrderedPartitions[n, k, l], OrderedQ] Using your list: In[4]:= l={1,3,4,5,6,7,9}; In[5]:= OrderedPartitions[10,2,l] Out[5]= {{1,9},{3,7},{4,6},{5,5},{6,4},{7,3},{9,1}} In[6]:= UnorderedPartitions[10,2,l] Out[6]= {{1,9},{3,7},{4,6},{5,5}} -- Andrzej Kozlowski Toyama International University JAPAN http://platon.c.u-tokyo.ac.jp/andrzej/ http://sigma.tuins.ac.jp/~andrzej/ on 01.7.19 4:57 PM, Janusz Kawczak at jkawczak at math.uncc.edu wrote: > Dear Mathematica users: > > do you know of a function in Mathematica that could do the partitioning > of a number into a fixed number of components out of predefined set, > i.e. partition number 10 into the elements from the set {1,3,4,5,6,7,9} > and each partition should have exactly, say, 2 elements. Of course, I > have in mind a much bigger problem. > > Thank you in advance for your help. > Janusz Kawczak. > >