Собственные значения в октаве с eig()

Рассмотрим реальную симметричную матрицу

S = (2, 1; 1, 2)

Из характеристического уравнения |S - I| получаем квадратное уравнение (2-)^2 - 1 = 0, решения которого дают собственные значения 3 и 1. Соответствующие собственные векторы равны (1;-1) и (1;1) .

octave:4> [V,lambda] = eig([2, 1; 1,2])
V =

  -0.70711   0.70711
   0.70711   0.70711

lambda =

Diagonal Matrix

   1   0
   0   3

Почему собственные векторы в октаве [-0,70711; 0,70711] и [0,70711; 0,70711]?


person boraas    schedule 07.04.2014    source источник


Ответы (3)


Учитывая 1 = 3, соответствующий собственный вектор:

| 2 1 |   |x|     |x|
|     | * | | = 3 | |   =>   x = y
| 1 2 |   |y|     |y|

т.е. любой вектор вида [x, x]' для любого ненулевого действительного числа x является собственным вектором. Таким образом, [0.70711, 0.70711]' является таким же правильным собственным вектором, как и [1, 1]'.

Octave (но также и Matlab) выбирает значения таким образом, чтобы сумма квадратов элементов каждого собственного вектора равнялась единице (собственные векторы нормализованы, чтобы иметь норму 1, и, если быть точным, выбраны ортогональными).

Конечно, то же самое справедливо и для 2 = 1.

person manlio    schedule 07.04.2014

Другими словами, V является одним из qr множества [1 1; -1 1]

Таким образом, вы можете проверить, как это.

a = [1 1; -1 1]
[q,r] = qr(a)

q = 
   -0.70711  0.70711
    0.70711  0.70711

Результат такой же, как у eig.

person SeongTae Jeong    schedule 05.09.2017

Manlio правильно, и вот почему:

Любая проблема собственных значений имеет бесконечное число собственных векторов. Когда вы вручную находите собственный вектор, вы на самом деле вычисляете параметризованный вектор, представляющий это бесконечное семейство решений. Элементы определенного собственного вектора Octave (и большинства компьютерных программ), возвращаемые для данного собственного значения, могут использоваться для формирования ортонормированных базисных векторов собственного пространства, связанного с этим собственным значением. Любая линейная комбинация этих базисных векторов будет собственным вектором.

Итак, если вы ожидали другой собственный вектор, просто убедитесь, что он линейно зависит от базисных векторов, вычисленных Octave.

person Ralph H    schedule 25.03.2018