igraph 0.5.1 发行说明
igraph 0.5.1 是一个错误修复版本,但实际上它也包含许多重要的新内容。以下是关于它们的简要摘要。请参阅下面以获取完整的更改列表。
添加了 DrL 布局生成器
这是一个由 Shawn Martin 及其同事编写的复杂而高效的布局生成器。请参阅参考手册了解更多信息。
添加了一个很好的随机图生成器,它以顶点的度数为条件。它可以生成无向连通图。该算法和实现由 Fabien Viger 和 Matthieu Latapy 完成。请参阅参考手册了解更多信息。
加权最短路径算法
添加了 Dijkstra 和 Belmann-Ford 算法。请参阅
参考手册。
测试边互易性的函数
现在可以测试每条边的互易性。请参阅参考手册了解更多信息。
C 层中的新功能
- 一个新的布局生成器,称为 DrL。
- 使用给定度序列的随机连通无向图的均匀抽样。
- 一些随机测试结果被忽略(对于 spinglass 社区检测,一些 Erdos-Renyi 生成器测试)
- 加权最短路径,Dijkstra 算法。
- 未加权的最短路径例程为无法到达的顶点返回
Inf
。
- 新函数,
igraph_adjlist
可以从邻接列表创建 igraph 图。
- 新函数,
igraph_weighted_adjacency
可以从权重矩阵创建加权图。
- 新函数,
igraph_is_mutual
用于搜索互边。
- 添加了反向对数加权相似性度量(又名 Adamic/Adar 相似性)。
igraph_preference_game
和 igraph_asymmetric_preference_game
已被重写,现在是 O(|V|+|E|),而不是 O(|V|^2)。
- 添加了 Bellman-Ford 最短路径算法。
- 添加了基于 Dijkstra 算法的
igraph_get_shortest_paths
的加权变体。
- 删除了几个小的内存泄漏,以及 Spinglass 社区结构检测函数中的一个大的内存泄漏
C 层中更正的错误
- 在(仍然是实验性的)C 属性处理程序中更正了几个错误。
- Pajek 阅读器错误已更正,如果缺少
*Vertices
,则会发生段错误。
- 写入 GML 文件时,正确处理了方向性。(但请注意,“正确”在此处与标准冲突。)
- 更正了在无向图上计算加权、有向 PageRank 时的错误。(无论如何,这没有意义。)
- 一些代码润色以使 igraph 可以使用 GCC 4.3 编译
- 在 Reingold-Tilford 布局中修复了几个错误以避免边交叉。
- 修复了 GraphML 阅读器中的一个错误,当未指定图属性的值时。
- 修复了小(3-4 个顶点)图的图同构例程中的一个错误。
- 更正了随机抽样实现 (
igraph_random_sample
),现在它总是生成唯一的数字。这会影响 G(n,m) Erdos-Renyi 生成器,它现在总是生成简单的图。
- 基本 igraph 构造函数 (
igraph_empty_attrs
,所有函数都应在内部调用此函数) 现在检查顶点数是否有限。
- LGL、NCOL 和 Pajek 图阅读器现在可以正确处理错误。
- 非对称 ARPACK 求解器现在以一致的形式返回结果。
- 快速贪婪社区检测例程现在检查图是否简单。
- LGL 和 NCOL 解析器已更正,可以处理各种行尾编码。
- Hub & authority 分数计算现在初始化 ARPACK 参数。x
- 修复了 Walktrap 社区检测例程中的一个错误,当应用于未连接的图时。