新闻

关于 igraph 发布和其他事项

python-igraph 0.5.2

发行说明

这是另一个错误修复版本,带有几个新功能。以下是重要的功能。请参阅最后以获取完整的更改列表。

二分图

二分图有两种顶点,并且只允许边连接相反的类型。想想好莱坞电影图,其中包含演员和电影。igraph 0.5.2 现在包含一些处理这些类型网络的函数。

标签传播社群发现算法

这是一个简单直观的社群发现算法,由 Raghavan 等人在 2007 年发表(请参阅文档以获取完整引用)。它的工作原理是为顶点分配标签,然后根据邻居中的多数投票更新标签。

DrL 布局生成器的 3D 版本

DrL 布局生成器已扩展为生成三维布局。虽然比常规 2D 版本慢,但这对于那些在 3D 中进行可视化的人来说是一个不错的补充。

Johnson 最短路径算法

Johnson 算法是在具有一些负边权重但没有负环的网络中查找所有最短路径的良好选择。

平均最近邻居度

添加了一个新函数来计算所有或某些顶点的邻居的平均度。它也支持该度量的边加权版本。

修复了几个错误和内存泄漏

除了错误修复之外,还重写了一些函数以加快速度。

Python 接口中的新增功能

  • 加速了介数估计
  • 添加了 Johnson 最短路径算法(如果需要,由 Graph.shortest_paths() 自动选择)
  • 加权度(也称为强度)计算,Graph.strength()
  • 一些新的方法来支持二分图:Graph.Bipartite(), Graph.is_bipartite(), Graph.get_indicence(), Graph.Incidence(), Graph.bipartite_projection(), Graph.bipartite_projection_size()
  • 添加了 Raghavan 等人的标签传播社区检测算法,Graph.community_label_propagation()
  • 添加了一个“展开”树的函数,Graph.unfold_tree()
  • setup.py 脚本改进
  • 图绘制现在支持 edge_arrow_sizeedge_arrow_width
  • 添加了 Graph.Formula 以从简单的表示法创建小图
  • VertexSeqEdgeSeq 对象现在可以通过切片进行索引

C 层中更正的错误

  • 修复了 igraph_isomorphic_function_vf2() 中的一个错误,影响了所有 VF2 图同构函数
  • igraph_degree_sequence_game() 中的 VL 图生成器现在检查度的总和是否为偶数
  • 许多小的修正使 igraph 能够与 Microsoft Visual Studio 2003、2005 和 2008 一起编译
  • 许多修复程序用于支持各种编译器,例如 GCC 4.4 和 Sun 的 C 编译器
  • 修复了从 LGL 导入图形并导出到 NCOL 格式时的错误 (#289596)
  • 修复了 igraph_automorphisms(), igraph_shortest_paths_bellman_ford(), igraph_independent_vertex_sets() 中的内存泄漏
  • GraphML 阅读器检查属性的名称以避免添加重复的 id 属性
  • 可以更改 igraph_community_leading_eigenvector()ncv ARPACK 参数
  • 修复了 igraph_path_length_hist() 中的一个错误,对于未连接的无向图,unconnected 是错误的。