跳到内容

igraph 2.1.4.9069

杂项

  • 改进 `layout.R` 中的错误信息 (#2007)。

  • 移除又一个 stop()

  • 使用 cli_abort()

  • 使用 cli_abort() 而不是 stop()

  • 通过依赖默认行为简化错误 (#1997)。

  • 中心性中更好的错误信息 (#2000)。

  • 简化错误 (#1999)。

  • 移除无用的错误信息 (#1998)。

  • 改进 igraph.match.arg() (#1996)。

igraph 2.1.4.9068

供应商代码

igraph 2.1.4.9067

供应商代码

igraph 2.1.4.9066

供应商代码

igraph 2.1.4.9065

新功能

文档

测试

igraph 2.1.4.9064

错误修复

  • 调整循环位置以适应顶点大小 (#1980)。

igraph 2.1.4.9063

杂项

  • 反向依赖检查结果。

igraph 2.1.4.9062

错误修复

  • 默认情况下不将坐标缩放至 [-1,1] x [-1,1] (#1492, #1956, #1962)。

  • 对于大型树,HRG 打印使用 type = "auto" 时会采用 "plain" 模式 (#1879)。

新功能

文档

  • 更新所有贡献者信息 (#1975)。

代码重构

igraph 2.1.4.9061

新功能

igraph 2.1.4.9060

供应商代码

igraph 2.1.4.9059

错误修复

  • 如果 `"layout"` 属性与顶点数量不匹配则失败 (#1880)。

igraph 2.1.4.9058

供应商代码

igraph 2.1.4.9057

igraph 2.1.4.9056

错误修复

新功能

  • 支持更多图产品类型。

  • 添加 plot(mark.lwd = ) 以更改标记组的线宽 (#306, #1898)。

  • 添加 plot(vertex.label.angle = , vertex.label.adj = ) 参数以旋转顶点标签 (#106, #1899)。

杂项

  • 从 GitHub Actions 自动更新 (#1920)。

  • 从 GitHub Actions 自动更新 (#1918)。

持续集成

  • 显示 Git 状态。

  • 修复标志。

  • 修复 shell。

  • 使用 air。

  • 不要提及 Claude 失败。

供应商代码

igraph 2.1.4.9055

杂项

  • 从 GitHub Actions 自动更新 (#1901)。

  • 反向依赖检查,第二次运行。

  • 忽略。

  • 反向依赖检查。

  • 忽略。

持续集成

  • 忽略供应商库。

igraph 2.1.4.9054

持续集成

  • 修复主覆盖率工作流。

  • 安装 covr 修复。

igraph 2.1.4.9053

错误修复

  • 允许使用多个边标签字体系列 (#37, #1896)。

  • 饼图形状按预期工作 (#1882, #1883)。

新功能

杂项

  • 从 GitHub Actions 自动更新 (#1895)。

  • 从 GitHub Actions 自动更新 (#1893)。

  • 从 GitHub Actions 自动更新 (#1892)。

持续集成

  • 关闭 gcov。

  • 更多超时设置。

  • covr 无超时。

  • 添加普通 covr 工作流。

  • 添加说明。

  • 添加 Claude 工作流。

  • 添加工作流描述。

突破性更改

igraph 2.1.4.9052

错误修复

igraph 2.1.4.9051

杂项

igraph 2.1.4.9050

持续集成

  • 也增加 covr 步骤的超时时间。

  • 增加所有构建的超时时间。

  • 给 covr 更多时间。

igraph 2.1.4.9049

文档

  • 修复 \describe{} 元素的缩进 (#1867)。

igraph 2.1.4.9048

错误修复

杂项

  • 从 GitHub Actions 自动更新 (#1865)。

文档

  • 确保在返回值中使用 \item{} 时也使用 \describe{} (#1736, #1779)。

  • 链接到已弃用函数的替代品 (#1823)。

代码重构

igraph 2.1.4.9047

文档

  • 在故障排除页面中提及 R 的当前最新版本。

igraph 2.1.4.9046

杂项

  • 从 GitHub Actions 自动更新 (#1861)。

  • 将 deps 文件添加到 build-ignore。

持续集成

  • 允许工作流调度。

  • 允许创建 PR。

igraph 2.1.4.9045

杂项

igraph 2.1.4.9044

错误修复

杂项

  • 将 roxygen2 的开发版本作为构建依赖项 (#1832)。

持续集成

  • 修复清理程序。

  • 权限、缺失建议的更好测试、代码检查 (#1851)。

  • 仅在提供令牌时才使 covr 构建失败 (#1848)。

  • 始终使用 _R_CHECK_FORCE_SUGGESTS_=false (#1846)。

  • xml2 的正确安装 (#1842)。

  • 为 covr 添加 xml2,打印 testthat 结果 (#1840)。

  • 同步 (#1839)。

文档

测试

igraph 2.1.4.9043

igraph 2.1.4.9042

供应商代码

igraph 2.1.4.9041

杂项

  • 来自 main 的结果。

  • 使用新 arpack 检查的结果。

文档

igraph 2.1.4.9040

文档

  • 添加作者链接 (#1821)。

igraph 2.1.4.9039

错误修复

  • 从双邻接矩阵函数中移除字符串矩阵支持 (#1540, #1542, #1803)。

新功能

杂项

  • 使用 air 格式化。

文档

性能

  • 加速检查索引序列是否与完整顶点列表对应 (#1427, #1818)。

igraph 2.1.4.9038

文档

代码重构

  • 适应 C 核心中 cut.prob 对 NULL 的新处理方式 (#1570, #1602)。

igraph 2.1.4.9037

供应商代码

igraph 2.1.4.9036

新功能

供应商代码

igraph 2.1.4.9035

供应商代码

igraph 2.1.4.9034

错误修复

  • 移除了冗余的 inheritParams 调用 (#1802)。

  • 循环未绘制在画布上 (#1799, #1800)。

  • 在强制转换为稀疏矩阵之前加载 Matrix 包。

  • 绘图和箭头模式中标签的 NA 替换 (#1796, #1797)。

杂项

  • 反向依赖检查结果。

测试

igraph 2.1.4.9033

新功能

杂项

  • 渲染文档。

  • 更新结果。

文档

igraph 2.1.4.9032

供应商代码

igraph 2.1.4.9031

供应商代码

igraph 2.1.4.9030

文档

  • make_graph() 现在支持 Groetzsch 作为 Grotzsch 的别名。此更改已在 C 核心中实现。

供应商代码

igraph 2.1.4.9029

供应商代码

igraph 2.1.4.9028

供应商代码

igraph 2.1.4.9027

供应商

igraph 2.1.4.9026

igraph 2.1.4.9025

新功能

例行事务

  • 反向依赖检查结果。

  • 更新生成的文档。

  • 安装构建依赖。

文档

  • 更新 ego() 及相关函数的 order 参数描述 (#1746)。

测试

  • rcc-smoke (null) 的快照更新 (#1738)。

igraph 2.1.4.9024

错误修复

  • 整型向量在传输到 C 库之前进行验证 (#1434, #1582)。

igraph 2.1.4.9023

供应商

igraph 2.1.4.9022

例行事务

  • 在 PR 模板中要求版权分配 (#1747)。

igraph 2.1.4.9021

例行事务

测试

igraph 2.1.4.9020

错误修复

新功能

例行事务

  • 添加包含。

  • R 4.0 兼容性。

  • 移除不再存在于 R C API 中的 Rf_allocSExp() (#1735)。

  • 修复 Stimulus (#1737)。

  • bfs()dfs() 中使用 "parent" 而不是 "father" (#880, #1523)。

文档

  • 欢迎 Maëlle Salmon 和 David Schoch 成为作者 (#1733)。

测试

  • 将 feedback.set 测试合并到 structural.properties 中 (#1743)。

igraph 2.1.4.9019

测试

igraph 2.1.4.9018

错误修复

文档

  • 生命周期表 (#1525)。

重构

  • 减少一个 tmp 用例 (#1715)。

测试

igraph 2.1.4.9017

新功能

igraph 2.1.4.9016

文档

  • 修复 laplacian_matrix 文档中的拼写错误。

igraph 2.1.4.9015

例行事务

igraph 2.1.4.9014

错误修复

供应商

igraph 2.1.4.9013

新功能

文档

测试

igraph 2.1.4.9012

例行事务

  • 运行 {styler} (带 {igraph.style}) (#1696)。

文档

  • 在贡献指南中添加更多关于 igraph.r2cdocs 的信息 (#1686, #1697)。

测试

igraph 2.1.4.9011

测试

未分类

  • 重构:整合 graph.incidence.* (#1483) (#1654)。

igraph 2.1.4.9010

igraph 2.1.4.9009

供应商

igraph 2.1.4.9008

重构

性能

igraph 2.1.4.9007

供应商

文档

igraph 2.1.4.9006

持续集成

  • 使用 igraph 仓库进行供应商集成。

  • 修复供应商集成工作流。

供应商

igraph 2.1.4.9005

新功能

igraph 2.1.4.9004

  • 重构:如果存在属性,将 get.adjacency.dense() 转发给 get.adjacency.sparse() (#1483) (#1653)。

igraph 2.1.4.9003

错误修复

  • 破坏性更改:图的子集赋值避免添加重复边并忽略循环,除非新的 loops 参数设置为 TRUE (@schochastics, #1662, #1661)。

破坏性更改

  • 破坏性更改:图的子集赋值避免添加重复边并忽略循环,除非新的 loops 参数设置为 TRUE (@schochastics, #1662, #1661)。

igraph 2.1.4.9002

错误修复

  • 暂时禁用为 igraph_simple_cycles_callback() 生成接口。因为处理回调函数的框架尚未存在。

例行事务

持续集成

  • 与 duckdb 同步供应商集成工作流。

重构

  • 准备 C 核心接口标准化 igraph_is_bipartite 中“type” -> “types” 的改动。

破坏性更改

供应商

修改

  • bipartite_projection_size()types 参数提供 NULL 默认值。该参数在 R 中是可选的,但在 C 中不是。因此,C 接口定义没有提供默认值或 OPTIONAL 标记。

未分类

igraph 2.1.3.9003

  • 重构:从 get.incidence.dense() 中移除了 for 循环 (#1483) (#1655)。

igraph 2.1.3.9002

杂项

重大变更

igraph 2.1.3.9001

错误修复

  • 暂时禁用为 igraph_simple_cycles_callback() 生成接口。因为处理回调函数的框架尚未存在。

重构

  • 准备 C 核心接口标准化 igraph_is_bipartite 中“type” -> “types” 的改动。

供应商

修改

  • bipartite_projection_size()types 参数提供 NULL 默认值。该参数在 R 中是可选的,但在 C 中不是。因此,C 接口定义没有提供默认值或 OPTIONAL 标记。

未分类

igraph 2.1.3.9000

  • 切换到开发版本。

igraph 2.1.4

CRAN 发布:2025-01-23

测试

  • 调整使用图形包的测试。

igraph 2.1.3

CRAN 发布:2025-01-07

功能

  • 使用 _pv 销毁函数以满足 ASAN 检查 (#1630)。

  • 使用安全访问器访问向量元素 (#1633)。

杂项

文档

igraph 2.1.2

CRAN 发布:2024-12-07

错误修复

文档

测试

  • 测试多个函数中 "return.vs.es" 的处理 (@stibu81, #1610)。

igraph 2.1.1

CRAN 发布:2024-10-19

完整的更新日志,特别是“重大变更”部分,请参见 https://github.com/igraph/rigraph/blob/9828d7b11be330f994f07ae93a071b356eced903/src/vendor/cigraph/CHANGELOG.md

功能

错误修复

生命周期

  • 弃用 eigen_centrality(scale = ) (#1543)。
  • 将弃用消息放在相似度函数开头而不是结尾 (#1549)。

文档

  • 更新 allcontributors 表 (#1552)。
  • 暂时使用 mathjax (#1538)。

内部

  • 准备 libxml2 依赖 bcrypt,使用 pkg-config (#1556, @kalibera)。

igraph 2.1.0

完整的更新日志,特别是“重大变更”部分,请参见 https://github.com/igraph/rigraph/blob/05973441b83decdeab8cc9c500a642c00b924770/src/vendor/cigraph/CHANGELOG.md

生命周期

重大变更

正在进行中的弃用

我们正在努力实现更一致的接口,特别是在函数命名方面:最终我们希望 igraph 函数使用 snake_case。请尽快更新您的脚本和代码库。

功能

C 库

新功能

更具信息量的错误

  • 导出 .from() 等,行为类似于 dplyr::across() (#1436):像 .from() 这样的函数旨在用于 [ 内部,但现在如果用户误用它们,错误信息将更具信息量。

错误修复

文档

面向开发者的文档

igraph 2.0.3

CRAN 发布:2024-03-13

有关捆绑的 C 核心的完整更新日志,请参见 https://github.com/igraph/rigraph/blob/3299d31/src/vendor/cigraph/CHANGELOG.md,有关自 igraph 2.0.1 以来发生的变化,请参见 https://github.com/igraph/rigraph/compare/f3fa58b..3299d31#diff-aeb78e0159780a9b26daabaf6f95f450b0cfec7161fc735f27ad69145a57dc84。(R 包中使用的 C 核心最新更新日志的永久链接是 https://github.com/igraph/rigraph/blob/main/src/vendor/cigraph/CHANGELOG.md。)

功能

错误修复

  • 修复 rglplot(edge_label = ) (#1267)。

持续集成

  • 使用 sanitizer 运行示例 (#1288)。
  • 添加计划构建。

文档

  • 示例中 x11() 的使用仅在交互式会话中发生 (#1301)。
  • 移除关于警告的误导性注释,因为没有给出警告 (#1294)。
  • 改进 min_st_separators() 文档 (#1264)。
  • 添加讨论论坛链接 (#1279) 和徽标 (#1280)。
  • 添加查找重复 @seealso 的代码,并使用它 (#1270)。
  • ?sample_pa 中移除重复的 @seealso (#1268)。
  • 移除关于 is_separator()is_min_separator() 处理完整图的错误声明 (#1263)。
  • 修复错误消息中提到 upgrade_graph() 而不是不存在的 upgrade_version() 的问题 (#1252)。
  • is_bipartite() 手册页从其他手册页中分离出来 (#1230)。
  • 改进错误报告模板。
  • CITATION.cff 仅包含前三个版本组件。
  • 安装锁定工作流以在一年后锁定陈旧的讨论 (#1304)。

内部

igraph 2.0.2

CRAN 发布:2024-02-17

有关捆绑的 C 核心的完整更新日志,请参见 https://github.com/igraph/rigraph/blob/f3fa58b/src/vendor/cigraph/CHANGELOG.md,有关自 igraph 2.0.1 以来发生的变化,请参见 https://github.com/igraph/rigraph/compare/1bd2bf79..f3fa58b#diff-aeb78e0159780a9b26daabaf6f95f450b0cfec7161fc735f27ad69145a57dc84。(R 包中使用的 C 核心最新更新日志的永久链接是 https://github.com/igraph/rigraph/blob/main/src/vendor/cigraph/CHANGELOG.md。)

错误修复

  • g + vertices(1, 2, foo = 3) 再次工作,这是 igraph 2.0.0 中引入的回归问题 (#1247)。
  • sample_pa() 再次尊重 out.seqout.dist 参数,这是 igraph 2.0.0 中引入的回归问题 (#1226)。
  • isomorphisms()subgraph_isomorphisims(method = "vf2") 再次工作,这是 2.0.0 中引入的回归问题 (#1219)。
  • biconnected_components() 现在再次返回边和顶点序列,这是 2.0.0 中引入的回归问题 (#1213)。
  • dfs() 返回的 orderorder.out 组件中移除零填充,这是 2.0.0 中引入的回归问题 (#1179)。
  • 将数据转换为 C 时发生内存泄漏 (#1196)。

功能

文档

  • 在介绍性 vignette 中使用更具文化多样性的名称 (#1246)。
  • 介绍性 vignette 中的格式调整 (#1243)。
  • 推荐 {pak} 而不是 {remotes} (#1228)。
  • 修复 mean_distance() 文档中的拼写错误。
  • 更新故障排除文档,强调 Anaconda 环境问题 (#1209)。
  • 改进最短路径函数文档 (#1201)。
  • 记录 greedy_vertex_coloring()"dsatur" 启发式算法 (#1206)。
  • 移除与 scg 相关的文档 (#1167)。
  • 修复 ?articulation_points 中的拼写错误 (#1191)。
  • 改进安装和故障排除说明 (#1184)。
  • 改进同配性文档 (#1151)。

测试

打包

  • 始终使用捆绑的 mini-gmp (#1233)。
  • config.h 定义了 HAVE___UINT128_T (#1216)。
  • 配置期间不依赖 which 程序 (#1232)。
  • configure 管理 libxml 多个包含路径 (#1197)。
  • configure 中移除空字符串 (#1235)。
  • 在 Windows 上根据 arpack 的需要链接 Fortran 运行时 (#1215)。
  • 解决旧 GCC 不支持已弃用枚举值的问题 (#1205)。
  • winucrtHAVE_GFORTRAN 标志 (#1171)。
  • make_empty_graph() 现在完全自动生成 (#1068)。
  • 消除自动生成文件中的手动编辑 (#1207)。
  • 为 RStudio IDE 添加只读注释 (#1152)。

内部

  • 移除未使用的补丁文件 (#1234)。
  • 更新 stimulus 至 0.21.4 (#1210)。
  • 避免重复对象 (#1223)。
  • 消除 simpleraytracer 中的编译器警告 (#1185)。

igraph 2.0.1.1

CRAN 发布:2024-01-30

错误修复

  • 避免在 R 4.4.0 中已弃用的 is.R()

igraph 2.0.1

CRAN 发布:2024-01-29

错误修复

  • 为 simpleraytracer glue 使用 cpp11 以避免 -Wlto 警告 (#1163)。

igraph 2.0.0

此主要版本使开发与 https://github.com/igraph/igraph 上的 C 核心保持一致。完整的更新日志,特别是“重大变更”部分,请参见 https://github.com/igraph/rigraph/blob/1bd2bf79/src/vendor/cigraph/CHANGELOG.md。(R 包中使用的 C 核心最新更新日志的永久链接是 https://github.com/igraph/rigraph/blob/main/src/vendor/cigraph/CHANGELOG.md。)

R 包的 1.6.0 版本使用了 C 核心的 0.9.9 版本。C 核心 0.10 系列的更改与 R 包的 2.0.0 版本相关,但并非所有 C 核心函数都暴露在 R 接口中。C 核心中某些函数的实现更改可能会反映在 R 包的函数中。

以下更改日志是 R 接口中额外更改的摘要。

重大变更

错误修复

  • 在几个关键位置添加标量转换检查 (#1069)。

  • 在 C 代码中,当预期为标量时,检查是否接收到标量 (#1051)。

  • 在将矩阵大小传递给 R 之前,检查其是否在支持范围内 (#1066)。

  • transitivity() 现在在局部(加权)情况下生成一个命名向量 (#1057)。

  • plot() 正确计算边与矩形顶点之间的交点 (#1021)。

  • 修复 Windows 上 Rtools 路径中存在空格时的编译问题 (#1000)。

功能

  • 使用 R RNG 的 30 位 (#1079)。

  • 重大变更:移除 dfs(unreachable = FALSE)$order$order.out 以及 bfs(unreachable = FALSE)$orderNA 填充,也适用于 igraph_options(return.vs.es = FALSE) (#1062, #1124)。

  • 新增 k_shortest_paths() 以计算两个顶点之间的前 k 条最短路径 (#1028)。

文档

  • 添加 GitHub 错误报告表单。

  • 新增 vignette("deprecated-dot-case"),列出已弃用函数及其替代品 (#1013)。

  • 将弃用徽章移至文档页面顶部。

  • 从介绍性 vignette 中移除 get.adjacency() 的使用 (#1084)。

  • 修复 fit_power_law() 文档中的数学格式问题。

  • 修复 subgraph.edges() 示例中的不正确用法。

  • 澄清 Infomap 考虑边方向。

  • 改进边连接性文档 (#1119)。

  • 添加一些缺失的变音符号。

内部

  • 使用 [] 赋值进行矩阵转换 (#1035)。

  • 转向自动生成所有绑定 (#1043)。

  • 使用 rlang 的 %||% (#1112)。

  • 在返回顶点和边集时,用 lapply() 替换循环 (#1033)。

  • 不重复原型,为 rinterface.crinterface_extra.c 使用通用头文件 (#1055)。

  • 清理一些自动生成代码 (#1031),移除代码生成中未使用的部分 (#1032),消除一些已弃用 C 函数的使用。

  • cluster_label_prop() 中为模式枚举使用整数。

  • 标准化一些 stimulus 枚举类型的处理 (#1064)。

  • 移除未使用的 vectorlist / matrixlist 析构函数 (#1070)。

  • 移除未使用的 stimulus 类型 VERTEXSETLIST_INT (#1049)。

  • 移除未使用的类型 (#1060)。

  • 修复 Stimulus 定义 (#997)。

  • 避免使用已弃用的 R_igraph_automorphisms() (#999)。

  • 使用 C 核心的新 ARPACK_DEFAULTS 符号作为默认 arpack 选项。

  • 忽略上游的 CITATION 文件以避免 R CMD check 提示 (#1007)。

  • 添加 Aviator 配置。

测试

igraph 1.6.0

CRAN 发布日期:2023-12-11

破坏性变更

  • 新增 arpack_defaults() 替代了 igraph.arpack.defaultarpack_defaults 列表 (#800),并提供一致的用法检查 (#966)。

  • 定义 ape::as.phylo() 的方法,而非使用自己的 as_phylo() 泛型,并移除已弃用的 asPhylo() (#763)。

  • bfs() 对于不可达节点,`rank` 返回零而不是 NaN (#956),`dist` 返回负值而不是 NaN (#926)。

  • random_walk() 多增加了一步,生成的顶点列表长度为 steps + 1 (#934)。

  • girth() 对于无环图返回 Inf (#931)。

  • 移除1.3版本中已弃用的一些行为/参数 (#842)。

  • 移除 scg_eps(), scg_group()scg_semi_proj(),这些函数已损坏且不再维护 (#946)。

错误修复

  • 修复 printf() 警告 (#975)。

  • 修复对带有类的矩阵对象调用 isSymmetric() 的问题 (#965)。

  • 减少中断检查的频率 (#957)。

新特性

  • 将“关联矩阵”命名更改为“双邻接矩阵” (#962)。

  • 为所有ego函数添加使用邻域术语的别名: (#950)。

  • assortativity(values, values.in) 的参数从 types1types2 重命名 (#952)。

  • cluster_label_prop() 添加省略号 (#954)。

  • is_acyclic()is_forest() 的占位符,将在igraph 2.0.0中实现 (#945)。

  • is_tree(details = TRUE) 将第一个顶点指定为非树的根 (#935)。

  • all_shortest_paths()resvpaths 组件中都返回顶点列表 (#930)。

  • 改进输入邻接矩阵的对称性检查 (#911)。

  • 如果是非对称无向邻接矩阵则发出警告 (#904)。

文档

  • 移除重复的 \seealso{} (#948)。

  • 更新 knnk()sir() 的文档。

  • 修复 reciprocity() 文档中的公式。

  • strength() 在未提供权重时不会发出警告。

  • 更新 sample_smallworld() 手册页 (#895)。

  • 更正加权团的文档。

  • 更新Erdos-Renyi模型文档。

测试

igraph 1.5.1

CRAN 发布日期:2023-08-10

破坏性变更

错误修复

内部

  • 更改属性对象的所有权规则 (#870)。

  • R_SEXP_to_igraph()R_SEXP_to_igraph_copy() 从外部指针获取 igraph_t 对象 (#865)。

  • 从 Fortran 代码中移除 ETIME() 调用,该版本已在 CRAN 版本 1.5.0.1 中 (#858)。

  • 确保始终定义 _GNU_SOURCE (#877)。

  • 修复 make clean (#860)。

  • 修复带有 VERTEX_COLOR 输出参数的函数代码生成 (#850)。

  • Makevars.win 中使用 -lquadmath,以兼容 Microsoft R Open 等其他 R 发行版 (#855)。

  • getRversion() 使用字符串。

文档

  • 添加 cffr 文件和自动更新它的 GHA 工作流 (#873)。

  • 取消弃用 neighborhood() (#851)。

  • 从 DESCRIPTION 中移除对 AUTHORS 的冗余引用。

重构

igraph 1.5.0

CRAN 发布日期:2023-06-16

破坏性变更

图对象的内部格式已以一种大多向后兼容的方式更改,以准备将 C 核心升级到 0.10。详情请参见 https://github.com/igraph/rigraph/wiki/The-igraph-object-format。访问使用旧版 igraph 创建的图对象会给出清晰的错误消息并附带说明 (#832)。igraph 1.4.3 或更早版本无法读取新格式,尝试读取时会引发以下错误

This graph was created by an old(er) igraph version.
  Call upgrade_graph() on it to use with the current igraph version
  For now we convert it on the fly...
Error in is_directed(object) :
  REAL() can only be applied to a 'numeric', not a 'NULL'

唯一支持的补救措施是将 igraph 包升级到 1.5.0 或更高版本。

graph_version() 现在返回一个整数标量 (#832, #847),igraph 1.5.0 版本中为 4 (#835)。

新特性

错误修复

  • 修复在 make_graph() 中使用非公式的 simplify = ... 时的错误消息 (#834)。

测试

文档

内部

  • 添加旧版 igraph 数据作为构建对象,并进行测试 (#838)。

  • 确保始终使用命名索引来访问内部数据结构 (#784)。

  • 准备迁移到 igraph/C 0.10 (#781)。

  • 更新生成的接口 (#765)。

igraph 1.4.3

CRAN 发布日期:2023-05-22

内部

  • 修复 dev waldo 的测试 (#779, @hadley)。

  • 修复 Windows 上的链接问题:gfortran 需要 quadmath (#778)。

文档

  • 提及 Pajek 读取器的限制 (#776)。

igraph 1.4.2

CRAN 发布日期:2023-04-07

破坏性变更

C 核心

详情请参见 diff

打印

  • 打印顶点集时使用真实的顶点名称。如果顶点集捕获了顶点之间的关系(例如,bfs()father 组件),则顶点集将以命名向量的形式打印 (#754)。

  • 建议在致命错误后重启 R 会话 (#745)。

错误修复

  • as_long_data_frame() 现在可以正确处理顶点属性,并适用于没有顶点属性的图 (#748)。

  • as.hclust(hrg.fit(g)) 再次可用 (#721)。

文档

内部

  • 引入 cpp11 包以长期改进错误处理 (#720)。

  • 避免在错误处理和中断时使用 longjmp (#751)。

  • as.hclust.igraphHRG 使用 .Call() 接口 (#727)。

igraph 1.4.1

CRAN 发布日期:2023-02-24

错误修复

  • console() 现在再次可用,并提供基于 Tcl/Tk 的用户界面,igraph 可以在其中发布状态消息和进度信息 (#664)。

  • 修复打印长顶点名称时的错误 (#677, @ahmohamed)。

  • 修复在 igraph 1.4.0 中引入的、导致某些系统(例如,GCC 5 或更早版本)构建失败的回归问题 (#670, #671)。

  • fit_hrg() 在处理少于三个顶点的图时不再崩溃。

文档

内部

  • 修复在使用 LTO 时 yyget_leng() 返回错误类型的警告 (#676)。

  • 不再提及 C++11 或 C++17,以获得与最新 R 和旧编译器之间的最佳兼容性,同时仍要求使用 C++ 编译器进行链接。

  • 在构建包时不要忽略 build/ 目录,因为 vignette 索引在此处构建。

  • 在 R-devel 上完全跳过绘图测试。

  • 避免使用子模块构建 igraph (#674)。

  • Makevars 清理 (#671)。

  • 添加 Zenodo 配置文件。

igraph 1.4.0

CRAN 发布日期:2023-02-10

破坏性变更

  • 破坏性变更:允许在为所有顶点或边设置属性时更改属性类型;仅允许长度为1或目标集长度的属性 (#633)。

新增

  • tkplot() 新增了一个 palette 参数,并且为了保持一致性,默认情况下现在使用与 plot() 相同的调色板。
  • plot.igraph() 新增了一个 loop.size 参数,可用于缩放环状边的公共半径。

已修复

  • ARPACK 的默认最大迭代次数已增加到 3000,以匹配 igraph C 核心的设置。
  • cluster_leading_eigen() 中罕见的收敛问题已得到纠正。
  • 所有基于 ARPACK 的函数在生成随机起始向量时现在都会遵守 R 中设置的随机种子。
  • igraph_version() 在 1.3.4 版本中返回了一个无效值,现已纠正。
  • 绘制图后,par(xpd=...) 的值现在已恢复。
  • 修复了 as.dendrogram.communities() 在大规模树状图中的一个错误,感谢 @pkharchenko (参见 PR #292)。
  • 修复了 graph_from_incidence_matrix() 中的两个错误,这些错误阻止了从稠密或稀疏矩阵创建 mode="all" 的有向图。
  • dfs() 在结果对象中意外返回了基于零的根顶点索引;现已修复,索引现在基于 1。
  • as_graphnel() 不再复制环状边。
  • as_graphnel() 现在检查输入图是否没有多重边。graphNEL 类不支持多重边。
  • convex_hull() 现在返回带有基于 1 索引的凸包顶点。
  • 代码库中的一些 rgl.*() 函数调用已被等效的 *3d() 函数调用取代,以准备 rgl 中即将进行的弃用(参见 PR #619)。
  • plot.igraph() 不再在调用 plot.default() 时使用 frame=... 部分参数。frame.plot 的默认 NULL 值现在也已正确处理。
  • hub_score()authority_score() 在无向图的邻接矩阵对角线上只考虑了一次自环,因此结果与 eigen_centrality() 在带环无向图上获得的结果不一致。现已纠正。
  • distances()algorithm='johnson' 时不再忽略 mode 参数。

已弃用

其他

  • 文档改进。
  • GitHub 仓库现已迁移到单分支设置,可以直接从 main 分支构建包。
  • 添加了 igraph 扩展教程作为 R 小插图 (#587)。
  • igraph 现在拥有了一个基于 pkgdown 的主页,感谢 @maelle (参见 #645)。这最终将成为官方主页。

igraph 1.3.5

CRAN 发布日期:2022-09-22

新增

  • plot.igraph()mark.groups=... 参数现在接受 communities 对象

已修复

  • sample_pa()sample_aging_pa() 中不再允许负度指数。

  • 包已更新,以兼容 Matrix 1.5。

其他

  • 文档改进和修复。

igraph 1.3.4

CRAN 发布日期:2022-07-19

新增

  • sample_asym_pref() 现在在名为 outtypeintype 的顶点属性中返回生成的顶点类型。

已修复

  • layout_nicely() 如果被分配给图的 layout 属性,则不再无限递归

  • layout_nicely() 在存在非正边权重时会忽略边权重。这是必要的,因为 igraph 1.3.3 开始在 layout_with_fr()layout_with_drl() 中验证边权重,导致在加权图上使用负权重调用 layout_nicely() 时出错。由于 layout_nicely()plot() 的默认布局算法,大多数用户甚至没有意识到他们实际上在幕后使用了 FR 或 DrL 布局。现在,策略是 layout_nicely() 会尽可能地完成任务而不会出错,即使这意味着必须忽略边权重。如果发生这种情况,将打印警告。

igraph 1.3.3

CRAN 发布日期:2022-07-14

新增

  • reverse_edges() 反转图中特定或所有边。

  • V()E() 的单括号索引默认在索引表达式中解析属性名(例如,E(g)[weight > x] 匹配权重大于阈值的边)。如果属性屏蔽了局部评估上下文中的某个变量,这可能会导致问题。我们现在提供了一个称为 .env 的代词(类似于 rlang::.env),它允许您强制将属性名查找定位到调用环境。为了完整起见,我们还提供了 .data(类似于 rlang::.data)来强制将属性名查找仅限于顶点/边属性。这些代词会自动注入到评估索引表达式的环境中。

已弃用

  • V()E() 索引中可使用的函数名称自 igraph 1.1.1 起以点开头;然而,旧的无点名称未打印弃用警告,因此可能多年未被注意。我们正在为顶点和边序列的单括号索引中的 nei()innei()outnei()inc()from()to() 引入弃用警告,并将很快移除旧的变体。

igraph 1.3.2

CRAN 发布日期:2022-06-13

C 核心已更新至 0.9.9,修复了一系列错误。

已修复

  • 零大小 communities 对象的长度现在已正确报告。
  • layout_with_kk() 在使用默认初始坐标时无法产生合理结果。此问题已纠正,但此函数不再为给定图生成与之前完全相同的输出。要恢复以前的行为,请在 2D 中使用 layout_with_kk(g, coord=layout_in_circle(g)),或在 3D 中使用 layout_with_kk(g, dim=3, coord=layout_on_sphere(g))
  • 使用 v[x, na_ok=T]igraph.vs 对象进行索引现在可以在所有情况下正确处理 na_ok 参数;以前的版本在 x 为单个数字时会忽略它。

其他

  • 文档改进和修复。

igraph 1.3.1

CRAN 发布日期:2022-04-20

已修复

  • graph_from_adjacency_matrix() 现在可以与稀疏矩阵一起使用,即使稀疏矩阵中的单元格值未指定。
  • 修复了当 modularity=FALSEmembership=FALSEcluster_walktrap() 中的崩溃问题。
  • cluster_walktrap() 不再接受无效的权重向量。
  • cluster_walktrap() 不再为非连通图返回无效长度的模块化向量。这也修复了此函数在加权非连通图上的一些罕见故障。
  • edge_attr() 不再忽略其 index=... 参数。
  • automorphisms()automorphism_group()canonical_permutation() 现在允许在 sh 参数中使用 C 核心支持的所有可能值。早期版本仅支持 "fm"
  • vertex.frame.width 绘图参数现在允许零和负值;这些值将简单地移除相应顶点的轮廓。
  • isomorphic() 中 BLISS 同构算法的 sh 参数文档已修复;早期版本错误地引用了 sh1sh2
  • dominator_tree() 现在符合其文档中关于结果的 dom 组件的描述:它包含每个顶点的支配顶点索引,以及支配树根的 -1
  • 文档中已移除对 page_rank()"power" 算法的提及,因为此方法不再可用。
  • 其他多项文档修复,以使文档与 igraph 1.3 中的新行为保持一致。

igraph 1.3.0

CRAN 发布日期:2022-04-01

C 核心已更新至 0.9.7,修复了一系列错误并引入了许多新功能。

新增

已修复

  • is_connected() 现在对空图返回 FALSE。
  • 在图上调用 length() 现在返回顶点的数量,使其与使用 [[ 对图进行索引保持一致。
  • unconnected=FALSE 时,diameter() 现在对于非连通图正确返回无穷大。以前的版本返回顶点数量加一,这对于加权图显然是无效的。
  • unconnected=FALSE 时,mean_distance() 现在正确地将非连通顶点之间的路径长度视为无穷大。以前的版本使用顶点数量加一,对这个数字增加了偏差,即使图是加权的,并且顶点数量加一不能安全地被认为是比任何“有效”路径更长的路径。
  • layout_with_sugiyama() 现在正确处理恰好一个额外虚拟节点的情况;修复了 #85
  • bfs()dfs() 回调函数现在正确接收基于 1 的顶点索引和等级;早期版本是基于 0 的。
  • bfs()dfs() 回调中意外返回非逻辑值不再导致 R 崩溃。
  • 在图上调用 print() 时,如果 max.lines 值很小(小于打印属性列表和标题所需的行数),不再引发错误;修复了 #179
  • as_adjacency_matrix(edges=TRUE, sparse=TRUE) 现在一致地返回矩阵中每个单元格的最后一条边 ID,而不是求和。
  • 现在正确处理在由两个顶点组成的 path() 对象上使用 +- 运算符的情况;修复了 #355
  • topo_sort() 现在如果输入图不是无环图,则会抛出错误,而不是返回不正确的偏序。
  • 加权传递性计算(即 transitivity(mode="barrat"))现在对多图会抛出错误;该实现对多图不起作用,早期版本也没有对此发出警告。

已更改

  • bfs()dfs()neimode 参数已重命名为 mode,以与其他函数保持一致。旧的参数名称已弃用,并将在 1.4.0 版本中移除。
  • bfs()dfs() 回调函数现在正确接收基于 1 的顶点索引和等级;早期版本是基于 0 的。(这实际上是一个错误修复,因此也在“已修复”部分中提及。)
  • closeness()betweenness()edge_betweenness() 现在都单独接受 cutoff 参数。estimate_closeness()estimate_betweenness()estimate_edge_betweenness() 成为别名,具有相同的签名。它们**未**被弃用,但其实现可能会在未来版本中改变,以提供适当的估计方案,而不是简单的基于截止值的近似。如果您明确需要截止值并希望结果在未来版本中可重现,请在代码中使用带有 cutoff 参数的 closeness()betweenness()edge_betweenness()
  • closeness() 现在在计算期间只考虑**可达**顶点;换句话说,对于非连通图,中心性现在是按组件计算的。早期版本考虑了**所有**顶点。

已弃用

  • closeness()betweenness()edge_betweenness() 使用 cutoff=0 已弃用;如果您需要精确分数,请使用负截止值。从 igraph 1.4.0 开始,cutoff=0 将按字面意义解释。
  • centr_degree_tmax() 在没有明确的 loops 参数的情况下调用时,现在会打印警告。从 igraph 1.4.0 开始,loops 将是强制性的。
  • nexus_list()nexus_info()nexus_get()nexus_search() 函数现在返回错误,告知用户 Nexus 图存储库已离线(实际上,几年前就已离线)。这些函数将在 1.4.0 版本中移除。
  • as_adjacency_matrix()edges 参数已弃用;它将在 igraph 1.4.0 版本中移除。

已移除

  • 已移除已弃用的 page_rank_old() 函数和 page_rank() 的已弃用 power 方法。

igraph 1.2.11

CRAN 发布:2022-01-04

2021 年 12 月 27 日

没有用户可见的更改。

igraph 1.2.10

CRAN 发布:2021-12-15

2021 年 12 月 14 日

已修复

  • macOS 版本的 igraph 在 CRAN 上意外地没有 GraphML 支持而构建;现在应该已经修复。

igraph 1.2.9

CRAN 发布:2021-11-23

2021 年 11 月 22 日

没有用户可见的更改。

igraph 1.2.8

CRAN 发布:2021-11-07

2021 年 10 月 26 日

没有用户可见的更改。

igraph 1.2.7

CRAN 发布:2021-10-15

2021 年 10 月 15 日

C 核心已更新至 0.8.5 版本,修复了一系列错误并引入了许多新函数。

新增

  • 添加了 cluster_leiden (#399)。
  • 添加了 cluster_fluid_communities (#454)

已修复

  • make_lattice() 在打印警告的同时正确地将 length 四舍五入到最接近的整数 (#115)。
  • make_empty_graph(NULL) 现在打印错误而不是生成无效图 (#404)。
  • make_graph(c()) 现在生成空图而不是打印误导性错误消息 (#431)。
  • 打印图时,如果某些边的两个端点的名称都为 NA,则不再产生误导性错误消息 (#410)。
  • 与二部图相关的函数的 types 参数在类型强制转换为布尔值时现在会打印警告 (#476)。
  • 介数归一化不再溢出 (#442)。
  • layout_with_sugiyama() 即使图中只有一个顶点,也返回 matrix 类型的布局 (#408)。
  • 绘制空图(即没有顶点的图)不再抛出错误 (#387)。

已弃用

  • modularity.matrix()membership 参数现在已弃用,因为该函数无论如何都不需要它。
  • modularity() 在应用于有向图时现在会打印警告,因为 igraph 的 C 核心实现在 0.8.5 版本中不支持有向图。此警告将在 R 接口的下一个小版本(1.3.0)中变为错误;当 C 核心更新到支持有向网络模块化的版本时,该错误将被移除。
  • transitivity() 在其局部变体(type="local")被调用在有向图或多边图上时现在会打印警告,因为 igraph C 核心的实现在 0.8.5 版本中在这些情况下无法可靠工作。此警告将在 R 接口的下一个小版本(1.3.0)中变为错误;当 C 核心更新到支持具有多边网络传递性的版本时,该错误将被移除。

杂项

  • 文档改进。

igraph 1.2.6

CRAN 发布:2020-10-06

2020 年 10 月 5 日

没有用户可见的更改。

igraph 1.2.5

CRAN 发布:2020-03-19

2020 年 3 月 27 日

没有用户可见的更改。

igraph 1.2.4

CRAN 发布:2019-02-13

2019 年 2 月 13 日

没有用户可见的更改。

igraph 1.2.3

CRAN 发布:2019-02-10

2019 年 1 月 27 日

没有用户可见的更改。

igraph 1.2.2

CRAN 发布:2018-07-27

2018 年 7 月 27 日

没有用户可见的更改。

igraph 1.2.1

CRAN 发布:2018-03-10

  • GLPK 库是可选的,如果它不可用,则 cluster_optimal() 函数将无法工作。不幸的是,我们不能再将 GLPK 库捆绑到 CRAN 上的 igraph 中,因为 CRAN 维护者禁止其源代码中的 pragma。
  • 移除了 NMF 包依赖项以及相关函数。
  • 修复了没有 libxml2 的编译问题

igraph 1.1.2

CRAN 发布:2017-07-21

2017 年 7 月 20 日

  • 修复了 Solaris 上的编译问题

igraph 1.1.1

CRAN 发布:2017-07-16

2017 年 7 月 13 日

  • 图 ID 显示在标题中,并添加了 graph_id 函数
  • 修复了某些索引值的 edge_attr
  • 修复了 bfs() 的一个错误,restricted 参数是基于零的
  • match_vertices 现在已导出
  • %>% 以更好的方式重新导出,以避免与其他包冲突
  • ego_ 函数现在默认为 order = 1
  • 新增函数 igraph_with_opt,用于在临时 igraph 选项设置下运行代码
  • 修复了损坏的 sample_asym_pref 函数
  • 修复了 curve_multiple 以避免对具有自循环的图发出警告。
  • NMF 包现在只是建议使用,而不是硬性依赖
  • 修复 gen_uid.c _SVID_SOURCE 问题
  • 避免将直线绘制为贝塞尔曲线
  • 使用 pkgconfig 包进行选项设置。这允许按包设置选项。例如,使用 igraph 的包可以在其 .onLoad() 函数中将 return.vs.es 设置为 FALSE,然后如果**从该包调用**,igraph 将返回普通的数字向量而不是顶点/边序列。
  • igraph_options() 返回更新选项的**旧**值,这实际上很有用,返回新值则不然。
  • with_igraph_opt() 函数用于临时更改 igraph 选项的值。
  • get.edge() 已弃用,请改用 ends()。(igraph 1.0.0 已经如此,但我们忘记在 NEWS 中添加这一点。)
  • 不重新定义 .Call(),以加快本地调用速度。
  • 加快顶点序列索引的特殊情况。
  • 删除了一个 anyNA() 调用,以兼容旧版 R。
  • 修复了一个快速贪婪社区查找错误,https://github.com/igraph/igraph/issues/836
  • 修复了 head_of()tail_of(),它们被混淆了。
  • 绘图:使 label.dist 独立于标签长度,修复了 #63
  • 绘图:对未知图形参数不报错。
  • 从基本包导入函数,以消除 R CMD checkNOTE
  • 重新添加对 Fruchterman-Reingold 布局中边权重的支持
  • 检查 modularity() 中的成员向量。
  • str.igraph() 重命名为 print_all()
  • 在导出的图中,使用 igraph 版本而不是 @VERSION@ #75
  • 现在可以在 V()E() 索引中使用的函数以点开头。旧名称已弃用。新名称:.nei(), .innei(), .outnei(), .inc(), .from(), .to()#22
  • 修复将图转换为 graph::graphNEL 的包:它们不再需要手动附加“graph”了。
  • 修复了 layout_with_dhlayout_with_gemlayout_with_sugiyama 中的错误。它们在某些情况下会崩溃。

igraph 1.0.1

CRAN 发布:2015-06-26

2015 年 6 月 26 日

一些小更新

  • 文档修复。
  • 不再需要 C++11 编译器。
  • Fedora、Solaris 和 Windows 编译修复。

igraph 1.0.0

CRAN 发布:2015-06-24

2015 年 6 月 21 日

发布说明

这是 igraph 的一个新主版本,所以就叫它 1.0.0 吧。这并不意味着它已经准备就绪,它永远不会真正准备好。

本次发布的最大变化是:- 新的函数名称。大多数函数已被重命名,以使其更具一致性和可读性。(放心,旧名称仍然可以使用,无需更新任何代码。)- 更好的顶点和边序列操作。大多数函数返回正确的顶点/边序列而不是数字 ID。- 多功能的 make_()make_graph() 函数用于创建图。

重大变化

  • 许多函数已重命名。旧名称未在文档中列出,但仍可使用。
  • 一个通用的 make_graph() 函数用于创建图。
  • 一个通用的 layout_()(注意下划线!)函数用于创建图布局,另请参阅 add_layout_()
  • igraph 数据类型已更改。您需要对使用以前 igraph 版本创建的图调用 upgrade_graph()
  • 顶点和边序列操作:并集、交集等。
  • 顶点和边序列只能与它们所属的图一起使用。现在对此进行了严格检查。
  • 大多数返回顶点或边(子)集的函数现在返回顶点或边序列。
  • 顶点和边序列现在有一个 [[ 运算符,用于方便查看顶点/边元数据。
  • 顶点和边序列实现为弱引用。另请参见 as_ids() 函数,用于将它们转换为简单 ID。
  • 现在可以为圆形布局指定顶点顺序。
  • Davidson-Harel 布局算法 layout_with_dh()
  • GEM 布局算法 layout_with_gem()
  • 邻域函数有一个 mindist 参数,用于考虑的最小距离。
  • all_simple_paths() 函数用于列出图中所有简单路径。
  • triangles() 列出图中所有三角形。
  • Fruchterman-Reingold 和 Kamada-Kawai 布局算法已从头重写。它们更快,并且严格遵循原始出版物。
  • 更美观的图、顶点和边序列打印。
  • local_scan() 函数计算扫描统计量。
  • 嵌入:embed_adjacency_matrix()embed_laplacian_matrix()
  • 乘积运算符:*,同一个图多次。也可以用作 rep()
  • 更好的默认颜色,顶点调色板。
  • 图上的随机游走:random_walk()
  • adjacent_vertices()incident_edges() 函数,它们是矢量化的,与 neighhors()incident() 不同。
  • 使用 as_long_data_frame() 将图转换为**长**数据框。

错误修复

太多了,无法一一列出。请尝试查看您的问题是否已修复,如果没有,请(重新)报告。谢谢!

igraph 0.7.1

CRAN 发布:2014-04-22

2014 年 4 月 21 日

发布说明

一些错误修复,以确保“Statistical Analysis of Network Data with R”中包含的代码正常工作。请参阅 https://github.com/kolaczyk/sand

详细变更:

  • 图绘制:修复弯曲边的标签,问题 #181
  • 图绘制:允许在给定位置固定边标签,问题 #181
  • 二部投影后删除“type”顶点属性,投影不再是二部的,问题 #255
  • 正确打印标题中的逻辑属性(即用 l 编码,而不是 xx 用于复杂属性)。问题 #578
  • 添加了 communities 对象的构造函数,请参见 create.communities()。问题 #547
  • GraphML 解析器中更好的错误处理。
  • GraphML 读取器现在更加宽松;这使得可以读取从 yWorks 应用程序保存的 GraphML 文件。
  • 修复了 constaint() 中的一个错误,问题 #580
  • 二部投影现在检测无效边而不是给出神秘错误,问题 #543
  • 修复了 graph.formula()simplify 参数,该参数已损坏,问题 #586
  • 函数 crossing() 为结果添加了更好的名称,修复了问题 #587
  • 如果输入图不简单,sir() 函数会报错,修复了问题 #582
  • 现在不允许从 igraph 回调中调用 igraph 函数,修复了问题 #571

igraph 0.7.0

CRAN 发布:2014-02-05

2014 年 2 月 4 日

发布说明

库本身增加了一些新功能,项目生命周期中也有其他重要变化。感谢大家发送代码和报告错误!

igraph @ github

igraph 的开发已从 Launchpad 迁移到 github。这实际上是在几个月前发生的,但从未正式宣布。报告错误的地方是 https://github.com/igraph/igraph/issues

新主页

igraph 的主页现在托管在 https://igraph.cn,它是一个全新的页面。我们希望使其更易于使用和现代化。

更好的夜间下载

您可以在 https://igraph.cn/nightly 下载 igraph 的夜间构建版本。源代码和二进制 R 包(适用于 Windows 和 OSX)都已构建。

新功能和错误修复

  • 添加了层次随机图的演示,通过 demo(hrg) 调用。
  • 在写入 GraphML 文件时,使属性前缀可选。
  • 添加了函数 mod.matrix()
  • 在主导特征向量社区检测中支持边权重。
  • 添加了 LAD 库用于检查(子)图同构,版本 1。
  • 逻辑属性。
  • 添加了 layout.bipartite() 函数,一个简单的二列二部图布局。
  • 支持二部 Pajek 文件中的关联矩阵。
  • 矩阵格式的 Pajek 文件现在默认为有向的,除非它们是二部的。
  • 当文件为矩阵格式时,支持 Pajek 中的加权(和有符号)网络。
  • 修复了 barabasi.game() 中的一个错误,算法 psumtree-multiple 会冻结。
  • 函数 layout.mds() 默认现在返回一个布局矩阵。
  • 在 GraphML 和 GML 读取器和写入器中添加了对布尔属性的支持。
  • 更改 MDS 布局坐标,第一维根据第一个特征值等。
  • plot.communities()(实际上是 plot.igraph())默认会在标记的组周围绘制边框。
  • 打印图现在将 name 图属性转换为字符类型
  • 方便的函数,用于一次查询和设置所有属性:vertex.attriubutes()graph.attributes()edge.attributes()
  • 函数 graph.disjoint.union() 现在处理属性。
  • 重写 graph.union() 以正确处理属性。
  • rewire():现在支持生成和销毁循环。
  • Erdos-Renyi 类型二部随机图:bipartite.random.game()
  • 支持 get_shortest_paths() 的新选项(predesesors 和 inbound_edges),并完全重组了 get.shortest.paths() 的输出。
  • 添加了 graphlets() 及相关函数。
  • 修复了多级社区在没有任何合并时模块化值的问题。
  • 修复了在矩阵表示中删除带 FALSE 边的错误。
  • 修复 bonpow()alpha.centrality() 并确保调用稀疏求解器。
  • tkplot() 新闻:通过 tkplot.setcoords() 启用从命令行设置坐标,并通过 tkplot.canvas() 访问画布。
  • 修复了 igraph_edge_connectivity() 中潜在的崩溃,原因是 C 代码中一个未初始化的变量。
  • 避免 closeness() 及相关函数中的溢出。
  • bipartite.projection() 中将“type”转换为逻辑后检查 NA。
  • graphNEL 转换函数只在“graph”包未加载时才加载它,并且将其加载到搜索路径的末尾,以最大程度地减少冲突。
  • 修复了从邻接矩阵创建图时的一个错误,现在我们将它们转换为 double 类型,以防它们是整数。
  • 修复了 infomap 社区检测中无效内存读取(和潜在的崩溃)的错误。
  • 修复了带有属性组合的函数中的一些内存泄漏。
  • 移除了 SCG 函数中的一些内存泄漏。
  • 修复了光线追踪器中的一些内存泄漏。
  • 修复了 graph.bfs()graph.dfs() 中的内存泄漏。
  • 修复了三元组普查中将结果的第一个元素设置为 NaN 的错误。
  • 修复了 is.chordal() 中崩溃的错误。
  • 修复了加权模块度计算中的一个错误,权重总和被截断为整数。
  • 修复了加权多级社区中的一个错误,最大权重被四舍五入为整数。
  • 修复了 centralization.closeness.tmax() 中的一个错误。
  • 使用间隙启发式重新实现推拉最大流算法。
  • 最大流函数现在返回关于推拉算法步骤的一些统计信息。
  • arpack() 函数现在在给定未知选项时会给出错误消息。
  • 修复了 Pajek 写入器中 ID 属性为数字时缺少空格的错误。
  • 修复了当 ID 属性为非数字时导致 GML 读取器崩溃的错误。
  • 修复了问题 #500,如果 BLISS 中的两个图在顶点或边数上不同,则可能发生段错误。
  • 添加了 igraphtest() 函数。
  • 修复了二元普查的不稳定性,有时会报告不正确的结果。
  • 二元普查现在检测整数溢出并发出警告。
  • add.edges() 函数现在不允许顶点集中出现零。
  • 添加了一个函数来计算相邻三角形的数量:adjacent.triangles()
  • 添加了 graph.eigen() 函数,用于邻接矩阵上的特征问题。
  • 为创建大量图的函数添加了一些变通方法,decompose.graph()graph.neighborhood() 使用它。修复了问题 #508
  • optimal.community() 添加了权重支持,解决了 #511
  • 更快的最大团查找。
  • 添加了一个函数来计数最大团。
  • 集合操作:并集、交集、不相交并集、差集、组合现在基于顶点名称(如果存在)工作并保留属性,解决了 #20
  • 移除了函数 graph.intersection.by.name()graph.union.by.name()graph.difference.by.name()
  • 图上的 + 运算符现在,如果两个参数图都有名称,则调用 graph.union(),否则调用 graph.disjoint.union()
  • 添加了 igraph.version() 函数。
  • 从随机块模型生成图:sbm.game()
  • 不再建议使用 stats、XML、jpeg 和 png 包。
  • 修复了 set.vertex/edge.attribute 错误,该错误在复制后改变了两个图对象 (#533)。
  • 修复了 barabasi.game 中导致崩溃的错误。
  • 我们使用 PRPACK 计算 PageRank 分数,请参见 https://github.com/dgleich/prpack
  • bipartite.projection 添加了 'which 参数 (#307)。
  • 为中心性函数添加了 normalized 参数,修复了问题 #3
  • R:更好地处理复杂属性,顶点/边集上的 [[,修复了 #231
  • 实现了 hrg.fit 中的 start 参数 (#225)。
  • 在 Reingold-Tilford 布局中设置根顶点,解决了 #473
  • 修复了有向图的介数归一化问题。
  • 修复了 graph.density 中的一个错误,该错误导致无向图(带循环)的值不正确。
  • 修复了在一个 C 调用中创建多个图时(例如通过 graph.decompose)导致 #550 的错误。
  • 修复了稀疏 graph.adjacency 在有一个边和零个边的图上的错误。
  • 修复了一个导致 Bellman-Ford 最短路径计算失败的错误。
  • 修复了 graph.adjacency 在无向、加权图和稀疏矩阵上的错误。
  • main, sub, xlabylab 现在是合适的图形参数了 (#555)。
  • graph.data.frame 将参数强制转换为数据框 (#557)。
  • 修复了加权无向图的最小割错误 (#564)。
  • 用于模拟网络上流行病(SIR 模型)的函数,请参见 sir 函数。
  • 修复了 graph.mincut 和相关函数中的参数顺序。
  • 避免在查询函数和打印时复制属性 (#573),这些函数现在对于具有许多顶点/边和属性的图来说速度快得多。
  • 当某些属性是整数时,加快了 GML 和 GraphML 文件的写入速度。以前非常非常慢。
  • 修复了 graph.bfs 中的多个根顶点 (#575)。

igraph 0.6.6

CRAN 发布:2013-10-28

发布于 2013 年 10 月 28 日

修复了一些错误

  • 修复了 infomap.community() 函数中潜在的崩溃。
  • 修复了作用于顶点名称的运算符的各种问题 (#136)。
  • 修复了 arpack() 手册页中的一个示例。
  • 如果提供了未知选项,arpack() 现在会给出错误消息 (#492)。
  • 改进了 arpack() 的错误消息。
  • 修复了 Pajek 写入器中 ID 属性为数字时缺少空格的问题。
  • 修复了二元普查的不稳定性,有时会报告不正确的结果 (#496)。
  • 修复了当 ID 属性为非数字时导致 GML 读取器崩溃的错误。
  • 修复了 BLISS 中两个图的顶点或边数量不同时潜在的段错误 (#500)。
  • 添加了 igraphtest() 函数以从 R 运行测试 (#485)。
  • 二元普查现在会检测整数溢出并给出警告 (#497)。
  • R: add.edges() 现在不允许顶点集中出现零 (#503)。
  • 为没有 C++ 命名空间的文件添加了命名空间。修复了与其他包(如 rgl)的一些不兼容问题和神秘的崩溃 (#523)。
  • 修复了 set.vertex.attributes()set.edge.attributes()set.graph.attributes() 中导致副作用的错误 (#533)。
  • 修复了 degree.distribution()cluster.distribution() 中的错误 (#257)。

igraph 0.6.5-2

CRAN 发布:2013-05-23

发布于 2013 年 5 月 16 日

解决了两个 CRAN 检查问题和一个 gfortran 错误(如果代码是从 C 调用且没有在“正确”位置提供字符串长度参数,则字符串边界检查不起作用)。

其他方面与 0.6.5-1 相同。

igraph 0.6.5-1

CRAN 发布:2013-02-28

发布于 2013 年 2 月 27 日

修复了一个令人烦恼的错误,该错误导致 CRAN 上的另外两个包损坏。

  • 有时,如果属性是列表或其他复杂对象,则设置图属性会失败。

igraph 0.6.5

CRAN 发布:2013-02-25

发布于 2013 年 2 月 24 日

这是一个次要版本,用于修复 0.6.4 中一些非常烦人的错误。

  • igraph 现在应该与较旧的 R 版本良好兼容。
  • 绘制无箭头的边时,消除顶点和边之间的间隙。修复了 #1118448
  • 修复了 DrL 布局中潜在导致崩溃的数组越界索引错误。
  • 修复了加权介数计算中的崩溃。
  • 绘图:修复了矩形顶点形状上箭头错位的错误。

igraph 0.6.4

CRAN 发布:2013-02-04

发布于 2013 年 2 月 2 日

版本号没有错,出于技术原因,我们从 0.6 跳到 0.6.4。此版本实际上从未真正发布,但此版本的一些 R 包已上传到 CRAN,因此我们将此版本包含在此 NEW 文件中。

新功能和错误修复

  • 添加了用于定义新顶点形状的顶点形状 API,以及几个新的顶点形状。

  • 添加了 get.data.frame() 函数,与 graph.data.frame() 相反。

  • 为 Pajek 读取器和写入器添加了二分图支持,解决了错误 #1042298

  • degree.sequence.game() 现在有了一个新方法:“simple_no_multiple”。

  • 添加了 is.degree.sequence()is.graphical.degree.sequence() 函数。

  • rewire() 有一个新方法:“loops”,可以创建自环边。

  • Walktrap 社区检测现在处理孤立点。

  • layout.mds() 现在返回一个布局矩阵。

  • layout.mds() 使用 LAPACK 而不是 ARPACK。

  • 处理 write.graphread.graph 中的“~”字符。错误 #1066986

  • 添加了 k.regular.game()

  • 如果在函数调用中或作为顶点属性没有指定标签,则使用顶点名称进行绘图。修复了问题 #1085431

  • power.law.fit() 现在可以使用 C 实现。

  • 修复了 barabasi.game()out.seq 为空向量时的错误。

  • 修复了带进度条的函数在从另一个包调用时失败的错误。

  • 修复了通过 graph.adjacency() 从加权整数邻接矩阵创建图时的错误。错误 #1019624

  • 修复了中心化计算中的溢出问题。

  • 修复了 minimal.st.separators() 的错误,一些顶点集被错误地报告为分离器。错误 #1033045

  • 修复了 VF2 同构函数中顶点颜色处理不当的错误。错误 #1032819

  • Pajek 导出器现在总是引用字符串,感谢 Elena Tea Russo。

  • 修复了 shortest.paths()(Dijkstra 算法)中处理小边权重进行最短路径计算的错误。感谢 Martin J Reed。

  • 加权传递性如果 vids 为 NULL,则使用 V(graph) 作为 vids

  • 修复了“饼图”顶点与其他顶点形状一起绘制时的错误。

  • 加快了图的打印速度。

  • 通过避免复制图,加快了属性查询和其他基本操作。错误 #1043616

  • 修复了 ARPACK 函数中 NCV 设置的错误。它不能大于矩阵大小。

  • layout.merge() 的 DLA 模式现在有更好的默认值。

  • 修复了 layout.mds() 中导致顶点重叠的错误。

  • 修复了 layout.spring() 中的错误,它无法正常工作。

  • 修复了完全失效的 layout.svd()

  • 修复了 layout.graphopt() 中导致警告并在某些平台上崩溃的错误。

  • 修复了 community.to.membership()。错误 #1022850

  • 修复了 graph.incidence() 在调用时参数非矩阵导致的崩溃。

  • 修复了 get.shortest.paths 中当输出设置为“both”时的错误。

  • 母题查找函数对于非母题的同构类(即不连通)返回 NA。修复了错误 #1050859

  • 修复了当给定 attr 且属性具有某种复杂类型时 get.adjacency() 的错误。错误 #1025799

  • 修复了 graph.adjacency() 中密集矩阵的属性名称。错误 #1066952

  • 修复了 alpha.centrality() 的不稳定行为。

  • 修复了给定 attr 时的 igraph 索引。错误 #1073705

  • 修复了计算有向图最大团时的错误。错误 #1073800

  • 修复了最大团搜索中的错误,解决了 #1074402

  • 计算 PageRank 时,对负权重发出警告。

  • 修复了 denseunweighted graph.adjacencydiag=FALSE 时的错误。解决了问题 #1077425

  • 修复了 eccentricity()radius() 中的错误,结果经常完全错误。

  • 修复了 get.all.shortest.paths() 中某些边权重为零时的错误。

  • graph.data.frame() 在顶点名称为数字时更加谨慎,以避免其科学计数法。修复了问题 #1082221

  • 改进了对顶点名称中 NA 值的检查。修复了问题 #1087215

  • 修复了 DrL 布局生成器中潜在的崩溃。

  • 修复了 Reingold-Tilford 布局中当图是有向且 mode != ALL 时的错误。

igraph 0.6

CRAN 发布:2012-06-14

发布于 2012 年 6 月 11 日

另请参见发布说明:http://igraph.sf.net/relnotes-0.6.html

R:主要新功能

  • 顶点和边从 1 开始编号,而不是 0。请注意,这使得大多数旧的 R igraph 代码与 igraph 0.6 不兼容。如果您想使用旧代码,请使用 igraph0 包。更多信息请参见 http://igraph.sf.net/relnotes-0.6.html
  • “[”和“[[”运算符现在可以用于 igraph 图,对于“[”图表现为邻接矩阵,对于“[[”图被视为邻接列表。使用一些新运算符操作图结构(即添加/删除边和顶点)也变得简单得多。更多信息请参见 ?graph.structure。
  • 在所有接受顶点或边向量或列表的函数中,可以使用顶点/边名称代替数字 ID。
  • 新包“igraphdata”,包含一些可以直接在 igraph 中使用的数据集。
  • Igraph 现在支持从 Nexus 在线数据仓库加载图,请参见 nexus.get()nexus.info()nexus.list()nexus.search()
  • 所有社区结构查找算法现在都返回一个“communities”对象,该对象具有许多有用的操作,详情请参见 ?communities。
  • 顶点和边属性现在处理得更好。它们尽可能地保留,并且可以通过灵活的 API 进行组合。参见 ?attribute.combination。
  • R 现在以更结构化和信息丰富的方式将 igraph 图打印到屏幕上。summary() 的输出也相应更新。

R:其他新功能

  • 可以通过着色在图上标记顶点组。社区和内聚块默认使用此方式绘制。
  • 现在提供了一些 igraph 演示,通过“demo(package=“igraph”)”查看列表。
  • igraph 现在在绘制图时尝试选择最优布局算法。
  • 添加了一个使用 Tcl/Tk 的简单控制台。它包含一个用于状态消息的文本区域和一个状态栏。参见 igraph.console()
  • 重新实现了 igraph 选项支持,请参见 igraph.options()getIgraphOpt()
  • Igraph 函数现在可以打印状态消息。

R:新或更新的函数

社区检测

  • 添加了 Blondel 等人的多级模块化优化社区结构检测算法,请参见 multilevel.community()
  • 两个社区结构之间的距离:compare.communities()
  • 通过精确模块化优化实现社区结构,optimal.community()
  • 分层随机图和社区查找,移植了 Aaron Clauset 的代码。请参见 hrg.game()hrg.fit() 等。
  • 添加了 InfoMAP 社区查找方法,感谢 Emmanuel Navarro 提供的代码。请参见 infomap.community()

最短路径

  • 离心率 (eccentricity()) 和半径 (radius()) 计算。
  • 使用 get.shortest.paths() 进行最短路径计算现在可以返回最短路径上的边。
  • get.all.shortest.paths() 现在支持边权重。

中心性

  • 度、紧密、介数和特征向量中心性的中心化分数。请参见 centralization.scores()
  • 个性化 Page-Rank 分数,请参见 page.rank()
  • 子图中心性,subgraph.centrality()
  • 权威 (authority.score()) 和枢纽 (hub.score()) 分数现在支持边权重。
  • 在介数和紧密计算中支持边权重。
  • bonpow(),Bonacich 幂中心性和 alpha.centrality(),Alpha 中心性计算现在默认使用稀疏矩阵。
  • 特征向量中心性计算,evcent() 现在适用于有向图。
  • 介数计算现在可以使用任意大的整数,这对于某些类似格的图来说是必需的,以避免溢出。

输入/输出和文件格式

绘图和布局

  • 星形布局:layout.star()
  • 基于多维缩放的布局,layout.mds()
  • 新布局 layout.grid()layout.grid.3d()
  • 用于分层有向无环图的 Sugiyama 布局算法,layout.sugiyama()

图生成器

  • 新图生成器:static.fitness.game()static.power.law.game()
  • barabasi.game() 已重写,现在支持三种算法,默认算法不生成多重或自环边。图生成过程现在可以从提供的图开始。
  • Watts-Strogatz 图生成器 igraph_watts_strogatz() 现在可以创建没有自环边的图。

其他

  • 添加了谱粗粒度算法,请参见 scg()
  • cohesive.blocks() 函数已用 C 重写,现在速度快得多。它也有一个更简洁的 API。请参见 demo("cohesive")
  • 添加了具有许多回调的通用广度优先和深度优先搜索实现,graph.bfs()graph_dfs()
  • 在 VF2(子)图同构函数中支持顶点和边着色 (graph.isomorphic.vf2(), graph.count.isomorphisms.vf2(), graph.get.isomorphisms.vf2(), graph.subisomorphic.vf2(), graph.count.subisomorphisms.vf2(), graph.get.subisomorphisms.vf2())。
  • 同配系数,assortativity()assortativity.nominal()assortativity.degree()
  • 按顶点名称工作的顶点运算符:graph.intersection.by.name(), graph.union.by.name(), graph.difference.by.name()。感谢 Magnus Torfason 贡献了他的代码!
  • 计算非诱导子图的函数:subgraph.edges()
  • 更全面的最大流和最小割计算,请参见函数 graph.maxflow(), graph.mincut(), stCuts(), stMincuts()
  • 检查有向图是否为 DAG,is.dag()
  • has.multiple() 用于判断图是否有多重边。
  • 添加了一个计算顶点多样性分数的函数,graph.diversity()
  • 图拉普拉斯计算 (graph.laplacian()) 现在支持边权重。
  • 双连通分量计算,biconnected.components() 现在返回分量本身。
  • bipartite.projection() 计算边的多重性。
  • 最大基数搜索:maximum.cardinality.search() 和弦图性测试:is.chordal()
  • 凸包计算,convex.hull()
  • 收缩顶点,contract.vertices()

igraph 0.5.3

CRAN 发布:2009-11-22

发布于 2009 年 11 月 22 日

R 接口中已更正的错误

  • 进行了一些小改动以使“R CMD check”干净
  • 修复了 graph.incidence 中的错误,'directed''mode' 参数未正确处理。
  • 介数和边介数函数现在适用于具有许多最短路径的图(直至 long long int 的限制)。
  • 编译包时,如果 C 编译器不可用,则配置脚本会失败。
  • igraph.from.graphNEL 现在创建正确数量的自环边。
  • 修复了 bipartite.projection() 中导致某些系统偶尔崩溃的错误。

igraph 0.5.2

CRAN 发布:2009-04-14

发布于 2009 年 4 月 10 日

另请参见发布说明:http://igraph.sf.net/relnotes-0.5.2.html

R 接口中的新功能

  • betweenness()betweenness.estimate()layout.drl() 添加了进度条支持。
  • 加快了介数估计。
  • 加快了 are.connected()
  • 添加了 Johnson 最短路径算法。
  • shortest.paths() 现在有一个 'algorithm' 参数,用于手动选择各种实现。
  • 打印图或边时始终引用符号顶点名称。
  • 平均最近邻度计算,graph.knn()
  • 加权度(也称为强度)计算,graph.strength()
  • 一些新函数支持二分图:graph.bipartite()is.bipartite()get.incidence()graph.incidence()bipartite.projection()bipartite.projection.size()
  • 支持使用 plot.igraph()tkplot() 绘制弯曲边。
  • alpha.centrality() 添加了加权图支持。
  • 添加了 Raghavan 等人的标签传播社区检测算法,label.propagation.community()
  • cohesive.blocks() 现在有一个 'cutsetHeuristic' 参数,用于在两种切集算法之间选择。
  • 添加了一个“展开”树的函数,unfold.tree()
  • 新的 tkplot() 参数用于更改绘图区域。
  • 添加了一个最小 GUI,通过 tkigraph() 调用。
  • DrL 布局生成器,layout.drl() 现在具有三维模式。

R 接口中已更正的错误

  • 修复了 VF2 图同构函数中的错误。
  • 修复了在 get.adjacency() 中请求稀疏邻接矩阵且图已命名时的错误。
  • degree.sequence.game() 中的 VL 图生成器现在检查度数之和是否为偶数。
  • 修复了许多问题以支持各种编译器,例如 GCC 4.4 和 Sun 的 C 编译器。
  • 修复了 graph.automorphisms()、Bellman-Ford shortest.paths()independent.vertex.sets() 中的内存泄漏。
  • 修复了从 LGL 导入图并导出到 NCOL 格式时的错误 (#289596)。
  • cohesive.blocks() 在会话临时目录中创建其临时文件。
  • write.graph()read.graph() 现在在给定未知参数时会给出错误消息。
  • GraphML 读取器检查属性名称以避免添加重复的“id”属性。
  • 可以更改 leading.eigenvector.community() 的“ncv”ARPACK 参数。
  • 修复了 path.length.hist() 中的错误,“unconnected”对于不连通和无向图是错误的。
  • 改进了通过迭代器进行属性赋值的处理,这在手册中也已阐明。
  • 改进了未知顶点形状的错误消息。
  • 如果使用 unloadNamespace(),则使 R 包干净地卸载。
  • 修复了绘制方形顶点时的错误 (#325244)。
  • 修复了当矩阵为“dgTMatrix”类的稀疏矩阵时 graph.adjacency() 中的错误。

igraph 0.5.1

CRAN 发布:2008-07-12

发布于 2008 年 7 月 14 日

另请参见发布说明:http://igraph.sf.net/relnotes-0.5.1.html

R 接口中的新功能

  • 一个新的布局生成器 DrL。
  • 对给定度序列的随机连通无向图进行均匀采样。
  • 边标签绘制在边的 1/3 处,如果图有相互边,这样更好。
  • “plot”中对顶点形状的初步和实验性支持。
  • 新函数“graph.adjlist”从邻接列表创建 igraph 图。
  • 与来自“graph”R 包的 graphNEL 图进行相互转换。
  • Fastgreedy 社区检测现在可以利用边权重,这在 R 接口中缺失。
  • 添加了“arrow.width”图形参数。
  • graph.data.frame 有一个新的参数“vertices”。
  • graph.adjacencyget.adjacency 支持稀疏矩阵,使用此功能需要“Matrix”包。
  • graph.adjacency 将列/行名称添加为“name”属性。
  • 使用 Dijkstra 或 Belmann-Ford 算法计算加权最短路径。
  • 最短路径函数对不可达顶点返回“Inf”。
  • 新函数“is.mutual”用于查找有向图中的相互边。
  • 添加了逆对数加权相似性度量(又称 Adamic/Adar 相似性)。
  • preference.gameasymmetric.preference.game 已重写,现在它们是 O(|V|+|E|) 而不是 O(|V|^2)。
  • 函数“get.shortest.paths”中的边权重支持,它使用 Dijkstra 算法。

R 接口中已更正的错误

  • 修复了 write.pajek.bgraph 中的错误。
  • 修复了 graph.adjacency 中的几个错误。
  • Pajek 读取器错误已更正,以前如果缺少“*Vertices”会发生段错误。
  • 写入 GML 文件时正确处理有向性。(但请注意,“正确”在这里与标准冲突。)
  • 修正了在无向图上计算加权有向 PageRank 时的错误。(无论如何,这没有意义。)
  • Reingold-Tilford 布局中修复了几个错误,以避免边交叉。
  • 修复了 GraphML 读取器中,当图属性的值未指定时的错误。
  • 修复了小(3-4 个顶点)图的图同构例程中的错误。
  • 纠正了随机采样实现 (igraph_random_sample),现在它总是生成唯一的数字。这影响了 Gnm Erdos-Renyi 生成器,它现在总是生成简单图。
  • 基本的 igraph 构造函数 (igraph_empty_attrs,所有函数都应在内部调用此函数) 现在检查顶点数量是否有限。
  • LGL、NCOL 和 Pajek 图读取器现在正确处理错误。
  • 非对称 ARPACK 求解器现在以一致的形式返回结果。
  • 快速贪婪社区检测例程现在检查图是否简单。
  • LGL 和 NCOL 解析器已更正,以处理各种行尾编码。
  • Hub & authority 分数计算现在初始化 ARPACK 参数。
  • 修复了 Walktrap 社区检测例程中应用于非连通图时的错误。
  • 移除了一些小的内存泄漏,以及 Spinglass 社区结构检测函数中的一个大内存泄漏。

igraph 0.5

CRAN 发布:2008-02-13

发布于 2008 年 2 月 14 日

另请参见发布说明:http://igraph.sf.net/relnotes-0.5.html

R 接口中的新功能

  • 添加了“rescale”、“asp”和“frame”图形参数。

  • 从公式表示法创建图 (graph.formula)。

  • 正确处理图属性。

  • 计算无向图的实际最小割。

  • 添加了邻接列表、get.adjlistget.adjedgelist

  • 特征向量中心性计算现在快得多。

  • 正确的 R 警告,而不是将警告写入终端。

  • R 现在检查图形参数,未知参数不再被忽略,而是给出错误消息。

  • plot.igraph 现在有一个“add”参数,用于绘制多个图。

  • plot.igraph 支持“main”和“sub”参数。

  • layout.norm 现在是公共的,它可以规范化布局。

  • 可以为布局生成器提供起始位置。

  • 在所有操作系统中,按下 CTRL+C/ESC 时始终释放内存。

  • plot.igraph 现在可以绘制方形顶点,请参见“shape”参数。

  • graph.adjacency 在创建加权图时重写。

  • 我们尽可能使用 match.arg。这意味着字符标量选项可以缩写,并且始终不区分大小写。

  • VF2 图同构例程现在可以检查子图同构,并且能够返回匹配。

  • BLISS 图同构算法现在包含在 igraph 中。参见 canonical.permutationgraph.isomorphic.bliss

  • 我们使用 ARPACK 进行特征值/特征向量计算。这意味着以下函数已重写:page.rankleading.eigenvector.community.*evcent。基于 ARPACK 的新函数:hub.scoreauthority.scorearpack

  • Fruchterman-Reingold 布局的边权重 (layout.fruchterman.reingold)。

  • 线图计算 (line.graph)。

  • Kautz 和 de Bruijn 图生成器 (graph.kautz, graph.de.bruijn)。

  • 支持以 DOT 格式写入图。

  • 添加了 Jaccard 和 Dice 相似系数 (similarity.jaccard, similarity.dice)。

  • 计算边的多重性 (count.multiple)。

  • 添加了 graphopt 布局算法,layout.graphopt

  • 生成“著名”图 (graph.famous)。

  • 从 LCF 表示法创建图 (graph.cf)。

  • 二元普查和三元普查函数 (dyad.census, triad.census)。

  • 检查简单图 (is.simple)。

  • 创建完整引用网络 (graph.full.citation)。

  • 创建路径长度直方图 (path.length.hist)。

  • 添加了森林火灾模型 (forest.fire.game)。

  • DIMACS 读取器现在可以处理不同的文件类型。

  • 双连通分量和割点 (biconnected.components, articulation.points)。

  • Kleinberg 的 hub 和 authority 分数 (hub.score, authority.score)。

  • as.undirected 现在处理属性。

  • 几何随机图生成器 (grg.game) 可以返回顶点的坐标。

  • 添加了将主特征向量社区结构结果转换为成员向量的函数 (community.le.to.membership)。

  • 加权快速贪婪社区检测。

  • 加权 PageRank 计算。

  • 通过引入路径长度截止值来估计紧密性、介数、边介数的函数 (closeness.estimate, betweenness.estimate, edge.betweenness.estimate)。

  • 加权模块化计算。

  • 用于排列顶点的函数 (permute.vertices)。

  • 介数和紧密性计算速度加快。

  • read.graph 现在可以处理所有可能的行终止符(\r, \n, \r\n)。

  • walktrap 社区检测的错误处理已重写,计算现在可以中断。

  • maxflow/mincut 函数允许为边容量提供 NULL 指针,这意味着所有边的单位容量。

R 接口中已更正的错误

  • 修复了 cohesive.blocks 中的一个错误,有时内聚块计算不正确。

igraph 0.4.5

CRAN 发布:2007-12-22

发布于 2008 年 1 月 1 日

新增: - R 接口中新增内聚块查找功能,感谢 Peter McMahan 贡献代码。参见 James Moody 和 Douglas R. White, 2003, 《结构内聚与嵌入:社会群体的层次概念》(Structural Cohesion and Embeddedness: A Hierarchical Conception of Social Groups American Sociological Review 68(1):1-25)。 - 双连通分量和割点。 - R 接口:改进了属性打印。 - R 接口:可以通过“$”使用图属性。

错误修复: - Erdos-Renyi 随机图生成器已重写。

igraph 0.4.4

CRAN 发布:2007-10-03

发布于 2007 年 10 月 3 日

此版本应与新版 R 2.6.0 无缝协作。还修复了其他一些错误: - Erdos-Renyi 图生成器中的一个错误已修复,该生成器有时会添加一个额外的顶点。

igraph 0.4.3

CRAN 发布:2007-08-09

发布于 2007 年 8 月 13 日

这是错误修复版本序列中的下一个。感谢许多人发送错误报告。以下是更改: - 使用 R 或 Python 属性时,移除了一些内存泄漏。 - GraphML 解析器:现在正确处理多块中的实体和字符数据。 - 边介数社区结构检测中的一个错误已更正,如果从同一程序/会话多次调用,则会失败。 - 边介数社区结构:正确处理非连通图。 - 修复了与非连通图中的快速贪婪社区检测相关的错误。 - 使用不同类型的解析器(Push)读取 GraphML 文件。这对用户来说几乎是不可见的,但修复了读取 GraphML 文件时的一个非确定性错误。 - R 接口:现在,当使用向量作为有向图的 edge.width 参数调用时,plot 可以正确处理。 - R 接口:修复了 walktrap.community 和加权图的错误(拼写错误)。

igraph 0.4.2

CRAN 发布:2007-06-06

发布于 2007 年 6 月 7 日

这是另一个错误修复版本,因为上一版本的 R 包存在一个严重错误:它无法在 MS Windows 下以任何格式读取和写入图文件。

添加了一些其他内容: - 树的圆形 Reingold-Tilford 布局生成器。 - 修正了一个错误,Pajek 文件现在在 MS Windows 下正确写入。 - 在 R 接口中添加了 arrow.size 图形边参数。

igraph 0.4.1

CRAN 发布:2007-05-23

发布于 2007 年 5 月 23 日

这是一个次要版本,它纠正了许多错误,主要在 R 包中。

igraph 0.4

CRAN 发布:2007-05-21

发布于 2007 年 5 月 21 日

此版本的主要新增功能是一系列社区检测算法和对 GML 文件格式的支持。以下是完整的更改列表:

R 接口中的新功能

  • 由于内部表示方式的改变,使用旧版 igraph 存储的图无法可靠地用新版本读回。

  • neighbors 返回有序列表。

  • 添加了 is.loopis.multiple

  • 拓扑排序。

  • VF2 同构算法。

  • 支持从图数据库读取图以进行同构。

  • graph.mincut 可以计算实际的最小割。

  • 添加了周长计算,感谢 Keith Briggs。

  • 支持读取和写入 GML 文件。

  • 添加了 Walktrap 社区检测算法,感谢 Matthieu Latapy 和 Pascal Pons。

  • 添加了基于边介数的社区检测算法。

  • 添加了 Clauset 等人的社区检测快速贪婪算法,感谢 Aaron Clauset 分享他的代码。

  • 添加了 Mark Newman 的主特征向量社区检测算法。

  • 添加了从社区检测算法输出创建树状图的函数。

  • 添加了 community.membership 支持函数,从社区结构合并树创建成员向量。

  • 添加了模块化计算。

  • 图形参数处理已完全重写,颜色和字体处理统一,请务必阅读 ?igraph.plotting。

  • 新的边绘图参数:arrow.mode

  • 修复了播放非线性 barabasi.game 时的错误。

  • 使用 rglplot 在 3d 中绘制效果更好:边也是 3d 的。

  • rglplot 布局现在允许是二维的。

  • rglplot 在绘制时暂停更新,这使其速度更快。

  • 所有三个绘图函数都正确绘制自环边。

  • 打印图时更好地打印属性。

  • 图的摘要打印属性名称。

  • is.igraph 已重写,以便可以从“igraph”类继承。

  • 支持进度条的函数现在有了更好看的进度条。

其他

  • 许多函数受益于新的内部表示,现在速度更快:transitivityreciprocity、图操作函数如 intersectionunion 等。

已更正的错误

  • 修复了读取 Pajek 文件时的错误:有向图被读取为无向图。

igraph 0.3.2

CRAN 发布:2006-12-14

发布于 2006 年 12 月 19 日

这是一个新的主要版本,包含许多新功能。

R 接口中的更改

  • 从 SNA 移植了 bonpow 函数以计算 Bonacich 权力中心性。
  • get.adjacency 现在支持属性,这意味着它设置 colnamesrownames 属性,并且可以在矩阵中返回属性值而不是 0/1。
  • grg.game,几何随机图。
  • graph.density,图密度计算。
  • 现在可以使用 add.edgesadd.vertices 添加新边时轻松添加边和顶点属性。
  • graph.data.frame 从数据框创建图,这可以用于轻松创建具有边属性的图。
  • plot.igraphtkplot 现在可以绘制自环边。
  • graph.edgelist 从边列表创建图,也可以处理带有符号名称的边列表。
  • get.edgelist 现在有一个“names”参数,可以返回符号顶点名称而不是顶点 ID,默认情况下返回“name”顶点属性。
  • 在屏幕上打印图时,也会打印符号名称(如果存在“name”属性)。
  • 最大流和最小割函数:graph.maxflow, graph.mincut
  • 边和顶点连通性:edge.connectivity, vertex.connectivity
  • 边和顶点不相交路径:edge.disjoint.paths, vertex.disjoint.paths
  • White 的凝聚度和粘附度测量:graph.adhesion, graph.cohesion
  • 已添加 dimacs 文件格式
  • as.directed 现在可处理属性
  • 约束已修正,它现在也可处理加权图
  • graph.adjacency 增加加权属性
  • 已添加基于 Spinglass 的社区结构检测功能,以及 Joerg Reichardt – Stefan Bornholdt 算法:spinglass.community
  • graph.extended.chordal.ring,扩展弦环图生成
  • no.clusters 计算聚类数量,无需实际计算聚类本身
  • 最小生成树函数已更新以保留属性
  • 传递性也可计算局部传递性
  • 已添加邻域相关函数:neighborhood, neighborhood.size, graph.neighborhood
  • 基于顶点类型的新图生成器:preference.game 和 asymmetric.preference.game

错误已修正

  • 删除边时的属性处理错误已修正
  • GraphML 转义和 NaN 处理已修正
  • 已修正错误,使得无需 libxml2 库即可编译 R 包
  • Erdos-Renyi 图生成中的一个错误已修正:它在生成大型有向图时存在问题
  • 约束计算中的错误已修正,现在运行良好
  • 修复了 GraphML 读取器中的内存泄漏
  • GraphML 读取器中的错误处理错误已修正
  • R 版本 graph.laplacian 中的错误已修正,当请求归一化拉普拉斯时
  • R 包中 get.all.shortest.paths 的内存泄漏已修正

igraph 0.2.1

CRAN 发布:2006-08-24

发布于 2006 年 8 月 23 日

这是一个错误修复版本。已修复的错误:- 互惠性已修正,以避免段错误 (segfaults) - 一些文档更新 - R 包的各项更新,使其符合 CRAN 规则

igraph 0.2

CRAN 发布:2006-08-23

发布于 2006 年 8 月 18 日

终于发布了!igraph 0.2 中有许多新功能,其中最重要的是:- 支持读写带有属性的 Pajek 和 GraphML 格式(并非所有 Pajek 和 GraphML 文件都受支持,详见文档)- RANDEDU 快速模式搜索算法已实现- 许多新的图生成器,包括博弈图和正则图- 许多新的结构属性:传递性、互惠性等- 图运算符:并集、交集、差集、结构洞等- 有向图和无向图之间的转换- 针对树和大型图的新布局算法、3D 布局等。

R 包中新增的功能:- 支持 CTRL+C - 新函数:图拉普拉斯、Burt 约束等 - 顶点/边序列完全重写,智能索引(详见手册) - 新的 R 手册和教程:《Network Analysis with igraph》,仍在开发中但很有用 - 使用 OpenGL 进行非常基本的 3D 绘图

尽管此版本已在 Linux、MS Windows、Mac OSX、Solaris 8 和 FreeBSD 上进行了部分测试,但未进行大量测试,因此可能包含错误,我们恳请您提交错误报告,以使 igraph 更好。

igraph 0.1

发布于 2006 年 1 月 30 日

经过大约一年的开发,这是 igraph 库的第一个“官方”版本。此版本应被视为 Beta 软件,但它通常应该是有用的。请发送您的问题和意见。