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