具有多种生成模型的图论与网络科学工具
graph-tools的Python项目详细描述
Grapht工具包
图论工具-具有多种生成模型的图论和网络科学工具
说明
这个手动页面记录了graph tools模块,一个python模块 提供了许多用于处理有向/无向图和 复杂的网络。图形工具最初是为联网而开发的 在图论和网络领域进行实验的研究人员 科学。graph tools提供graph类,该类同时支持 以及具有多个边、顶点权重、边权重和 图形属性。若干图/网络生成模型及图 支持算法。
*graph tools的主要功能是:
带多条边的有向/无向图,顶点权,边权, 和图形属性
顶点操作(添加、删除、次数、邻居、随机顶点和 设置/获取顶点属性)
边缘操作(添加、删除、随机边缘和设置/获取边缘属性)
图运算(复制、邻接矩阵、对角矩阵、拉普拉斯矩阵)
- 主要图形算法(探索、连通、分量、极大值) 组件,dijkstra,floyd warshall,中间中心)
谱图论(谱半径,谱间隙,自然连通性, 代数连接性、有效阻力和生成树计数)
许多图形/网络生成模型(随机图,ER(鄂尔多斯仁义), BA(Barabasi-Albart),随机BA,环,树,二叉树,BA树, 广义ba,潜伏,格,voronoi,db(有界度),构形 模型,随机正则图,李面图)
以点(graphviz)格式导入/导出图形
历史记录
graph工具的开发始于2007年,最初是 cpan(综合perl archvie网络)中图形模块的扩展 贾科·希塔尼米。我们的perl模块已经被称为graphtools很久了 time和perl模块名是graph::util和graph::enhanced。 graphtools在Perl中已经开发到2018年。python版本 graph tools是通过将perl中的graphtools移植到python而在2018年诞生的。 因此,内部结构和编码风格收到了重要的 Jarkko Hietaniemi的图形模块的影响。
示例
fromgraph_toolsimportGraph# create a graph with four nodes and two edgesg=Graph(directed=True)g.add_edge(1,2)g.add_edge(2,3)g.add_vertex(4)print(g)# find the all shortest paths from vertex 1dist,prev=g.dijkstra(1)print(dist)# generate BA graph with 100 verticesg=Graph(directed=False).create_graph('barabasi',100)# check if all vertices are mutually connectedprint(g.is_connected())# compute the betweenness centrality of vertex 1print(g.betweenness(1))
安装
pip3installgraph-tools
可用性
pypi提供最新版本的graph tools模块 (https://pypi.org/project/graph-tools/)。
另请参见
graphviz-图形可视化软件(https://graphviz.org/)
作者
Hiroyuki Ohsaki<;Ohsaki[atmark]lsnl.jp>;