我使用了 nlshrink 包的函数 linshrink 来对对称矩阵 M 的特征值进行收缩估计。不幸的是,该函数没有返回我也需要的特征向量。如何手动计算它们?我考虑过对每个特征值λ定义和使用( M −λ I ) x = 0 ,但我不确定如何正确执行此操作,因为计算矩阵 A = M -λ I 并将其用作输入solve(A,b)
与b=rep(0,nrow(M))
显然返回一个零向量。有谁能够帮助我?以下几行代码提供了一个有效的示例:
library(nlshrink)
M <- matrix(1:16,4)
M[lower.tri(M)] = t(M)[lower.tri(M)]
M <- M/16.1
shrinkval <- linshrink(M) #eigenvalues