Обратите внимание, что несимметричные матрицы имеют тенденцию иметь сложные собственные значения.
eig(rand(7))
ans =
3.2957
-0.22966 + 0.58374i
-0.22966 - 0.58374i
-0.38576
0.49064
0.17144 + 0.27968i
0.17144 - 0.27968i
Также обратите внимание, что eig не возвращает явно отсортированные собственные значения (хотя основной алгоритм имеет тенденцию производить их в почти отсортированном порядке, основываясь нана величину собственного значения), но даже если вы делаете сортировку, вам необходимо понять, как сортировка работает на комплексных векторах.
sort(rand(5,1) + i*rand(5,1))
ans =
0.42343 + 0.51539i
0.0098208 + 0.76145i
0.20348 + 0.88695i
0.43595 + 0.83893i
0.8225 + 0.91264i
Сортировка при применении к сложным входам работает на величинукомплексный номер.