Graph-tool
From Wikipedia, the free encyclopedia
graph-tool is a Python module for manipulation and statistical analysis of graphs (AKA networks). The core data structures and algorithms of graph-tool are implemented in C++, making extensive use of metaprogramming, based heavily on the Boost Graph Library.[1] Many algorithms are implemented in parallel using OpenMP, which provides increased performance on multi-core architectures.
This article may rely excessively on sources too closely associated with the subject, potentially preventing the article from being verifiable and neutral. (January 2021) |
![]() | |
Developer(s) | Tiago P. Peixoto |
---|---|
Stable release | 2.45
/ 22 May 2022 |
Repository | |
Written in | Python, C++ |
Operating system | OS X, Linux |
Type | Software library |
License | LGPL |
Website | graph-tool |
Features
- Creation and manipulation of directed or undirected graphs.
- Association of arbitrary information to the vertices, edges or even the graph itself, by means of property maps.
- Filter vertices and/or edges "on the fly", such that they appear to have been removed.
- Support for dot, Graph Modelling Language and GraphML formats.
- Convenient and powerful graph drawing based on cairo or Graphviz.
- Support for typical statistical measurements: degree/property histogram, combined degree/property histogram, vertex-vertex correlations, assortativity, average vertex-vertex shortest path, etc.
- Support for several graph-theoretical algorithms: such as graph isomorphism, subgraph isomorphism, minimum spanning tree, connected components, dominator tree, maximum flow, etc.
- Support for several centrality measures.
- Support for clustering coefficients, as well as network motif statistics and community structure detection.
- Generation of random graphs, with arbitrary degree distribution and correlations.
- Support for well-established network models: Price, Barabási-Albert, Geometric Networks, Multidimensional lattice graph, etc.
Suitability
Graph-tool can be used to work with very large graphs [clarification needed] in a variety of contexts, including simulation of cellular tissue,[2] data mining,[3][4] analysis of social networks,[5][6] analysis of P2P systems,[7] large-scale modeling of agent-based systems,[8] study of academic Genealogy trees,[9] theoretical assessment and modeling of network clustering,[10] large-scale call graph analysis,[11] and analysis of the brain's Connectome.[12]
References
External links
Wikiwand - on
Seamless Wikipedia browsing. On steroids.