Warning

This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.

networkx.algorithms.dag.is_aperiodic

is_aperiodic(G)[source]

Returns True if G is aperiodic.

A directed graph is aperiodic if there is no integer k > 1 that divides the length of every cycle in the graph.

Parameters

G (NetworkX DiGraph) – A directed graph

Returns

True if the graph is aperiodic False otherwise

Return type

bool

Raises

NetworkXError – If G is not directed

Notes

This uses the method outlined in 1, which runs in \(O(m)\) time given \(m\) edges in G. Note that a graph is not aperiodic if it is acyclic as every integer trivial divides length 0 cycles.

References

1

Jarvis, J. P.; Shier, D. R. (1996), “Graph-theoretic analysis of finite Markov chains,” in Shier, D. R.; Wallenius, K. T., Applied Mathematical Modeling: A Multidisciplinary Approach, CRC Press.