Я видел this вопрос, и это имеет отношение к моей попытке вычислить доминирующий собственный вектор в Python с numPy.Неожиданные собственные векторы в numPy
Я пытаюсь вычислить доминирующий собственный вектор n x n-матрицы без необходимости попадания в слишком большую тяжелую линейную алгебру. Я сделал поверхностные исследования детерминант, собственных значений, собственных векторов и характеристических многочленов, но я предпочел бы полагаться на реализацию numPy для нахождения собственных значений, поскольку я считаю, что он более эффективен, чем мой собственный.
Проблема я столкнулся в том, что я использовал этот код:
markov = array([[0.8,0.2],[.1,.9]])
print eig(markov)
... как испытание, и получил этот результат:
(array([ 0.7, 1. ]), array([[-0.89442719, -0.70710678],
[ 0.4472136 , -0.70710678]]))
Что касается меня о том, что самая Перрона-Фробениуса, все компоненты второго собственного вектора должны быть положительными (так как, согласно Википедии, «реальная квадратная матрица с положительными элементами имеет единственное наибольшее вещественное собственное значение и что соответствующий собственный вектор имеет строго положительные компоненты»).
Кто-нибудь знает, что здесь происходит? Незначительно ли numPy? Я нашел несоответствие в ZFC? Или это только я, будучи нубом в линейной алгебре, Python, numPy или какой-то комбинации из трех?
Спасибо за любую помощь, которую вы можете предоставить. Кроме того, это мой первый вопрос SO (обычно я был активен на cstheory.se), поэтому любые советы по улучшению ясности моего вопроса также будут оценены.
И только так вы знаете мою мотивацию, я заинтересован в собственных векторов центральности. –
Если v - собственный вектор, то -v также является собственным вектором, поэтому общий знак не имеет значения. Важно то, что все компоненты вектора имеют один и тот же знак, который они делают для самого большого собственного значения, как и ожидалось. –