# Cycle space

In graph theory, a branch of mathematics, the (binary) **cycle space** of an undirected graph is the set of its even-degree subgraphs.

This set of subgraphs can be described algebraically as a vector space over the two-element finite field. The dimension of this space is the circuit rank of the graph. The same space can also be described in terms from algebraic topology as the first homology group of the graph. Using homology theory, the binary cycle space may be generalized to cycle spaces over arbitrary rings.

A spanning subgraph of a given graph *G* may be defined from any subset *S* of the edges of *G*. The subgraph has the same set of vertices as *G* itself (this is the meaning of the word "spanning") but has the elements of *S* as its edges. Thus, a graph *G* with *m* edges has 2^{m} spanning subgraphs, including *G* itself as well as the empty graph on the same set of vertices as *G*. The collection of all spanning subgraphs of a graph *G* forms the edge space of *G*.^{[1]}^{[2]}

A graph *G*, or one of its subgraphs, is said to be Eulerian if each of its vertices has an even number of incident edges (this number is called the degree of the vertex). This property is named after Leonhard Euler who proved in 1736, in his work on the Seven Bridges of Königsberg, that a connected graph has a tour that visits each edge exactly once if and only if it is Eulerian. However, an Eulerian subgraph does not need to be connected; for instance, the empty graph, in which all vertices are disconnected from each other, is Eulerian. The cycle space of a graph is the collection of its Eulerian spanning subgraphs.^{[1]}^{[2]}

If one applies any set operation such as union or intersection of sets to two spanning subgraphs of a given graph, the result will again be a subgraph. In this way, the edge space of an arbitrary graph can be interpreted as a Boolean algebra.^{[3]}

The cycle space, also, has an algebraic structure, but a more restrictive one. The union or intersection of two Eulerian subgraphs may fail to be Eulerian. However, the symmetric difference of two Eulerian subgraphs
(the graph consisting of the edges that belong to exactly one of the two given graphs) is again Eulerian.^{[1]} This follows from the fact that the symmetric difference of two sets with an even number of elements is also even. Applying this fact separately to the neighborhoods of each vertex shows that the symmetric difference operator preserves the property of being Eulerian.

A family of sets closed under the symmetric difference operation can be described algebraically as a vector space over the two-element finite field .^{[4]} This field has two elements, 0 and 1, and its addition and multiplication operations can be described as the familiar addition and multiplication of integers, taken modulo 2. A vector space consists of a set of elements together with an addition and scalar multiplication operation satisfying certain properties generalizing the properties of the familiar real vector spaces; for the cycle space, the elements of the vector space are the Eulerian subgraphs, the addition operation is symmetric differencing, multiplication by the scalar 1 is the identity operation, and multiplication by the scalar 0 takes every element to the empty graph, which forms the additive identity element for the cycle space.

An undirected graph may be viewed as a simplicial complex with its vertices as zero-dimensional simplices and the edges as one-dimensional simplices.^{[6]} The chain complex of this topological space consists of its edge space and vertex space (the Boolean algebra of sets of vertices), connected by a boundary operator that maps any spanning subgraph (an element of the edge space) to its set of odd-degree vertices (an element of the vertex space). The homology group

consists of the elements of the edge space that map to the zero element of the vertex space; these are exactly the Eulerian subgraphs. Its group operation is the symmetric difference operation on Eulerian subgraphs.

By Veblen's theorem,^{[11]} every Eulerian subgraph of a given graph can be decomposed into simple cycles, subgraphs in which all vertices have degree zero or two and in which the degree-two vertices form a connected set. Therefore, it is always possible to find a basis in which the basis elements are themselves all simple cycles. Such a basis is called a cycle basis of the given graph. More strongly, it is always possible to find a basis in which the basis elements are induced cycles or even (in a 3-vertex-connected graph) induced cycles whose removal does not separate the remaining graph.^{[12]}

If there exists a linear ordering of the cycles in a cycle basis such that each cycle includes at least one edge that is not part of any previous cycle, then the cycle basis is called **weakly fundamental**. Every fundamental cycle basis is weakly fundamental (for all linear orderings) but not necessarily vice versa. There exist graphs, and cycle bases for those graphs, that are not weakly fundamental.^{[13]}

If the edges of a graph are given real number weights, the weight of a subgraph may be computed as the sum of the weights of its edges. The minimum weight basis of the cycle space is necessarily a cycle basis, and can be constructed in polynomial time.^{[8]} The minimum weight basis is not always weakly fundamental, and when it is not it is NP-hard to find the weakly fundamental basis with the minimum possible weight.^{[13]}

If a planar graph is embedded into the plane, its chain complex of edges and vertices may be embedded into a higher dimensional chain complex that also includes the sets of faces of the graph. The boundary map of this chain complex takes any 2-chain (a set of faces) to the set of edges that belong to an odd number of faces in the 2-chain.
The boundary of a 2-chain is necessarily an Eulerian subgraph, and every Eulerian subgraph can be generated in this way from exactly two different 2-chains (each of which is the complement of the other).^{[14]} It follows from this that the set of bounded faces of the embedding forms a cycle basis for the planar graph: removing the unbounded face from this set of cycles reduces the number of ways each Eulerian subgraph can be generated from two to exactly one.

Mac Lane's planarity criterion, named after Saunders Mac Lane, characterizes planar graphs in terms of their cycle spaces and cycle bases. It states that a finite undirected graph is planar if and only if the graph has a cycle basis in which each edge of the graph participates in at most two basis cycles. In a planar graph, a cycle basis formed by the set of bounded faces of an embedding necessarily has this property: each edge participates only in the basis cycles for the two faces it separates. Conversely, if a cycle basis has at most two cycles per edge, then its cycles can be used as the set of bounded faces of a planar embedding of its graph.^{[14]}^{[15]}

The cycle space of a planar graph is the cut space of its dual graph, and vice versa.
The minimum weight cycle basis for a planar graph is not necessarily the same as the basis formed by its bounded faces: it can include cycles that are not faces, and some faces may not be included as cycles in the minimum weight cycle basis. There exists a minimum weight cycle basis in which no two cycles cross each other: for every two cycles in the basis, either the cycles enclose disjoint subsets of the bounded faces, or one of the two cycles encloses the other one. Following the duality between cycle spaces and cut spaces, this basis for a planar graph corresponds to a Gomory–Hu tree of the dual graph, a minimum weight basis for its cut space.^{[16]}