R igraph 手册页

如果您从 R 中使用 igraph,请使用此选项

spectrum {igraph}R 文档

图的邻接矩阵的特征值和特征向量

描述

计算(可能稀疏的)图的选定特征值和特征向量。

用法

spectrum(
  graph,
  algorithm = c("arpack", "auto", "lapack", "comp_auto", "comp_lapack", "comp_arpack"),
  which = list(),
  options = arpack_defaults
)

参数

输入图,可以是定向图或无向图。

algorithm

要使用的算法。目前只实现了 arpack,它使用 ARPACK 求解器。另请参阅 arpack

which

用于指定要计算哪些特征值和特征向量的列表。默认情况下,计算主导(即最大幅度)特征值和相应的特征向量。

选项

ARPACK 求解器的选项。参见 arpack_defaults

详细信息

which 参数是一个列表,它指定要计算哪些特征值和相应的特征向量:有八个选项

  1. 具有最大幅度的特征值。将 pos 设置为 LM,并将 howmany 设置为所需的特征值数量。

  2. 具有最小幅度的特征值。将 pos 设置为 SM,并将 howmany 设置为所需的特征值数量。

  3. 最大特征值。将 pos 设置为 LA,并将 howmany 设置为所需的特征值数量。

  4. 最小特征值。将 pos 设置为 SA,并将 howmany 设置为所需的特征值数量。

  5. 来自频谱两端的特征值。将 pos 设置为 BE,并将 howmany 设置为所需的特征值数量。如果 howmany 是奇数,则从较大端返回多一个特征值。

  6. 选定的特征值。目前尚未实现。

  7. 区间内的特征值。尚未实现。

  8. 所有特征值。尚未实现。无论如何,标准的 eigen 函数在这方面做得更好。

请注意,ARPACK 对于具有多个组件的图(例如,具有孤立顶点的图)可能不稳定。

取决于使用的算法。

对于 arpack,返回一个包含三个条目的列表

选项

有关完整描述,请参见 arpack 的返回值。

values

数值向量,特征值。

vectors

数值矩阵,特征向量作为列。

作者

Gabor Csardi csardi.gabor@gmail.com

参见

as_adj 用于创建(稀疏)邻接矩阵。

示例


## Small example graph, leading eigenvector by default
kite <- make_graph("Krackhardt_kite")
spectrum(kite)[c("values", "vectors")]

## Double check
eigen(as_adj(kite, sparse=FALSE))$vectors[,1]

## Should be the same as 'eigen_centrality' (but rescaled)
cor(eigen_centrality(kite)$vector, spectrum(kite)$vectors)

## Smallest eigenvalues
spectrum(kite, which=list(pos="SM", howmany=2))$values


[包 igraph 版本 1.3.5 索引]