Собственное значение и собственный вектор квадратной матричной A являются, соответственно, скалярным λ и ненулевым векторным υ, которые удовлетворяют
Aυ = λυ.
С собственными значениями на диагонали диагональной матрицы, и соответствующими собственными векторами, образующими столбцы матрицы V, вы имеете
AV = VΛ.
Если V несингулярна, это становится собственным значением разложения
A = VΛV–1.
Хорошим примером является матрица коэффициентов дифференциального уравнения dx/ dt = A x:
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 (ω t), в решение дифференциального уравнения.
С двумя выходными аргументами, 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 = <reservedrangesplaceholder2> <reservedrangesplaceholder1> <reservedrangesplaceholder0> ,
где 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