In matroid theory, the dual of a matroid M {\displaystyle M} is another matroid M ∗ {\displaystyle M^{\ast }} that has the same elements as M {\displaystyle M} , and in which a set is independent if and only if M {\displaystyle M} has a basis set disjoint from it.[1][2][3]
Matroid duals go back to the original paper by Hassler Whitney defining matroids.[4] They generalize to matroids the notions of plane graph duality.
Duality is an involution: for all M {\displaystyle M} , ( M ∗ ) ∗ = M {\displaystyle (M^{\ast })^{\ast }=M} .[1][3][4]
An alternative definition of the dual matroid is that its basis sets are the complements of the basis sets of M {\displaystyle M} . The basis exchange axiom, used to define matroids from their bases, is self-complementary, so the dual of a matroid is necessarily a matroid.[3]
The flats of M {\displaystyle M} are complementary to the cyclic sets (unions of circuits) of M ∗ {\displaystyle M^{\ast }} , and vice versa.[3]
If r {\displaystyle r} is the rank function of a matroid M {\displaystyle M} on ground set E {\displaystyle E} , then the rank function of the dual matroid is r ∗ ( S ) = r ( E ∖ S ) + | S | − r ( E ) {\displaystyle r^{\ast }(S)=r(E\setminus S)+|S|-r(E)} .[1][3][4]
A matroid minor is formed from a larger matroid M {\displaystyle M} by two operations: the restriction M ∖ x {\displaystyle M\setminus x} deletes element x {\displaystyle x} from M {\displaystyle M} without changing the independence or rank of the remaining sets, and the contraction M / x {\displaystyle M/x} deletes x {\displaystyle x} from M {\displaystyle M} after subtracting one from the rank of every set it belongs to. These two operations are dual: M ∖ x = ( M ∗ / x ) ∗ {\displaystyle M\setminus x=(M^{\ast }/x)^{\ast }} and M / x = ( M ∗ ∖ x ) ∗ {\displaystyle M/x=(M^{\ast }\setminus x)^{\ast }} . Thus, a minor of a dual is the same thing as a dual of a minor.[5]
An individual matroid is self-dual (generalizing e.g. the self-dual polyhedra for graphic matroids) if it is isomorphic to its own dual. The isomorphism may, but is not required to, leave the elements of the matroid fixed. Any algorithm that tests whether a given matroid is self-dual, given access to the matroid via an independence oracle, must perform an exponential number of oracle queries, and therefore cannot take polynomial time.[6]
Many important matroid families are self-dual, meaning that a matroid belongs to the family if and only if its dual does. Many other matroid families come in dual pairs. Examples of this phenomenon include:
It is an open problem whether the family of algebraic matroids is self-dual.
If V is a vector space and V* is its orthogonal complement, then the linear matroid of V and the linear matroid of V* are duals. As a corollary, the dual of any linear matroid is a linear matroid.[13]