Собственное значение и собственный вектор квадратной матрицы, 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) = etAx0 . Оператор
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)
, равняйтесь одному.
matrix V*D*inv(V)
, который может быть записан более кратко как V*D/V
, в ошибке округления A
. И, inv(V)*A*V
, или V\A*V
, в ошибке округления of 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 = U S U ′,
где U является ортогональной матрицей, и S является верхней треугольной матрицей блока с блоками 2 на 2 и 1 на 1 на диагонали. Собственные значения показаны диагональными элементами и блоками 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