Power set
From Wikipedia, the free encyclopedia
In mathematics, given a set S, the power set (or powerset) of S, written , P(S), ℘(S) or 2S, is the set of all subsets of S. In axiomatic set theory (as developed e.g. in the ZFC axioms), the existence of the power set of any set is postulated by the axiom of power set.
Any subset F of is called a family of sets over S.
Contents |
[edit] Example
If S is the set {x, y, z}, then the complete list of subsets of S is as follows:
- { } (also denoted , the empty set)
- {x}
- {y}
- {z}
- {x, y}
- {x, z}
- {y, z}
- {x, y, z}
and hence the power set of S is
[edit] Properties
If S is a finite set with |S| = n elements, then the power set of S contains elements. (One can—and computers sometimes do—represent the elements of as n-bit numbers; the m-th bit refers to the presence or absence of the m-th element of S. There are 2n such numbers.)
Cantor's diagonal argument shows that the power set of a set (whether infinite or not) always has strictly higher cardinality than the set itself (informally the power set must be larger than the original set). In particular, Cantor's theorem shows that the power set of a countably infinite set is uncountably infinite. For example, the power set of the set of natural numbers can be put in a one-to-one correspondence with the set of real numbers (see cardinality of the continuum).
The power set of a set S, together with the operations of union, intersection and complement can be viewed as the prototypical example of a Boolean algebra. In fact, one can show that any finite Boolean algebra is isomorphic to the Boolean algebra of the power set of a finite set. For infinite Boolean algebras this is no longer true, but every infinite Boolean algebra is a subalgebra of a power set Boolean algebra (though this is not always a particularly illuminating representation of an infinite Boolean algebra).
The power set of a set S forms an Abelian group when considered with the operation of symmetric difference (with the empty set as its unit and each set being its own inverse) and a commutative semigroup when considered with the operation of intersection. It can hence be shown (by proving the distributive laws) that the power set considered together with both of these operations forms a commutative ring.
[edit] Representing subsets as functions
In set theory, XY is the set of all functions from Y to X. As 2 can be defined as {0,1} (see natural number), 2S (i.e., {0,1}S) is the set of all functions from S to {0,1}. By identifying a function in 2S with the corresponding preimage of 1, we see that there is a bijection between 2S and , where each function is the characteristic function of the subset in with which it is identified. Hence 2S and could be considered identical set-theoretically. (Thus there are two distinct notational motivations for denoting the power set by 2S: the fact that this function-representation of subsets makes it a special case of the XY notation and the property, mentioned above, that |2S| = 2|S|.)
We can apply this notion to the example above to see the isomorphism with the binary numbers from 0 to 2n-1 with n being the number of elements in the set. In S, a 1 in the position corresponding to the location in the set indicates the presence of the element. So {x, y} = 110
For the whole power set of S we get:
- { } = 000 (Binary) = 0 (Decimal)
- {x} = 100 = 4
- {y} = 010 = 2
- {z} = 001 = 1
- {x, y} = 110 = 6
- {x, z} = 101 = 5
- {y, z} = 011 = 3
- {x, y, z} = 111 = 7
[edit] Relation to binomial theorem
The power set is closely related to the binomial theorem. The number of sets with k elements in the power set of a set with n elements will be a combination C(n,k), also called a binomial coefficient.
For example the power set of a set with three elements, has:
- C(3,0) = 1 set with 0 elements
- C(3,1) = 3 sets with 1 element
- C(3,2) = 3 sets with 2 elements
- C(3,3) = 1 set with 3 elements.
[edit] Algorithms
If is a finite set, there is a recursive algorithm to calculate .
Define the operation
In English, return the set with the element added to each set in .
- If ,then is returned.
- Otherwise:
-
- Let be any single element of .
- Let , where '' denotes the relative complement of in .
- And the result: is returned.
In other words, the power set of the empty set is the set containing the empty set and the power set of any other set is all the subsets of the set containing some specific element and all the subsets of the set not containing that specific element.
There are other more efficient ways to calculate the power set. For example, the algorithm above can be memoized using dynamic programming techniques. Other more complex techniques, such as those using combinadics are also available.
[edit] Sample Implementations
Here is a sample implementation of the abovementioned algorithmn in PHP:
function powerset($set) { $c = sizeof($set); if ($c == 0) { // sets of cardinality = 0 // power set of empty set is the empty set return array(array()); } elseif ($c == 1) { // sets of cardinality = 1 // get set element list ($a,) = $set; // return power set (for sets of cardinality = 1): // {{},{a}} return array(array(), array($a)); } elseif ($c == 2) { // sets of cardinality = 2 // get set elements list ($a, $b,) = $set; // return power set (for sets of cardinality = 2): // {{}, {a}, {b}, {a,b}} return array(array(), array($a), array($b), array($a,$b)); } else { // sets of n-cardinality // split set S in sets H an T, such that: // S : {Element 1, Element 2, ..., Element n} -> // H : {Element 1}, // T : {Element 2, ..., Element n} $hd = array(array_shift($set)); // Note that variable $set now .contains T // return powerset of S as cartesian product of power sets of T and H return cjoin (powerset($hd), powerset($set)); } } // returns the cartesian product of sets $a and $b function cjoin($a, $b) { $out = array(); for ($x=0;$x < sizeof($a);$x++) { for ($y=0;$y < sizeof($b);$y++) { $out[] = array_merge($a[$x], $b[$y]); } } return $out; }
[edit] Topologization of power set
Since any family of functions XY from Y to X might be topologized establishing the so-called function space, the same can be done with the power set 2S identified as {0,1}S. This particular type of function space is often called hyperspace and the topology on the power set is referred to as hypertopology.
[edit] External links
- Eric W. Weisstein, Power Set at MathWorld.
- Power Set from Math Is Fun
- Power set on PlanetMath
- Java program implementation of Power set (available under the BSD license)