我是R的新手,我有一个100x100的方阵。 我想找到这个矩阵的最大特征值。我试过了
is.indefinite(x)
但它写了
is.indefinite(x) : argument x is not a symmetric matrix
有没有人知道找到特征值的函数,或者更好的R中最大的特征值?
答案 0 :(得分:4)
要选择不复杂的最大特征值,您可以这样做:
eigenvalues = eigen(x)$values
max(Re(eigenvalues[abs(Im(eigenvalues)) < 1e-6])) # you have to choose the precision you like here
答案 1 :(得分:3)
查看eigen
功能。如果你的矩阵是x
,你可以这样做:
max(eigen(x)$values)
答案 2 :(得分:1)
显然没有人阅读文档:
x
的频谱分解作为包含组件的列表的组件返回
values
- 包含
p
特征值x
的向量,按递减顺序排序,根据Mod(values)
在非对称情况下可能很复杂(甚至对于真正的矩阵)。对于真实的不对称矩阵,只有在检测到复特征共轭特征值时,矢量才会复杂。
所以解决方案(忽略复杂的特征值)是
eigen(x)$values[1]
答案 3 :(得分:0)
将所有特征值处理为复数,然后计算到原点的距离将有助于找到最大的特征值。
答案 4 :(得分:0)
你可以,
eigenvalues = eigen(x)
max(abs(eigenvalues$values))
如果您想获取最大特征值的特征向量,请检查此https://stat.ethz.ch/pipermail/r-help/2012-April/311192.html