graph-tool is a Python module for manipulation and statistical analysis of graphs[disambiguation needed] (a.k.a. networks).
graph-tool是一个操作和统计分析图表的Python模块。
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.
graph-tool核心的数据结构和算法是用c++实现的,其大量使用元编程,依赖于Boost Graph库。
This type of approach can confer a level of performance which is comparable (both in memory usage and computation time) to that of a pure C++ library, which can be several orders of magnitude better than pure Python.[1]
这种方法会带来一定程度的性能优势,甚至能与纯c++库相匹敌(在内存使用和计算时间上),这可以比单纯使用Python好几个数量级。
Furthermore, many algorithms are implemented in parallel using OpenMP, which provides increased performance on multi-core architectures.
此外,许多算法由并行使用OpenMP实现,这使得其在多核体系结构机器上的性能有显著提升。
内容
- 特征
- 适用性
- 参考文献
- 外部链接
1.特征
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.
- 支持点,图形建模语言和GraphML格式。
Convenient and powerful graph drawing based on cairo or Graphviz.
- 便捷和强大的图形绘制能力(基于cairo和Graphviz)。
Support for typical statistical measurements: degree/property histogram, combined degree/property histogram, vertex-vertex correlations, assortativity, average vertex-vertex shortest path, etc.
- 支持典型的统计指标:degree/property直方图,combined degree/property直方图,vertex-vertex相关性,assortativity vertex-vertex平均最短路径等。
Support for several graph-theoretical algorithms: such as graph isomorphism, subgraph isomormism, 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.
- 支持集群系数,以及网络motif统计和群体结构检测。
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.
- 支持已经建立的网络模型:如,Price、Barabasi-Albert、几何网络多维网格图等。
2.适用性
Graph-tool can be used to work with very large graphs in a variety of contexts, including
Graph-tool可以用来处理各种情况下非常大的图,包括
simulation of cellular tissue
模拟细胞组织
data mining
数据挖掘
analysis of social networks
社交网络分析
analysis of P2P systems,[7]
P2P系统分析
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][12]
大规模的调用图分析
and analysis of the brain's Connectome.[13]
分析大脑的连接体
3.参考文献
参见原链接