Bipartite matroid

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In mathematics, a bipartite matroid is a matroid all of whose circuits have even size.

Example

[edit | edit source]

A uniform matroid Unr is bipartite if and only if r is an odd number, because the circuits in such a matroid have size r+1.

Relation to bipartite graphs

[edit | edit source]

Bipartite matroids were defined by Welsh (1969) as a generalization of the bipartite graphs, graphs in which every cycle has even size. A graphic matroid is bipartite if and only if it comes from a bipartite graph.[1]

Duality with Eulerian matroids

[edit | edit source]

An Eulerian graph is one in which all vertices have even degree; Eulerian graphs may be disconnected. For planar graphs, the properties of being bipartite and Eulerian are dual: a planar graph is bipartite if and only if its dual graph is Eulerian. As Welsh showed, this duality extends to binary matroids: a binary matroid is bipartite if and only if its dual matroid is an Eulerian matroid, a matroid that can be partitioned into disjoint circuits.

For matroids that are not binary, the duality between Eulerian and bipartite matroids may break down. For instance, the uniform matroid U64 is non-bipartite but its dual U62 is Eulerian, as it can be partitioned into two 3-cycles. The self-dual uniform matroid U63 is bipartite but not Eulerian.

Computational complexity

[edit | edit source]

It is possible to test in polynomial time whether a given binary matroid is bipartite.[2] However, any algorithm that tests whether a given matroid is Eulerian, given access to the matroid via an independence oracle, must perform an exponential number of oracle queries, and therefore cannot take polynomial time.[3]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value)..