新闻

关于 igraph 发布和其他事项

C/igraph 0.10.15

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

以下是 0.10.15 中的更改摘要。

已添加

  • igraph_bitset_update() 将一个位集的内容复制到另一个位集中(实验性函数)。
  • igraph_vector_sort_ind() (重命名自 igraph_vector_qsort_ind())。
  • igraph_vector_contains_sorted() (重命名自 igraph_vector_binsearch2())。
  • igraph_vector_reverse_section() 反转向量的连续部分。
  • igraph_vector_rotate_left() 对向量应用循环置换。
  • igraph_strvector_swap_elements()igraph_strvector_t 中交换两个字符串。
  • igraph_find_cycle() 在图中查找单个循环(如果存在)(实验性函数)。
  • igraph_feedback_vertex_set() 在有向图或无向图中查找最小反馈顶点集(实验性函数)。
  • igraph_simple_cycles()igraph_simple_cycles_callback() 查找图中的所有简单循环,可以选择循环长度的上限(实验性函数)。非常感谢 @GenieTim#2181 中为此功能做出的贡献。

已更改

  • igraph_feedback_arc_set() 使用更快的方法来解决精确的最小反馈弧集问题。 默认情况下(即使用 IGRAPH_FAS_EXACT_IP),使用新方法(IGRAPH_FAS_EXACT_IP_CG),但以前的方法也仍然可用(IGRAPH_FAS_EXACT_IP_TI)。
  • igraph_motifs_randesu()igraph_motifs_randesu_callback()igraph_motifs_randesu_estimate()igraph_motifs_randesu_no() 现在接受其 cut_prob 参数的 NULL,表示应执行完整搜索。
  • 如果没有以明确定义的方式标准化顶点级特征向量中心性,igraph_centralization_eigenvector_centrality_tmax()igraph_centralization_eigenvector_centrality() 无法产生有意义的结果。 使用 scale=false 时并非如此。 这些函数现在忽略 scale 参数的值,并且始终缩放顶点级中心性得分,使其最大值为 1。 如果您需要对顶点级特征向量中心性得分进行不同类型的标准化,请手动执行此标准化,并调用 igraph_centralization() 来计算中心化。
  • igraph_eigenvector_centrality() 接收到有向无环图作为输入时,它现在生成一个特征向量,该特征向量在汇顶点中为 1,在其他地方为 0。 以前,它会返回一个全零向量。 请注意,对于非(强)连接图,特征向量中心性并非唯一确定,并且这两个结果都可以认为是有效的。 此更改是为了确保与特征向量中心性理论最大值的定义一致,该定义假设入星是最集中的有向网络。

已修复

  • igraph_layout_drl()igraph_layout_drl_3d() 在中断时会因断言失败而崩溃。 现在已修复此问题。
  • igraph_community_spinglass_single() 中删除了已损坏的中断支持。
  • 在极少数情况下,igraph_community_multilevel() 可能会进入无限循环。 现在已更正此问题。
  • 修复了在请求 modularity 但不是 membershipigraph_community_voronoi() 中的空指针取消引用。
  • 修复了在请求 modularity 但不是 membership 并且传递空图或单例图时 igraph_community_optimal_modularity() 中的空指针取消引用。
  • 当传递 distances=NULLdistances_are_weights=true 时,igraph_layout_umap()igraph_layout_umap_3d() 会崩溃。 现在已修复此问题。
  • igraph_layout_umap()igraph_layout_umap_3d() 会在中断时崩溃。 现在已修复此问题。
  • igraph_read_graph_pajek() 现在会警告输入文件中重复的顶点 ID。
  • 文档中记录的 igraph_strvector_resize_min() 在标头中缺失。
  • igraph_feedback_arc_set() 现在验证边权重。
  • 由于初始坐标选择不佳,自 igraph 0.10.0 以来 igraph_layout_lgl() 无法正常工作。 现在已修复此问题。
  • igraph_centralization_degree_tmax()igraph_centralization_betweenness_tmax()igraph_centralization_closeness_tmax()igraph_centralization_eigenvector_centrality_tmax() 现在验证它们的 nodes 参数。
  • igraph_centralization_degree_tmax()igraph_centralization_betweenness_tmax()igraph_centralization_closeness_tmax()igraph_centralization_eigenvector_centrality_tmax() 现在为零顶点图返回 NaN。 以前它们会返回无效值。
  • igraph_centralization_eigenvector_centrality_tmax() 现在为无向单例图返回 0。 以前它会返回无效值。
  • igraph_motifs_randesu_estimate() 现在验证样本大小。
  • igraph_bipartite_projection_size() 现在验证二分 types 向量。

已弃用

  • igraph_minimum_spanning_tree_prim()igraph_minimum_spanning_tree_unweighted() 已弃用。 请改用 igraph_minimum_spanning_tree()igraph_subgraph_from_edges() 结合使用。
  • igraph_array3_t 和所有关联的函数都已弃用,并计划在 igraph 1.0 中删除。
  • 弃用 igraph_vector_qsort_ind(),而推荐使用 igraph_vector_sort_ind()
  • 弃用 igraph_vector_binsearch2(),而推荐使用 igraph_vector_contains_sorted()

其他

  • 修复了基准测试程序中的多个内存泄漏。
  • 文档改进。