Собственное значение и собственный вектор квадратной матричной 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