Вычисление собственных векторов / значений тензора 2х2 - PullRequest
0 голосов
/ 17 марта 2011

Я внедряю систему, описанную в этой статье , и я немного застрял.Я только недавно столкнулся с тензорами / собственными значениями и т. Д., Так что извините, если это немного просто!

Учитывая тензор 2x2, как я могу вычислить его главные и второстепенные собственные векторы?

Бонусные баллы зареализации, которые легко перевести на C #;)

1 Ответ

2 голосов
/ 17 марта 2011

(я использую матричную нотацию 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 не реально.

Два предупреждения.

  1. Некоторые матрицы имеют два равных собственных значения.Они могут иметь или не иметь два независимых собственных вектора.Если матрица является постоянным кратным единичной матрицы - вида [k 0;0 k] - тогда он имеет два независимых собственных вектора, и фактически любой подойдет двум независимым векторам, потому что все является собственным вектором.В противном случае существует только один собственный вектор, и любые теоремы или алгоритмы, которые полагаются на наличие двух, могут потерпеть неудачу.Это произойдет, например, с «сдвиговыми» матрицами вида [1 k;0 1].

  2. В измерениях, превышающих 2, вы не хотите делать такие вещи.Существуют гораздо лучшие (но более сложные) способы вычисления собственных векторов и собственных значений, и способы, которыми вы не можете иметь «правильное» число независимых собственных векторов, являются более обширными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...