(я использую матричную нотацию MATLAB; точки с запятой означают «новую строку».)
[u; v] - собственный вектор [ab;cd] с собственным значением t if [ab;cd] [u; v] = t [u; v].Это означает, что au + bv = tu и cu + bv = tv;то есть (at) u + bv = 0 и cu + (dt) v = 0.Если это имеет какие-то нетривиальные решения, это потому, что эти два уравнения одинаковы, кроме постоянного фактора;тогда ваш собственный вектор равен [u; v] = [b; ta].(Конечно, уникально только с постоянным множителем.)
Собственные значения - это значения t, для которых это возможно;то есть, для которых эти два уравнения одинаковы, кроме постоянного фактора.Это происходит тогда, когда матрица [в б;c dt] единственное число, что означает, что его определитель равен нулю, что означает (at) (dt) -bc = 0, что означает t ^ 2 - (a + d) t + (ad-bc) = 0.
Итак: Решите это уравнение для собственных значений, а затем получите собственные векторы, как я описал выше.
Собственные значения могут быть сложными (например, для вращения).В этом случае вы также получите сложные собственные векторы, что правильно, потому что вы не можете иметь Av = kv с A, v реально, но k не реально.
Два предупреждения.
Некоторые матрицы имеют два равных собственных значения.Они могут иметь или не иметь два независимых собственных вектора.Если матрица является постоянным кратным единичной матрицы - вида [k 0;0 k] - тогда он имеет два независимых собственных вектора, и фактически любой подойдет двум независимым векторам, потому что все является собственным вектором.В противном случае существует только один собственный вектор, и любые теоремы или алгоритмы, которые полагаются на наличие двух, могут потерпеть неудачу.Это произойдет, например, с «сдвиговыми» матрицами вида [1 k;0 1].
В измерениях, превышающих 2, вы не хотите делать такие вещи.Существуют гораздо лучшие (но более сложные) способы вычисления собственных векторов и собственных значений, и способы, которыми вы не можете иметь «правильное» число независимых собственных векторов, являются более обширными.