eulerize#

eulerize(G)[source]#

Transforms a graph into an Eulerian graph.

If G is Eulerian the result is G as a MultiGraph, otherwise the result is a smallest (in terms of the number of edges) multigraph whose underlying simple graph is G.

Parameters:
GNetworkX graph

An undirected graph

Returns:
GNetworkX multigraph
Raises:
NetworkXError

If the graph is not connected.

References

[1]

J. Edmonds, E. L. Johnson. Matching, Euler tours and the Chinese postman. Mathematical programming, Volume 5, Issue 1 (1973), 111-114.

Examples

>>> G = nx.complete_graph(10)
>>> H = nx.eulerize(G)
>>> nx.is_eulerian(H)
True