新闻

关于 igraph 发布和其他事项

C/igraph 0.5.2

发行说明

这是另一个错误修复版本,带有几个新功能。以下是重要的功能。请参阅最后以获取完整的更改列表。

二分图

二分图有两种顶点,并且只允许边连接相反的类型。想想好莱坞电影图,其中包含演员和电影。igraph 0.5.2 现在包含一些处理这些类型网络的函数。

标签传播社群发现算法

这是一个简单直观的社群发现算法,由 Raghavan 等人在 2007 年发表(请参阅文档以获取完整引用)。它的工作原理是为顶点分配标签,然后根据邻居中的多数投票更新标签。

DrL 布局生成器的 3D 版本

DrL 布局生成器已扩展为生成三维布局。虽然比常规 2D 版本慢,但这对于那些在 3D 中进行可视化的人来说是一个不错的补充。

Johnson 最短路径算法

Johnson 算法是在具有一些负边权重但没有负环的网络中查找所有最短路径的良好选择。

平均最近邻居度

添加了一个新函数来计算所有或某些顶点的邻居的平均度。它也支持该度量的边加权版本。

修复了几个错误和内存泄漏

除了错误修复之外,还重写了一些函数以加快速度。

C 层中的新功能

  • igraph_betweenness()igraph_betweenness_estimate(), igraph_layout_drl() 添加了进度条支持
  • 加速了 igraph_betweenness_estimate(), igraph_get_eid(), igraph_are_connected(), igraph_get_eids()
  • 添加了 igraph_get_eid2()
  • 添加了 Johnson 最短路径算法: igraph_shortest_paths_johnson()
  • 平均最近邻度计算, igraph_avg_nearest_neighbor_degree()
  • 加权度(也称为强度)计算, igraph_strength()
  • 一些支持二分图的函数: igraph_full_bipartite(), igraph_bipartite_projection(), igraph_create_bipartite(), igraph_incidence(), igraph_get_incidence(), igraph_bipartite_projection_size(), igraph_is_bipartite()
  • 添加了 Raghavan 等人的标签传播社区检测算法, igraph_community_label_propagation()
  • 添加了一个示例,展示了如何从 C 设置随机数生成器的种子 (examples/simple/random_seed.c)
  • 添加了一个 “展开” 树的函数, igraph_unfold_tree()
  • C 属性处理程序更新: 添加了用于一次查询多个顶点/边的函数
  • 三维 DrL 布局, igraph_layout_drl_3d()

C 层中更正的错误

  • 修复了 igraph_isomorphic_function_vf2() 中的一个错误,影响了所有 VF2 图同构函数
  • igraph_degree_sequence_game() 中的 VL 图生成器现在检查度的总和是否为偶数
  • 许多小修正使 igraph 可以使用 Microsoft Visual Studio 2003, 2005 和 2008 编译
  • 许多修复程序用于支持各种编译器,例如 GCC 4.4 和 Sun 的 C 编译器
  • 修复了从 LGL 导入图形并导出到 NCOL 格式时的错误 (#289596)
  • 修复了 igraph_automorphisms(), igraph_shortest_paths_bellman_ford(), igraph_independent_vertex_sets() 中的内存泄漏
  • GraphML 阅读器检查属性的名称以避免添加重复的 id 属性
  • 可以更改 igraph_community_leading_eigenvector()ncv ARPACK 参数
  • 修复了 igraph_path_length_hist() 中的一个错误, 对于未连接和无向图,unconnected 是错误的。