NAME

Graph::Enhanced - Extensive graph library compatible with Graph module.

Version 1.34 / Apr 16, 2018

What is Graph::Enhanced?

Graph::Enhanced is an extensive graph library, which was initially developped as extensions to Graph module developed by Jarkko Hietaniemi. But Graph::Enhanced has been completely rewritten, and it is now independent of Graph module. Graph::Enhanced implements its own data structures and functions for manipulating directed/undirected graphs.

Graph::Enhanced provides the following methods.

new
directed
undirected
multiedged
set_graph_attribute
get_graph_attribute
average_degree
expect_undirected
expect_directed
expect_multiedged
vertices
has_vertex
add_vertex
add_vertices
predecessors
successors
neighbors
set_vertex_attribute
get_vertex_attribute
set_vertex_attributes
get_vertex_attributes
set_vertex_weight
get_vertex_weight
delete_vertex
random_vertex
edges
unique_edges
has_edge
get_multiedge_ids
get_edge_count
add_edge
delete_edge
delete_all_edges
edges_from
edges_to
edges_at
out_degree
in_degree
degree
random_edge
set_edge_attribute_by_id
get_edge_attribute_by_id
set_edge_attributes_by_id
get_edge_attributes_by_id
set_edge_weight_by_id
get_edge_weight_by_id
get_edge_weight
dijkstra
dijkstra_all_pairs
floyd_warshall
is_reachable
is_connected
explore
copy_graph
directed_copy
complete_graph
create_graph
create_random_graph
create_random_sparse_graph
create_barabasi_graph
create_barabasi_random_graph
create_ring_graph
create_tree_graph
create_btree_graph
create_treeba_graph
create_generalized_barabasi_graph
create_latent_graph
create_lattice_graph
create_voronoi_graph
import_graph
import_dot
import_dot_quick
import_dimacs
import_inet
import_brite
import_gw
import_nsnode
import_nsagent
import_metis
import_edge
export_graph
export_dot
export_dimacs
export_inet
export_brite
export_gw
export_nsnode
export_nsagent
export_nsagent_edge
export_nsagent_udp
export_metis
export_pdnsnode
export_pdnsagent
export_gdl

Graph::Enhanced also includes several handy tools for manipulating graphs. Noticeable features of Graph::Enhanced are: (1) creation of different types of graphs, including tree, random and scale-free networks, and (2) import and export of graph data in multiple formats, such as dot, dimacs, inet, brite, gw, ns2, pdns, and metis.

Also, Graph::Enhanced includes the following programs:

graphconv - Generic graph format converter
graphgen - Generate a graph and dump in standard output
graphstat - Calcurate graph statistics
ns2dot - Parse ns2 simulation script, and visualize network topology and flows

Availability

The latest version of Graph::Enhanced can be found at the following location.

http://www.lsnl.jp/~ohsaki/software/graphtools/Graph-Enhanced-1.34.tar.gz

Copyright

Copyright (C) 2004-2018 Hiroyuki Ohsaki (ohsaki[atmark]lsnl.jp)

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Installation

Graph::Enhanced uses standard Perl's MakeMaker module. Thus, just type the following commands.

perl Makefile.PL
make 
make install

Feedback

Graph::Enhanced has been still under development process. You will encounter various bugs and troubles. If you find any bugs, first check if a newer version exists. If not, please mail bug report or fixing patch to me. I appreciate your comments and/or suggestions.

References

graphconv(1), graphgen(1), graphmergelink(1), graphstat(1), ns2dot(1)

Author

Hiroyuki Ohsaki (ohsaki[atmark]lsnl.jp)