关于 igraph 发布和其他事项
C/igraph 0.10.3,0.10 系列的第三个错误修复版本已发布。
可以从 GitHub 发布页面 获取源代码。
此版本增加了对生成三角形和六边形晶格、从“父”向量构建树以及检索顶点集的诱导子图中边的 ID 的支持。它还改进了 UMAP 布局函数的实验性 API,修复了一些错误并改进了文档。
请继续阅读以了解有关 0.10.3 版本中更改的更多详细信息。
igraph_matrix_init_array()
用于通过复制按列优先或行优先顺序排列的现有 C 数组来初始化 igraph 矩阵。igraph_layout_umap_compute_weights()
从距离计算 UMAP 布局算法的权重。这曾经是 igraph_layout_umap()
的一部分,但现在位于一个单独的函数中,允许用户尝试不同的加权方案。igraph_triangular_lattice()
用于生成各种类型的三角形晶格。igraph_hexagonal_lattice()
用于生成各种类型的六边形晶格。igraph_tree_from_parent_vector()
用于从父向量(即编码每个顶点的父顶点的向量)创建树或森林。igraph_induced_subgraph_edges()
生成给定顶点诱导的子图中包含的边的 ID。igraph_layout_umap()
函数的签名已更改;最后一个参数现在是一个布尔值,用于指定是否应将距离视为权重,并且删除了采样概率参数。igraph_transitivity_barrat()
、igraph_community_fluid_communities()
、igraph_sir()
、igraph_trussness()
和 graphlet 函数由于忽略边方向,因此无法正确检测有向输入图何时具有有效的多重边。这些函数现在拒绝此类图。igraph_2dgrid_move()
中的一个错误,该错误有时会在网格单元变为空时导致大型图布局函数崩溃。igraph_pagerank()
和 igraph_personalized_pagerank()
将无法收敛。igraph_pagerank()
和 igraph_personalized_pagerank()
不再允许负权重。以前,在使用 PRPACK 实现时,具有负权重的边会被静默忽略。ARPACK 实现会发出警告说它们被忽略了,但实际上它计算出了不正确的结果。igraph_all_st_cuts()
和 igraph_all_st_mincuts()
在某些大型图上调用时不再触发“Finally stack too large”致命错误。这是 igraph 0.10 中的回归。igraph_community_label_propagation()
不再将权重四舍五入为整数。这是 igraph 0.10 中的回归。igraph_read_graph_graphdb()
对输入文件执行更彻底的检查。igraph_calloc()
没有零初始化分配的内存。现在已更正。请注意,宏 IGRAPH_CALLOC()
未受影响。igraph_subgraph_edges()
现在已被弃用,以避免与 igraph_induced_subgraph_edges()
混淆;它的新名称是 igraph_subgraph_from_edges()
。旧名称将至少保留到 igraph 0.11。igraph_matrix_transpose()
的性能。