Собственное значение и собственный вектор квадратной матрицы А являются, соответственно, скалярным λ и ненулевым вектором, которые удовлетворяют
Astart= λ.
При наличии собственных значений на диагонали диагональной матрицы Λ и соответствующих собственных векторов, образующих столбцы матрицы V, имеется
AV = VΛ.
Если V не является сингулярным, это становится разложением собственных значений
A = VΛV-1.
Хорошим примером является матрица коэффициентов дифференциального уравнения dx/dt = Ax:
A =
0 -6 -1
6 2 -16
-5 20 -10Решение этого уравнения выражается в виде экспоненциальной матрицы x (t) = etAx (0). Заявление
lambda = eig(A)
создает вектор столбца, содержащий собственные значения A. Для этой матрицы собственные значения сложны:
lambda =
-3.0710
-2.4645+17.6008i
-2.4645-17.6008iДействительная часть каждого из собственных значений отрицательна, поэтому eλ t приближается к нулю по мере увеличения t. Ненулевая мнимая часть двух собственных значений, ± λ, вносит колебательную составляющую, sin (startt), в решение дифференциального уравнения.
С двумя аргументами вывода, eig вычисляет собственные векторы и сохраняет собственные значения в диагональной матрице:
[V,D] = eig(A)
V =
-0.8326 0.2003 - 0.1394i 0.2003 + 0.1394i
-0.3553 -0.2110 - 0.6447i -0.2110 + 0.6447i
-0.4248 -0.6930 -0.6930
D =
-3.0710 0 0
0 -2.4645+17.6008i 0
0 0 -2.4645-17.6008iПервый собственный вектор является реальным, а два других вектора являются комплексными сопряжениями друг с другом. Все три вектора нормализованы, чтобы иметь евклидову длину, norm(v,2), равно единице.
Матрица V*D*inv(V), которые могут быть написаны более лаконично как V*D/V, находится в пределах ошибки округления A. И, inv(V)*A*V, или V\A*V, находится в пределах ошибки округления D.
Некоторые матрицы не имеют собственного векторного разложения. Эти матрицы не диагонализуются. Например:
A = [ 1 -2 1
0 1 4
0 0 3 ]Для этой матрицы
[V,D] = eig(A)
производит
V =
1.0000 1.0000 -0.5571
0 0.0000 0.7428
0 0 0.3714
D =
1 0 0
0 1 0
0 0 3Имеется двойное собственное значение при λ = 1. Первый и второй столбцы V одинаковые. Для этой матрицы полного набора линейно независимых собственных векторов не существует.
Многие расширенные вычисления матрицы не требуют разложения собственных значений. Вместо этого они основаны на разложении Шура
A = USU ′,
где U - ортогональная матрица, и S - блок верхне-треугольная матрица с 1 на 1 и блоки 2 на 2 на диагонали. Собственные значения раскрываются диагональными элементами и блоками S, в то время как столбцы U обеспечивают ортогональную основу, которая имеет гораздо лучшие числовые свойства, чем набор собственных векторов.
Например, сравните собственное значение и разложение Шура этой дефектной матрицы:
A = [ 6 12 19
-9 -20 -33
4 9 15 ];
[V,D] = eig(A)V = -0.4741 + 0.0000i -0.4082 - 0.0000i -0.4082 + 0.0000i 0.8127 + 0.0000i 0.8165 + 0.0000i 0.8165 + 0.0000i -0.3386 + 0.0000i -0.4082 + 0.0000i -0.4082 - 0.0000i D = -1.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 1.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 1.0000 - 0.0000i
[U,S] = schur(A)
U =
-0.4741 0.6648 0.5774
0.8127 0.0782 0.5774
-0.3386 -0.7430 0.5774
S =
-1.0000 20.7846 -44.6948
0 1.0000 -0.6096
0 0.0000 1.0000Матрица A является дефектным, поскольку не имеет полного набора линейно независимых собственных векторов (второй и третий столбцы V одинаковые). Поскольку не все столбцы V линейно независимы, имеет большое число условий около ~1e8. Однако schur может вычислить три различных базисных вектора в U. С тех пор U ортогонально, cond(U) = 1.
Матрица S имеет действительное собственное значение в качестве первой записи на диагонали и повторяющееся собственное значение, представленное нижним правым блоком 2 на 2. Собственные значения блока 2 на 2 также являются собственными значениями A:
eig(S(2:3,2:3))
ans = 1.0000 + 0.0000i 1.0000 - 0.0000i