Re: Powerset operation: how?
- To: mathgroup at smc.vnet.net
 - Subject: [mg45591] Re: [mg45570] Powerset operation: how?
 - From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
 - Date: Fri, 16 Jan 2004 06:05:05 -0500 (EST)
 - References: <200401140626.BAA19730@smc.vnet.net>
 - Sender: owner-wri-mathgroup at wolfram.com
 
On 14 Jan 2004, at 06:26, see.address at post.sig wrote:
> How should I code efficiently the powerset of a (small) set 
> represented by a
> list?
>
> A search on Wolfram site turned out nothing useful, but I'm quite sure
> somebody has done it already.
>
>
Indeed, you are right. The most elegant way in my opinion is due to 
Ilan Vardi
PowerSet[s_List]:=Distribute[{{},{#}}&/@s,List,List,List,Union]
PowerSet[{a,b,c}]
{{},{c},{b},{b,c},{a},{a,c},{a,b},{a,b,c}}
This is an example of "algebraic programming", a programming style that 
Mathematica is particularly well suited for (for more on this see my 
forthcoming article in the Mathematica Journal).
Andrzej Kozlowski
Chiba, Japan
http://www.mimuw.edu.pl/~akoz/
- References:
- Powerset operation: how?
- From: see.address@post.sig
 
 
 - Powerset operation: how?