2015-04-25 2 views
0

Я новичок, когда дело доходит до использования библиотек python для численных задач. Я читал статью о LexRank и хотел узнать, как вычислить собственные векторы матрицы перехода. Я использовал функцию eigval и получил результат, что у меня трудное время интерпретации:scipy/numpy linalg.eigval интерпретация результатов

a = numpy.zeros(shape=(4,4)) 

a[0,0]=0.333 
a[0,1]=0.333 
a[0,2]=0 
a[0,3]=0.333 

a[1,0]=0.25 
a[1,1]=0.25 
a[1,2]=0.25 
a[1,3]=0.25 

a[2,0]=0.5 
a[2,1]=0.0 
a[2,2]=0.0 
a[2,3]=0.5 

a[3,0]=0.0 
a[3,1]=0.333 
a[3,2]=0.333 
a[3,3]=0.333 

print LA.eigval(a) 

и собственное значение:

[ 0.99943032+0.j   
-0.13278637+0.24189178j 
-0.13278637-0.24189178j 
    0.18214242+0.j  ] 

Может кто-нибудь объяснить, что j делает здесь? Разве это не собственное значение, которое должно быть скалярной величиной? Как я могу толковать этот результат в целом?

ответ

2

j - мнимое число, квадратный корень минус один. В математике он часто обозначается i, в технике и in Python, it is denoted by j.

+0

спасибо большое .. теперь я знаю, по крайней мере, что еще я должен прочитать, прежде чем интерпретировать этот результат –

1

одного собственного значения является скалярной величиной, но (м, м) матрица будет иметь м собственных значений (и м собственных векторов). The Wiki page on eigenvalues and eigenvectors имеет несколько примеров, которые могут помочь вам разобраться в концепциях.

Как упоминается @unutbu, j обозначает мнимое число в Python. В общем случае матрица может иметь сложные собственные значения (т. Е. С вещественной и мнимой компонентами), даже если она содержит только реальные значения (see here, for example). Исключением являются симметричные вещественнозначные матрицы, поскольку они гарантированно имеют только вещественные собственные значения.

+0

спасибо тонну! обсуждение, которое вы опубликовали, начинает иметь смысл сейчас! –

 Смежные вопросы

  • Нет связанных вопросов^_^