use Graph::TransitiveClosure;(3) use Graph::Directed; # or Undirected

DESCRIPTION

You can use "Graph::TransitiveClosure" to compute the transitive closure graph of a graph and optionally also the minimum paths (lengths and vertices) between vertices, and after that query the transitiveness between vertices by using the "is_reachable()" and "is_transitive()" methods, and the paths by using the "path_length()" and "path_vertices()" methods.

For further documentation, see the Graph::TransitiveClosure::Matrix.

Class Methods

new($g, %opt)
Construct a new transitive closure object. Note that strictly speaking the returned object is not a graph; it is a graph plus other stuff. But you should be able to use it as a graph plus a couple of methods inherited from the Graph::TransitiveClosure::Matrix class.

Object Methods

These are only the methods 'native' to the class: see Graph::TransitiveClosure::Matrix for more.
is_transitive($g)
Return true if the Graph $g is transitive.
transitive_closure_matrix
Return the transitive closure matrix of the transitive closure object.

INTERNALS

The transitive closure matrix is stored as an attribute of the graph called "_tcm", and any methods not found in the graph class are searched in the transitive closure matrix class.