具有多种生成模型的图论与网络科学工具

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>;

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何从ImageIO中排除特定的TIFF读取器?   JavaJMockit和passbyreference。我们中一定有一个人错了(可能是我!)   java Android camera2放弃了牛轧糖的表面,但在棉花糖上工作   java按字符串中出现的顺序对字符数组进行排序   如何获取Groovy生成的java源代码   java无法使用AutoIT和Selenium Webdriver在所需位置/文件夹保存图像   java为什么我的冒泡排序代码会打印出这些奇怪的东西?   java JAXB:typesafeEnumMemberName=“generateName”是否可自定义?   Java编程输入:今天是星期天输出:星期天是今天   java不理解首个OOAD书的吉他示例   java如何从JformattedTextfield检索货币格式值   java可以从相同的源代码生成功能不同的可执行文件吗?