eigen
位于 base
包(package)。 说明
计算数值(双精度、整数、逻辑)或复矩阵的特征值和特征向量。
用法
eigen(x, symmetric, only.values = FALSE, EISPACK = FALSE)
参数
x |
要计算其谱分解的数值或复数矩阵。逻辑矩阵被强制转换为数字。 |
symmetric |
如果 |
only.values |
如果 |
EISPACK |
合乎逻辑的。已失效并被忽视。 |
细节
如果未指定symmetric
,则isSymmetric(x)
确定矩阵是否对称,直至出现可能的数值误差。自己设置该值更可靠且通常更快。
对于大型矩阵来说,计算特征向量是最慢的部分。
在 real-world 计算机上计算矩阵的特征分解会出现错误:最终的分析是 Wilkinson (1965)。您所希望的只是一个与 x
相当接近的问题的解决方案。因此,即使实数不对称 x
可能具有具有重复实特征值的代数解,计算出的解也可能是具有复共轭特征值对的类似矩阵。
底层 LAPACK 代码的不成功结果将导致错误,并给出正错误代码(最常见的是 1
):这些只能通过详细研究 FORTRAN 代码来解释。
x
中缺少 NaN
或无限值将给出错误。
值
x
的谱分解以包含组件的列表形式返回
values |
包含 |
vectors |
其列包含 回想一下,特征向量仅定义为一个常数:即使指定了长度,它们仍然仅定义为模一标量(实矩阵的符号)。 |
当 only.values
不为 true 时,默认情况下,结果是 S3 类 "eigen"
。
如果 r <- eigen(A)
和 V <- r$vectors; lam <- r$values
,则
(直到数值模糊),其中 diag(lam)
。
例子
eigen(cbind(c(1,-1), c(-1,1)))
eigen(cbind(c(1,-1), c(-1,1)), symmetric = FALSE)
# same (different algorithm).
eigen(cbind(1, c(1,-1)), only.values = TRUE)
eigen(cbind(-1, 2:1)) # complex values
eigen(print(cbind(c(0, 1i), c(-1i, 0)))) # Hermite ==> real Eigenvalues
## 3 x 3:
eigen(cbind( 1, 3:1, 1:3))
eigen(cbind(-1, c(1:2,0), 0:2)) # complex values
来源
eigen
使用 LAPACK 例程 DSYEVR
、 DGEEV
、 ZHEEV
和 ZGEEV
。
LAPACK 来自https://netlib.org/lapack/,其指南在参考文献中列出。
参考
Anderson. E. and ten others (1999)
LAPACK Users' Guide. Third Edition. SIAM.
Available on-line at
https://netlib.org/lapack/lug/lapack_lug.html.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
Wilkinson, J. H. (1965) The Algebraic Eigenvalue Problem. Clarendon Press, Oxford.
也可以看看
相关用法
- R eval 计算(未计算的)表达式
- R environment 环境接入
- R exists 是否已定义对象?
- R eapply 将函数应用于环境中的值
- R expand.grid 从因子变量的所有组合创建 DataFrame
- R expression 未计算的表达式
- R encodeString 对字符向量进行编码以供打印
- R extSoftVersion 第三方软件的报告版本
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
- R dump R 对象的文本表示
- R Sys.getenv 获取环境变量
- R rank 样本排名
- R getDLLRegisteredRoutines DLL 中 C/Fortran 例程的反射信息
- R pushBack 将文本推回连接
- R strsplit 分割字符向量的元素
- R seq.Date 生成规则的日期序列
- R invisible 将打印模式更改为不可见
- R noquote “无引号”字符串打印类
- R warning 警告信息
- R rapply 递归地将函数应用于列表
- R basename 操作文件路径
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Spectral Decomposition of a Matrix。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。