新闻

关于 igraph 发布和其他事项

python-igraph 0.5.1

igraph 0.5.1 发行说明

igraph 0.5.1 是一个错误修复版本,但实际上它也包含许多重要的新内容。以下是关于它们的简要摘要。请参阅下面以获取完整的更改列表。

添加了 DrL 布局生成器

这是一个由 Shawn Martin 及其同事编写的复杂且高效的布局生成器。 更多信息请参见 Python 文档

给定度序列的随机图的均匀抽样

添加了一个不错的随机图生成器,它以顶点的度数为条件。 它可以生成无向连通图。 该算法和实现由 Fabien Viger 和 Matthieu Latapy 完成。 更多信息请参见 Python 文档

加权最短路径算法

添加了 Dijkstra 和 Belmann-Ford 算法。 更多信息请参见 Python 手册

测试边互易性的函数

现在可以测试每条边的互易性。 更多信息请参见 Python 手册

Python 接口中的新增功能

  • 一个新的布局生成器,称为 DrL。
  • 使用给定度序列的随机连通无向图的均匀抽样。
  • 接受 igraph.INigraph.OUTigraph.ALL 常量的方法参数现在也接受这些作为字符串("in""out""all")。只要前缀匹配是唯一的,也允许前缀匹配。
  • Graph.shortest_paths() 现在支持边权重(实现了 Dijkstra 和 Bellman-Ford 算法)
  • Graph.get_shortest_paths() 也支持边权重(目前仅支持 Dijkstra 算法)
  • 添加了 Graph.is_mutual() 以查找有向图中的互边。
  • 添加了反向对数加权相似性度量(又名 Adamic/Adar 相似性)。
  • preference.gameasymmetric.preference.game 已重写,它们现在是 O(|V|+|E|),而不是 O(|V|^2)。
  • 现在可以从 Python 界面修改 ARPACK 选项(感谢 Kurt Jacobson)
  • 添加了 Layout.to_radial() – 现在您可以通过 Reingold-Tilford 算法创建一个自上而下的树布局,然后将其转换为径向树布局
  • 添加了 Graph.write_pajek() 以将图形保存为 Pajek 格式
  • 某些顶点和边相关的方法现在也可以通过 VertexSeqEdgeSeq 的方法访问,当然仅限于当前的顶点/边序列
  • 可视化现在支持三角形顶点
  • 添加了 Graph.mincut()
  • 添加了 Graph.Weighted_Adjacency() 以从加权邻接矩阵创建图形
  • Kamada-Kawai 和 Fruchterman-Reingold 布局现在接受初始顶点位置
  • Graph.Preference()Graph.Asymmetric_Preference() 已重写,它们现在是 O(|V|+|E|),而不是 O(|V|^2)。

修复了 Python 界面中的错误

  • Graph.constraint() 现在正确返回浮点数而不是整数(感谢 Eytan Bakshy)
  • 现在终于可以正确加载和保存由邻接矩阵给出的图形
  • Graph.Preference() 现在接受类型分布中的浮点数
  • 修复了 Graph.community_edge_betweenness() 中的一个小错误
  • 解决了一些数字属性处理中的错误
  • VertexSeqEdgeSeq 对象现在也可以通过列表和元组进行子集化
  • 修复了处理极小布局尺寸时的错误
  • 特征向量中心性现在总是返回正值
  • Graph.authority_score() 现在真正返回权威分数而不是中心分数(责怪复制粘贴)
  • Pajek 阅读器错误已更正,如果缺少 *Vertices,则会发生段错误。
  • 写入 GML 文件时,正确处理了方向性。(但请注意,“正确”在此处与标准冲突。)
  • 更正了在无向图上计算加权、有向 PageRank 时的错误。(无论如何,这没有意义。)
  • 在 Reingold-Tilford 布局中修复了几个错误以避免边交叉。
  • 修复了 GraphML 阅读器中的一个错误,当未指定图属性的值时。
  • 修复了小(3-4 个顶点)图的图同构例程中的一个错误。
  • 更正了随机抽样实现 (igraph_random_sample),现在它总是生成唯一的数字。这会影响 G(n,m) Erdos-Renyi 生成器,它现在总是生成简单的图。
  • LGL、NCOL 和 Pajek 图阅读器现在可以正确处理错误。
  • 非对称 ARPACK 求解器现在以一致的形式返回结果。
  • 快速贪婪社区检测例程现在检查图是否简单。
  • LGL 和 NCOL 解析器已更正,可以处理各种行尾编码。
  • Hub & 权威分数计算现在初始化 ARPACK 参数。
  • 修复了 Walktrap 社区检测例程中的一个错误,当应用于未连接的图时。
  • 删除了几个小的内存泄漏,以及 Spinglass 社区结构检测函数中的一个大的内存泄漏