Защо собствените стойности на eig() са сортирани във възходящ ред?

Опитвам се да намеря собствени стойности на матрица с eig. Дефинирам матрицата с примерни данни:

A = magic(5)

A =

17    24     1     8    15
23     5     7    14    16
 4     6    13    20    22
10    12    19    21     3
11    18    25     2     9

и

D = eig(A,'matrix')

D =


65.0000  0  0  0  0

0  -21.2768         0         0         0

0  0  -13.1263         0         0

0         0         0   21.2768         0

0         0         0         0   13.1263

Но ако използвам

C = cov(A)

и вземете собствени стойности от ковариационната матрица, това е резултатът:

DC = eig(C,'matrix')

DC =


        -0.0000         0         0         0         0

         0   35.4072         0         0         0

         0         0   44.9139         0         0

         0         0         0  117.5861         0

         0         0         0         0  127.0928

Защо собствените стойности от ковариационната матрица са сортирани във възходящ ред?


person Wanarase Cs Sinhashthita    schedule 27.11.2018    source източник
comment
Свързани. дубликат?   -  person Luis Mendo    schedule 27.11.2018


Отговори (1)


Сортирането е просто избор за удобство. Няма такова нещо като „реална“ позиция на собствен вектор, точно както (x,y) е също толкова валидно, колкото (y,x). Тъй като много матрични техники работят върху собствените вектори в низходящ ред на собствената стойност (т.е. първо най-важното), има смисъл да ги структурирате по съответния начин.

person Adriaan    schedule 27.11.2018