r - 计算矩阵的特征值多少钱?

标签 r matrix linear-algebra sparse-matrix eigenvalue

计算矩阵的特征值多少钱?

最佳算法的复杂性是什么?

如果我有1000 x 1000的矩阵,实际需要多长时间?我认为矩阵稀疏会有所帮助吗?

在任何情况下特征值计算都不会终止吗?

R中,我可以像下面的玩具示例中那样计算特征值:

m<-matrix( c(13,2, 5,4), ncol=2, nrow=2 )
eigen(m, only.values=1)
$values
[1] 14  3

有谁知道它使用什么算法?

是否有其他(开放源代码)软件包可以计算特征值?

最佳答案

特征值计算的大多数算法都缩放到big-Oh(n ^ 3),其中n是(对称和平方)矩阵的行/列维。

要了解迄今为止最佳算法的时间复杂度,您必须引用《科学计算/数值方法》中的最新研究论文。

但是,即使您假设情况更糟,对于1000x1000矩阵,您仍然至少需要进行1000 ^ 3次操作。

R默认情况下使用LAPACK例程(DSYEVR,DGEEV,ZHEEV和ZGEEV)实现。但是,您可以指定EISPACK = TRUE作为参数来使用EISPACK的RS,RG,CH和CG例程。

用于特征值计算的最流行,最优秀的开源程序包是LAPACK和EISPACK。

关于r - 计算矩阵的特征值多少钱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/713878/

相关文章:

linear-algebra - 用于进行高斯消去的BLAS/LAPACK例程

列表中的 POSIXct 日期范围

r - 计算向量中不同值的数量

Java CSV 行分隔

java - 在矩阵的对角线上输入值的更智能方式

java - 使用 Jama 数学库的 sigmoid 函数在 sigmoidfunction 中没有输出

linear-algebra - BLAS:gemm 与 gemv

r - 将变量名传递给R中的函数

r - 在R中,如何根据列属性的统计信息选择行?

R 中指定列数上矩阵的 rowsum