发行说明
库本身有很多新功能,以及项目生命中的其他重要更改。感谢大家的发送代码和报告错误!
github 上的 igraph
igraph 的开发已从 Launchpad 转移到 github。实际上,这几个月前已经发生,但从未正式宣布。报告错误的地方是 https://github.com/igraph/igraph/issues。
新主页
igraph 的主页现在托管在 https://igraph.cn,它是全新的。我们希望使其更易于使用和现代。
更好的 nightly 下载
您可以从 igraph 的 https://igraph.cn/nightly 下载每夜构建版本。目前构建了源代码和二进制 R 包(适用于 Windows 和 OSX)、C 库捆绑包和 Python 源代码包。我们计划很快添加二进制 Python 包。
其他新闻和修复
- 支持在主导特征向量社区检测中使用的边权重。
- 添加了 LAD 库,用于检查(子)图同构,版本 1。
- 支持二分 Pajek 文件中的关联矩阵。
- 添加了
Graph.layout_bipartite()
函数,这是一个用于二分图的简单两列布局。
- 矩阵格式的 Pajek 文件现在默认是有向的,除非它们是二分图。
- 当文件采用矩阵格式时,支持 Pajek 中加权(和有符号)网络。
- 修复了
Barabasi()
中的一个错误,算法 psumtree-multiple 只是冻结了。
- 在 GraphML 和 GML 读取器和写入器中添加了对布尔属性的支持。
- 添加了对布尔属性的支持
- 更新 MDS 布局坐标,第一维根据第一个特征值等。
- 添加了
Graph.st_mincut()
方法,用于查找图中的最小 s-t 切割。
- 添加了对
Graph.mincut()
中 source= 和 target= 参数的支持。
Graph.rewire()
:现在支持生成和销毁环。
- Erdos-Renyi 型二分随机图:
Graph.Random_Bipartite()
。
- Python:将 igraph.nexus 移动到 igraph.remote.nexus
- 如果根本没有合并,则修复多层社区的模块化值。
- 添加了 keep_aspect_ratio 选项到
Graph.__plot__()
。
- 修复了
igraph_edge_connectivity()
中的潜在崩溃,因为 C 代码中存在一个未初始化的变量。
- VertexSeq 和 EdgeSeq 现在可以使用 NumPy 整数进行索引
- 避免
Graph.closeness()
和相关函数中的溢出。
- 在 IPython 中内联显示绘图。
- 修复了 infomap 社区检测中的无效内存读取(以及潜在的崩溃)。
- 修复了 triad census 中将结果的第一个元素设置为 NaN 的错误。
- 修复了加权模块化计算中的一个错误,权重的总和被截断为整数。
- 修复了加权多层社区中的一个错误,最大权重被舍入为整数。
- 重新实现具有间隙启发式的 push-relabel 最大流算法。
- 修复了
RunningMean.__length__()
的无效返回值。
- 修复了当 ID 属性为数字时,Pajek 写入器中缺少空格的问题。
- 修复了一个错误,该错误导致 GML 读取器在 ID 属性为非数字时崩溃。
- 添加了 Vertex.graph 和 Edge.graph 属性。
- 修复了 dyad census 不稳定性,有时会报告不正确的结果。
- Dyad census 现在检测整数溢出并给出警告。
- 添加了 Gomory-Hu 树实现:
Graph.gomory_hu_tree()
。
- 整理了
Vertex.constraint()
的返回类型不一致问题,关闭了 #259。
- 为
Graph.community_optimal_modularity()
添加了权重支持,关闭了 #511。
- 更快的最大团查找。
- 修复了
Graph.isomorphic_vf2()
中的一个错误,边缘颜色被忽略了。
- 添加了对绘制边缘标签的初步支持。
- 从随机块模型生成图:
Graph.SBM()
。
- 我们使用 PRPACK 来计算 PageRank 分数,请参阅 https://github.com/dgleich/prpack
- 在
igraph_hrg_fit
中实现 start
参数 (#225)。
- 修复了图密度中的一个错误,该错误导致带环的无向图的值不正确。
- 修复了一个使 Bellman-Ford 最短路径计算失败的错误。
- 修复了加权无向图的最小割错误 (#564)。
- 修复了最小割及其相关函数中的参数顺序。