число различных собственных векторов в R - PullRequest
2 голосов
/ 08 августа 2010

Для следующего примера есть 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

1 Ответ

1 голос
/ 08 августа 2010

Вот ответ:

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 ненулевой).

...