新闻

关于 igraph 发布和其他事项

IGraph/M 0.6.0

IGraph/M 0.6.0,igraph 的 Mathematica 接口,现已发布!此版本基于 C/igraph 的 0.9 系列,带来了显著的鲁棒性改进以及新功能。其中一些亮点是由 Kuba Podkalicki 贡献的实验性交互式图编辑器,以及对进度报告的实验性支持。现在支持基于 ARM 架构(“Apple Silicon”)的苹果电脑。

与往常一样,您可以通过评估以下内容来更新到最新版本

Get["https://raw.githubusercontent.com/szhorvat/IGraphM/master/IGInstaller.m"]

现在支持的最早 Mathematica 版本是 11.0,或 Raspberry Pi 上的 12.2。

请在 GitHub我们的论坛上报告您可能发现的任何问题。

IGraph/M 0.6.0

此版本基于 C/igraph 的 0.9 系列。

已添加

  • IGHarmonicCentralityIGHarmonicCentralityCutoff 计算谐波中心性和范围限制的谐波中心性。
  • IGLinkRankIGPersonalizedLinkRank 计算边的 PageRank 等价物。
  • IGNeighborhoodCloseness 计算范围限制的紧密度中心性,以及给定范围内可到达的顶点数。
  • IGFamousGraph 公开 igraph C 库的内置图数据库。
  • IGPreferenceGameIGAsymmetricPreferenceGame 基于顶点类型创建非增长的随机图。
  • IGReingoldTilfordIGReingoldTilfordCircular 现在支持 DirectedEdges 选项。
  • IGFruchtermanReingold 现在支持约束顶点子集的坐标。
  • IGPercolationCurve 用于有效地计算作为删除边时平均度数的函数的最大组件的大小。
  • IGShortestPathTree 用于计算以给定顶点为根的最短路径树。
  • IGGraphEditor 是一个实验性的交互式图编辑器。
  • 通过 IGraphM`Progress` 上下文中的函数实现的实验性进度报告功能。

已更改

  • IGConnectedQIGWeaklyConnectedQ 现在认为空图是断开的;这与其他函数(例如 IGTreeQ)一致。
  • IGAveragePathLength 现在有一个 "ByComponents" 选项,用于控制断开连接图的处理。
  • 中心性函数
    • IGCloseness 现在默认计算归一化紧密度,即与其他顶点的平均距离的倒数。 使用 Normalized -> False 获取之前的行为。
    • IGCloseness 现在在计算紧密度时仅使用到可到达顶点的距离。 在无向断开连接图中,它有效地计算每个组件的紧密度。 对于孤立顶点(或有向图中的汇点),它现在返回 Indeterminate
    • IGBetweennessIGBetweennessCentralization 不再使用 Method 选项。 计算始终快速且精确。 精度已提高。
    • IGBetweennessEstimateIGEdgeBetweennessEstimateIGClosenessEstimate 已重命名为 IGBetweennessCutoffIGEdgeBetweennessCutoffIGClosenessCutoff
  • IGRelativeNeighborhoodGraph 现在假定 β -> 2β < 2 限制,而不是 β = 2
  • IGGirth 现在为空图返回 Infinity
  • IGDiameter 现在为空图返回 Indeterminate
  • IGChordalQIGChordalCompletionIGMaximumCardinalitySearch 现在支持非简单图。
  • IGReingoldTilfordIGReingoldTilfordCircular 使用新的自动根选择算法。 根选择启发式方法将来可能会更改,恕不另行通知。 手动指定根以获得一致的结果。
  • IGPotentiallyConnectedQ 不再支持有向序列。 此功能在 0.5 中存在缺陷。 将来可能会重新添加它。
  • IGLayoutKamadaKawaiIGLayoutKamadaKawai3D 默认执行更多迭代,并产生更令人满意的布局。
  • IGPersonalizedPageRank 允许将重置权重指定为从顶点名称到值的关联。
  • LAD 同构函数现在支持自环。
  • Motif 查找器函数现在支持大小为 5 和 6 的无向 motif。
  • 随机数生成器的行为现在在平台之间保持一致,这意味着使用给定的种子,随机 IGraph/M 函数将在所有平台上返回相同的结果。 但是,对于相同的种子,结果现在将与 0.5 版本不同。

已修复

  • IGPageRankIGPersonalizedPageRank 现在会在使用 "Arnoldi" 方法时计算未收敛时发出警告。 这仅在极少数情况下发生。
  • IGPersonalizedPageRank:当图形未连接且个性化向量不均匀时,默认的 "PRPACK" 方法返回了不正确的结果。
  • 几个社区检测函数无法正确处理零顶点或单顶点图。
  • IGVertexMap 会评估映射函数两次而不是一次。
  • IGMaximumCardinalitySearch 为顶点名称与其顶点索引不同的图形返回了不正确的排名。
  • IGDistanceWeighted 不再在无边图上失败。
  • IGCallawayTraisGame 不再拒绝偏好矩阵中的零。
  • 当某些函数返回零大小的矩阵时,会触发错误。
  • 修复了 Nauty 格式阅读器中的内存泄漏。
  • IGMotifsVertexParticipation 将在 Mathematica 12.2 或更高版本中失败。
  • 修复了与 Mathematica 13.0 内置的同构函数的冲突,这可能导致 Linux 上的崩溃。

其他

  • IGraph/M 现在需要 Mathematica 11.0 或更高版本; 在 Raspberry Pi 上,它需要 Wolfram Engine 12.2 或更高版本。
  • 更强大的错误处理:当 igraph C 库中发生某些严重错误时,不再强制关闭 Mathematica 内核。
  • IGraph/M 变得更精简:更小的二进制文件大小。
  • 文档改进。