causal_networkx.algorithms.is_directed_acyclic_graph#

causal_networkx.algorithms.is_directed_acyclic_graph(G)[source]#

Check if G is a directed acyclic graph (DAG) or not.

Parameters:

G : instance of DAG

The causal graph.

Returns:

is_dag : bool

True if G is a DAG, False otherwise.

See also

topological_sort

Examples

Undirected graph:

>>> G = ADMG(nx.Graph([(1, 2), (2, 3)]))
>>> causal_networkx.is_directed_acyclic_graph(G)
False

Directed graph with cycle:

>>> G = ADMG(nx.DiGraph([(1, 2), (2, 3), (3, 1)]))
>>> causal_networkx.is_directed_acyclic_graph(G)
False

Directed acyclic graph:

>>> G = ADMG(nx.DiGraph([(1, 2), (2, 3)]))
>>> causal_networkx.is_directed_acyclic_graph(G)
True