关于 igraph 发布和其他事项
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_LOOPS
和 IGRAPH_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()
对某些错误使用了不正确的错误消息文本。现在已更正。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_rssolve()
和 igraph_arpack_rnsolve()
使用的内部启发式方法,以提高计算的鲁棒性。IGRAPH_PAGERANK_ALGO_ARPACK
更新了 igraph_hub_and_authority_scores()
、igraph_eigenvector_centrality()
和 igraph_(personalized_)pagerank()
中的初始向量构造。这提高了计算的鲁棒性和收敛性。igraph_vector_intersect_sorted()
具有更好的性能。