

 
Manual Reference Pages  GRAPH::ADJACENCYMATRIX (3)
.ds Aq ’
NAME
Graph::AdjacencyMatrix  create and query the adjacency matrix of graph G
CONTENTS
SYNOPSIS
use Graph::AdjacencyMatrix;
use Graph::Directed; # or Undirected
my $g = Graph::Directed>new;
$g>add_...(); # build $g
my $am = Graph::AdjacencyMatrix>new($g);
$am>is_adjacent($u, $v)
my $am = Graph::AdjacencyMatrix>new($g, distance_matrix => 1);
$am>distance($u, $v)
my $am = Graph::AdjacencyMatrix>new($g, attribute_name => length);
$am>distance($u, $v)
my $am = Graph::AdjacencyMatrix>new($g, ...);
my @V = $am>vertices();
DESCRIPTION
You can use Graph::AdjacencyMatrix to compute the adjacency matrix
and optionally also the distance matrix of a graph, and after that
query the adjacencyness between vertices by using the is_adjacent()
method, or query the distance between vertices by using the
distance() method.
By default the edge attribute used for distance is w, but you
can change that in new(), see below.
If you modify the graph after creating the adjacency matrix of it,
the adjacency matrix and the distance matrix may become invalid.
Methods
Class Methods
new($g)

Construct the adjacency matrix of the graph $g.

new($g, options)

Construct the adjacency matrix of the graph $g with options as a hash.
The known options are

distance_matrix => boolean

By default only the adjacency matrix is computed. To compute also the
distance matrix, use the attribute distance_matrix with a true value
to the new() constructor.

attribute_name => attribute_name

By default the edge attribute used for distance is w. You can
change that by giving another attribute name with the attribute_name
attribute to new() constructor. Using this attribute also implicitly
causes the distance matrix to be computed.




Object Methods
is_adjacent($u, $v)

Return true if the vertex $v is adjacent to vertex $u, or false if not.

distance($u, $v)

Return the distance between the vertices $u and $v, or undef if
the vertices are not adjacent.

adjacency_matrix

Return the adjacency matrix itself (a list of bitvector scalars).

vertices

Return the list of vertices (useful for indexing the adjacency matrix).


ALGORITHM
The algorithm used to create the matrix is two nested loops, which is
O(V**2) in time, and the returned matrices are O(V**2) in space.
SEE ALSO
Graph::TransitiveClosure, Graph::BitMatrix
AUTHOR AND COPYRIGHT
Jarkko Hietaniemi jhi@iki.fi
LICENSE
This module is licensed under the same terms as Perl itself.
perl v5.20.3  GRAPH::ADJACENCYMATRIX (3)  20050416 
Visit the GSP FreeBSD Man Page Interface. Output converted with manServer 1.07. 