新闻

关于 igraph 发布和其他事项

C/igraph 0.10.13

C/igraph 0.10.13,0.10 系列的第十二个错误修复版本已经发布,包含多个新功能、错误修复和性能改进。通常,源代码可以从 GitHub 发布页面 获取。

以下是 0.10.13 中的更改摘要。

已添加

  • igraph_bitset_fill() 将位集的所有元素设置为相同的值(实验性函数)。
  • igraph_bitset_null() 清除位集的所有元素(实验性函数)。
  • igraph_bitset_is_all_zero(), igraph_bitset_is_all_one(), igraph_bitset_is_any_zero(), igraph_bitset_is_any_one() 检查位集的任何/所有元素是否为零/一(实验性函数)。
  • igraph_chung_lu_game() 实现了经典的 Chung-Lu 模型,以及它的一些变体(实验性函数)。
  • igraph_mean_degree() 计算顶点度的平均值(实验性函数)。
  • igraph_count_loops() 计算图中的自环(实验性函数)。
  • igraph_is_clique() 检查顶点集合中的所有对是否都已连接(实验性函数)。
  • igraph_is_independent_vertex_set() 检查顶点集合中没有配对连接(实验性函数)。
  • igraph_hypercube() 创建一个超立方体图(实验性函数)。
  • igraph_vector_intersection_size_sorted() 计算两个排序向量的公共元素(实验性函数)。
  • igraph_stack_capacity() 返回堆栈的已分配容量。
  • igraph_vector_is_all_finite() 检查向量中的所有元素是否都是有限的(即既不是 NaN 也不是 Inf)。

已修复

  • 修复了当使用 IGRAPH_NO_LOOPSIGRAPH_NO_MULTIPLE 调用 igraph_init_adjlist() 且所有多重边都是环边时,错误缓存图没有多重边的错误。
  • 当测试有向森林时,igraph_is_forest() 将无法设置结果变量,并且已缓存该图不是无向森林。
  • 当存在负权重时,igraph_hub_and_authority_scores() 不再将负结果剪裁为零。
  • 修复了请求简单二分图时,使用一些非图形度序列时 igraph_realize_bipartite_degree_sequence() 中的断言失败。
  • igraph_static_fitness_game() 更仔细地检查输入,并避免罕见情况下的无限循环,例如当(几乎)所有适应度分数都为零时。
  • igraph_arpack_rnsolve() 对某些错误使用了不正确的错误消息文本。现在已更正。
  • 更正了配置期间某些 MSVC 特定位集内在函数的检测。
  • 更正了当 IGRAPH_INTEGER_SIZE 设置为 32 时 igraph_bitset_countl_zero() 的回退实现中的一个错误。此回退实现用于 GCC、Clang 或 MSVC。

已更改

  • igraph_is_graphical()igraph_is_bigraphical() 现在在所有情况下都是线性时间,并且通常比以前快几倍(感谢 @gendelpiekel,在 #2605 中贡献)。
  • igraph_erdos_renyi_game_gnp() 现在可以生成具有超过一亿个顶点的图。
  • 当存在负边权重时,igraph_hub_and_authority_scores() 现在会发出警告。
  • igraph_layout_lgl() 现在使用以指定为 proot 的顶点为根的 BFS 树来引导布局。以前它使用一个未指定的(任意)生成树。
  • 更新了 igraph 的 ARPACK 接口 igraph_arpack_rssolve()igraph_arpack_rnsolve() 使用的内部启发式方法,以提高计算的鲁棒性。
  • 使用 IGRAPH_PAGERANK_ALGO_ARPACK 更新了 igraph_hub_and_authority_scores()igraph_eigenvector_centrality()igraph_(personalized_)pagerank() 中的初始向量构造。这提高了计算的鲁棒性和收敛性。

其他

  • 文档改进。
  • 通过使用位集而不是布尔向量,减少了多个函数的内存使用。
  • 当输入向量大小相似时,igraph_vector_intersect_sorted() 具有更好的性能。