对于以下示例,有2个特征向量对应于1个特征值(具有多重性4)。但是,R返回4个不同的特征向量。它们看起来几乎相同,只是机器浮点误差(epsilon)不同。你能检查一下吗?
> B
[,1] [,2] [,3] [,4]
[1,] 2 0 0 0
[2,] 1 2 0 0
[3,] 0 1 2 0
[4,] 0 0 1 2
> eigen(B)
$values
[1] 2 2 2 2
$vectors
[,1] [,2] [,3] [,4]
[1,] 0 0.000000e+00 0.000000e+00 8.758115e-47
[2,] 0 0.000000e+00 1.972152e-31 -1.972152e-31
[3,] 0 4.440892e-16 -4.440892e-16 4.440892e-16
[4,] 1 -1.000000e+00 1.000000e+00 -1.000000e+00
答案 0 :(得分:1)
以下是答案:
http://www.wolframalpha.com/input/?i=eigenvalues+[[2,+0,+0,+0],+[1,+2,+0,+0],+[0,+1,+2,+0],+[0,+0,+1,+2]]
(我无法进入链接...)
这样想:
2 0 0 0
B = 1 2 0 0
0 1 2 0
0 0 1 2.
如果我们从主对角线中减去特征值\ lambda = 2(就像计算本征空间一样),我们得到
0 0 0 0
(B - 2 I) = 1 0 0 0
0 1 0 0
0 0 1 0.
如果坐标是(x,y,z,w),那么,显然(B - 2 I)X = 0得到x = 0(来自第二行),y = 0(来自第三行),和z = 0(从最后一行)。因此,空间由所有点(0,0,0,w)组成,其中w是任意的。也就是说,它是一维的,任何向量(0,0,0,t)都将作为基矢量(t非零)。