Русская Википедия:Спектральное разложение матрицы
Cпектральное разложение матрицы или разложение матрицы на основе собственных векторов — представление квадратной матрицы <math>A</math> в виде произведения трёх матриц <math>A = V\Lambda V^{-1}</math>, где <math>V</math> — матрица, столбцы которой являются собственными векторами матрицы <math>A</math>, <math>\Lambda</math> — диагональная матрица с соответствующими собственными значениями на главной диагонали, <math>V^{-1}</math> — матрица, обратная матрице <math>V</math>.
В таком виде могут быть представлены только матрицы, обладающие полным набором собственных векторов, то есть набором из n линейно независимых собственных векторов, где n — порядок матрицы <math>A</math>.
Спектральное разложение может использоваться для нахождения собственных значений и собственных векторов матрицы, решения систем линейных уравнений, обращения матрицы, нахождения определителя матрицы и вычисления аналитических функций от матриц.
Теория собственных векторов и собственных значений матрицы
Ненулевой вектор <math>\mathbf{v}</math> размерности Шаблон:Mvar является собственным вектором квадратной <math>N \times N</math> матрицы <math>\mathbf{A}</math>, если он удовлетворяет линейному уравнению
- <math>\mathbf{A} \mathbf{v} = \lambda \mathbf{v}</math>,
где <math>\lambda</math> — скаляр, называемый собственным значением матрицы и соответствующий собственному вектору <math>\mathbf{v}</math>. То есть, собственные вектора — вектора, которые линейное преобразование <math>\mathbf{A}</math> всего лишь удлиняет или укорачивает, а собственное значение — это коэффициент изменения длины. Уравнение выше называется уравнением на собственные значения или задачей на собственные значения.
Уравнение выше может рассматриваться как однородная система линейных уравнений
- <math>(\mathbf{A} - \lambda \mathbf{E}) \, \mathbf{v} = 0</math>,
в которой <math>\lambda</math> — это некоторый скалярный параметр, а <math>\mathbf{v}</math> — нетривиальное решение однородной системы линейных уравнений. Нетривиальные решения однородной системы линейных уравнений существуют только при равенстве нулю определителя матрицы системы, то есть
- <math> p\left(\lambda\right) = \det\left(\mathbf{A} - \lambda \mathbf{E}\right)= 0. </math>
Многочлен <math>p(\lambda)</math> называется характеристическим многочленом матрицы, а уравнение выше называется характеристическим уравнением. Характеристическое уравнение является полиномиальным уравнением Шаблон:Mvar-ого порядка от переменной <math>\lambda</math>. Данное уравнение имеет <math>N_{\lambda}</math> различных корней, где <math>1 \leqslant N_{\lambda} \leqslant N</math>. Множество решений, то есть, собственных значений, называется спектром матрицы <math>\mathbf{A}</math>Шаблон:SfnШаблон:SfnШаблон:Sfn.
Разложим характеристический многочлен <math>p(\lambda)</math> на множители:
- <math>p\left(\lambda\right) = \left(\lambda - \lambda_1\right)^{n_1}\left(\lambda - \lambda_2\right)^{n_2} \cdots \left(\lambda-\lambda_{N_{\lambda}}\right)^{n_{N_{\lambda}}} = 0. </math>
Натуральное число Шаблон:Mvar называется алгебраической кратностью собственного значения <math>\lambda_i</math>. Если поле скаляров алгебраически замкнуто, сумма алгебраических кратностей равна Шаблон:Mvar:
- <math>\sum\limits_{i=1}^{N_\lambda}{n_i} = N.</math>
Для каждого собственного значения <math>\lambda_i</math> решается отдельное уравнение на собственные векторы:
- <math>\left(\mathbf{A} - \lambda_i \mathbf{E}\right)\mathbf{v} = 0. </math>
Имеется <math>1 \leqslant m_i \leqslant n_i</math> линейно независимых решений для каждого такого уравнения. Линейные комбинации Шаблон:Math решений являются собственными векторами, связанными с собственным значением <math>\lambda_i</math>. Целое число Шаблон:Math называется геометрической кратностью значения <math>\lambda_i</math>. Алгебраическая кратность <math>n_i</math> и геометрическая кратность <math>m_i</math> могут не совпадать, но всегда <math>m_i \leqslant n_i</math>. Общее число линейно независимых собственных векторов <math>N_{\mathbf{v}}</math> может быть вычислено путём суммирования геометрических кратностей
- <math>\sum\limits_{i=1}^{N_{\lambda}}{m_i} = N_{\mathbf{v}}.</math>
Собственные векторы могут быть проиндексированы собственными значениями с помощью двойного индекса, тогда <math>\mathbf{v}_{ij}</math> будет означать Шаблон:Mvar-й собственный вектор для Шаблон:Mvar-го собственного значения. В более простой индексации используется единственный индекс <math>\mathbf{v}_k</math>, где <math>k = 1, 2, \dots, N_{\mathbf{v}}</math>.
Разложение матрицы с помощью собственных векторов
Пусть <math>\mathbf{A}</math> будет квадратной <math>n \times n</math> матрицей, имеющей Шаблон:Mvar линейно независимых собственных векторов Шаблон:Mvar (<math>i = 1, \dots, n</math>). Тогда <math>\mathbf{A}</math> можно разложить
- <math>\mathbf{A}=\mathbf{Q}\mathbf{\Lambda}\mathbf{Q}^{-1} </math>,
где <math>\mathbf{Q}</math> является квадратной <math>n \times n</math> матрицей, Шаблон:Mvar-ым столбцом которой является собственный вектор <math>q_i</math> матрицы <math>\mathbf{A}</math>, а <math>\Lambda</math> является диагональной матрицей, диагональными элементами которой являются соответствующие собственные значения, <math>\Lambda_{ii} = \lambda_i</math>. Заметим, что только диагонализируемые матрицы могут быть разложены таким образом. Например, матрица сдвига <math>\left[ \begin{smallmatrix} 1 & 1 \\ 0 & 1 \end{smallmatrix} \right]</math> не может быть диагонализирована.
Обычно собственные вектора Шаблон:Mvar нормируют, но это не обязательно, в качестве столбцов матрицы <math>\mathbf{Q}</math> может быть использован и ненормированный набор из Шаблон:Mvar собственных векторов Шаблон:Mvar.
Разложение может быть получено из фундаментального свойства собственных векторов:
- <math>\begin{align}
\mathbf{A} \mathbf{v} &= \lambda \mathbf{v} \\ \mathbf{A} \mathbf{Q} &= \mathbf{Q} \mathbf{\Lambda} \\ \mathbf{A} &= \mathbf{Q}\mathbf{\Lambda}\mathbf{Q}^{-1} . \end{align}</math>
Пример
Приведём к диагональному виду матрицу <math>\mathbf{A}</math> размера <math>2\times 2</math>
- <math>\mathbf{A} = \begin{bmatrix} 1 & 0 \\ 1 & 3 \\ \end{bmatrix}</math>
над полем вещественных чисел. Представим искомое разложение в виде
- <math>\begin{bmatrix}
1 & 0 \\ 1 & 3 \end{bmatrix} = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \begin{bmatrix} x & 0 \\ 0 & y \end{bmatrix} \begin{bmatrix} a & b \\ c & d \end{bmatrix}^{-1},
</math> для некоторых вещественных матриц <math>\left[ \begin{smallmatrix} x & 0 \\ 0 & y \end{smallmatrix} \right]</math> и <math>\mathbf{B} = \left[\begin{smallmatrix} a & b \\
c & d \end{smallmatrix} \right].
</math>
Умножив обе стороны равенства справа на <math>\mathbf{B}</math>, получим:
- <math>\begin{bmatrix} 1 & 0 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} a & b \\ c & d \end{bmatrix} = \begin{bmatrix} a & b \\ c & d \end{bmatrix} \begin{bmatrix} x & 0 \\ 0 & y \end{bmatrix}.</math>
Равенство выше может быть разложено на две системы уравнений:
- <math> \begin{cases} \begin{bmatrix} 1 & 0\\ 1 & 3 \end{bmatrix} \begin{bmatrix} a \\ c \end{bmatrix} = \begin{bmatrix} ax \\ cx \end{bmatrix} \\ \begin{bmatrix} 1 & 0\\ 1 & 3 \end{bmatrix} \begin{bmatrix} b \\ d \end{bmatrix} = \begin{bmatrix} by \\ dy \end{bmatrix} \end{cases} .</math>
Выносим Шаблон:Mvar и Шаблон:Mvar:
- <math> \begin{cases} \begin{bmatrix} 1 & 0\\ 1 & 3 \end{bmatrix} \begin{bmatrix} a \\ c \end{bmatrix} = x\begin{bmatrix} a \\ c \end{bmatrix} \\ \begin{bmatrix} 1 & 0\\ 1 & 3 \end{bmatrix} \begin{bmatrix} b \\ d \end{bmatrix} = y\begin{bmatrix} b \\ d \end{bmatrix} \end{cases} </math>
Обозначая
- <math>\overrightarrow{a} = \begin{bmatrix} a \\ c \end{bmatrix}, \quad \overrightarrow{b} = \begin{bmatrix} b \\ d \end{bmatrix},</math>
получаем два векторных уравнения:
- <math> \begin{cases} A \overrightarrow{a} = x \overrightarrow{a} \\ A \overrightarrow{b} = y \overrightarrow{b} \end{cases}</math>
Последняя система может быть представлена одним векторным равенством, включающим решения для двух собственных значений:
- <math>\mathbf{A} \mathbf{u} = \lambda \mathbf{u}</math>,
где <math>\lambda</math> представляет одно из двух собственных значений Шаблон:Mvar и Шаблон:Mvar матрицы <math>\mathbf{A}</math>, а <math>\mathbf{u}</math> представляет один из двух векторов <math>\overrightarrow{a}</math> и <math>\overrightarrow{b}</math>.
Перенося <math>\lambda\mathbf{u}</math> в левую часть и вынеся <math>\mathbf{u}</math>, получим
- <math>(\mathbf{A} - \lambda \mathbf{E}) \mathbf{u} = \mathbf{0}</math>
Поскольку матрица <math>\mathbf{B}</math> невырожденна, важно, чтобы вектор <math>\mathbf{u}</math> не был нулевым. Поэтому,
- <math>\det(\mathbf{A} - \lambda \mathbf{E}) = 0</math>.
Решениями уравнения
- <math>(1- \lambda)(3 - \lambda) = 0</math>
являются <math>\lambda=1</math> и <math>\lambda=3</math>, а получающаяся диагональная матрица из разложения матрицы <math>\mathbf{A}</math> равна <math>\left[ \begin{smallmatrix} 1 & 0 \\ 0 & 3 \end{smallmatrix} \right]</math>.
Если подставить решения обратно в систему уравнений выше, получим
- <math> \begin{cases} \begin{bmatrix} 1 & 0 \\ 1 & 3 \end{bmatrix} \begin{bmatrix} a \\ c \end{bmatrix} = 1\begin{bmatrix} a \\ c \end{bmatrix} \\ \begin{bmatrix} 1 & 0\\ 1 & 3 \end{bmatrix} \begin{bmatrix} b \\ d \end{bmatrix} = 3\begin{bmatrix} b \\ d \end{bmatrix} \end{cases} </math>
Решив уравнения, мы получим
- <math>a = -2c \quad\text{и} \quad b = 0, \qquad c,d \in \mathbb{R}.</math>
Тогда матрица <math>\mathbf{B}</math>, требуемая для разложения матрицы <math>\mathbf{A}</math> равна
- <math>\mathbf{B} = \begin{bmatrix} -2c & 0 \\ c & d \end{bmatrix},\qquad c, d\in \mathbb{R}, </math>
То есть:
- <math>\begin{bmatrix} 1 & 0 \\ 1 & 3 \end{bmatrix} = \begin{bmatrix} -2c & 0 \\ c & d \end{bmatrix} \begin{bmatrix} 1 & 0 \\ 0 & 3 \end{bmatrix}\begin{bmatrix}
-2c & 0 \\ c & d \end{bmatrix}^{-1},\qquad c, d\in \mathbb{R}</math>
Обращение матрицы через разложение по собственным векторам
Пусть матрица <math>\mathbf{A}</math> имеет спектральное разложение и никакое из собственных значений матрицы не равно нулю. В этом случае матрица <math>\mathbf{A}</math> является невырожденной, а её обратная матрица находится по формуле
- <math>\mathbf{A}^{-1} = \mathbf{Q}\mathbf{\Lambda}^{-1}\mathbf{Q}^{-1}</math>
Если матрица <math>\mathbf{A}</math> является симметричной матрицей, тогда матрица <math>\mathbf{Q}</math> гарантированно будет ортогональной, то есть <math>\mathbf{Q}^{-1} = \mathbf{Q}^\mathrm{T}</math>. А поскольку матрица <math>\Lambda</math> является диагональной, то её обратную легко вычислить:
- <math>\left[\Lambda^{-1}\right]_{ii} = \frac{1}{\lambda_i}</math>
Практическое значениеШаблон:Sfn
Если разложение с помощью собственных векторов используется для матрицы, полученной при измерениях с реальными данными, то обратная матрица может быть хуже обусловлена, если все собственные значения используются в неизменной форме. Дело в том, что когда собственные значения становятся относительно малыми, вклад их обратных в обратную матрицу велик. Эти близкие к нулю значения или «шум» системы измерения будет иметь чрезмерное влияние и может помешать решению с помощью обращения.
Было предложено два варианта смягчения последствий: отбрасывание малых или нулевых собственных значений и копирование наименьшего надёжного значения в более маленькие.
Первый вариант смягчения подобен разрежению исходной матрицы, в которой удаляются элементы, которые посчитали незначимыми. Однако, если процесс решения окажется близок к уровню шума, откидывание может удалить компоненты, которые влияют на желаемое решение.
Второй вариант смягчения копирует собственное значение, так что меньшие значения имеют меньшее влияние на результат обращения, но по-прежнему вносят вклад, так что могут быть найдены решения, даже близкие к уровню шума.
Надёжное собственное значение может быть найдено в предположении, что собственные значения крайне близки и низкое значение является хорошим представлением шума измерения (который предполагается низким для большинства систем).
Если собственные значения выстроены по величине, надёжное собственное значение может быть найдено путём минимизации лапласиана отсортированных собственных значенийШаблон:Sfn:
- <math>\min\left|\nabla^2 \lambda_\mathrm{s}\right|</math>,
где собственные значения помечены буквой Шаблон:Math для обозначения сортировки (от английского sorted). Место минимума является наименьшим надёжным собственным значением. В системах измерения квадратный корень из этого надёжного собственного значения является средним шумом относительно других компонент системы.
Функциональное исчисление
Пусть квадратная матрица <math>\mathbf{A}</math> имеет разложение <math>\mathbf{A} = \mathbf{Q} \mathbf{\Lambda} \mathbf{Q}^{-1}</math>. Тогда возведение матрицы в натуральную степень считается по простой формуле:
- <math>\mathbf{A}^{n} = \left( \mathbf{Q}\mathbf{\Lambda}\mathbf{Q}^{-1} \right)^{n} = \underbrace{\mathbf{Q}\mathbf{\Lambda}\mathbf{Q}^{-1} \cdot \ldots \cdot \mathbf{Q} \mathbf{\Lambda}\mathbf{Q}^{-1}}_{n} = \mathbf{Q} \mathbf{\Lambda}^{n} \mathbf{Q}^{-1},</math>
здесь в промежуточном выражении сокращаются произведения <math>\mathbf{Q}^{-1} \mathbf{Q}</math>. Операция возведения в натуральную степень позволяет определить над матрицами различные функции, которые выражаются в виде степенных рядов.
Разложение матрицы по собственным значениям позволяет быстрее вычислить степенной ряд от матрицы. Пусть Шаблон:Math задается степенным рядом
- <math>f(x) = a_0 + a_1 x + a_2 x^2 + \cdots</math>
В соответствии с формулой для степени от матрицы выше, степенной ряд для матрицы можно посчитать по формуле
- <math>f\left(\mathbf{A}\right) = \mathbf{Q}f\left(\mathbf{\Lambda}\right)\mathbf{Q}^{-1}</math>,
где <math>f\left(\mathbf{\Lambda}\right)</math> — функция от диагональной матрицы <math>\Lambda</math>, которая может быть очень легко вычислена:
- <math>\left[f\left(\mathbf{\Lambda}\right)\right]_{ii} = f\left(\lambda_i\right)</math>
При этом недиагональные элементы матрицы <math>f(\Lambda)</math> равны нулю. То есть, <math>f(\Lambda)</math> также является диагональной матрицей. В результате, вычисление функции от матрицы сводится к простому вычислению функции от каждого из собственных значений.
Похожая техника работает и в более общем виде в Шаблон:Не переведено 5, с помощью формулы
- <math>\mathbf{A}^{-1} = \mathbf{Q}\mathbf{\Lambda}^{-1}\mathbf{Q}^{-1}</math>
можно вычислять от матриц степенные ряды, которые содержат отрицательные степени. Здесь снова используется, что <math>\left[f\left(\mathbf{\Lambda}\right)\right]_{ii} = f\left(\lambda_i\right)</math>.
Примеры
Квадратный корень из матрицы:
- <math>\sqrt{\mathbf{A}} = \mathbf{Q} \sqrt{\mathbf{\Lambda}} \mathbf{Q}^{-1}.</math>
Возводим в квадрат и убеждаемся в корректности:
- <math>\mathbf{Q} \sqrt{\mathbf{\Lambda}} \mathbf{Q}^{-1} \mathbf{Q} \sqrt{\mathbf{\Lambda}} \mathbf{Q}^{-1} = \mathbf{Q} \mathbf{\Lambda} \mathbf{Q}^{-1} = \mathbf{A}.</math>
Аналогичным образом определяется экспонента матрицы <math> \exp{\mathbf{A}} </math>:
- <math>\exp{\mathbf{A}} = \mathbf{Q} \exp{\mathbf{\Lambda}} \mathbf{Q}^{-1}.</math>
Разложение специальных матриц
Нормальные матрицы
Комплексная квадратная матрица <math>\mathbf{A}</math> нормальна (что означает, что <math>\mathbf{A}^{\ast}\mathbf{A} = \mathbf{AA}^{\ast}</math>, где <math>\mathbf{A}^{\ast}</math> является эрмитово-сопряжённой) тогда и только тогда, когда она может быть разложена
- <math>\mathbf{A} = \mathbf{U}\mathbf{\Lambda}\mathbf{U}^*</math>
где <math>\mathbf{U}</math> является унитарной (что означает, что <math>\mathbf{U}^{\ast}=\mathbf{U}^{-1}</math>) и <math>\mathbf{\Lambda} = diag(\lambda_1, \dots, \lambda_n)</math> является диагональной матрицейШаблон:Sfn. Столбцы <math>\mathbf{u}_1, \dots, \mathbf{u}_n</math> матрицы <math>\mathbf{U}</math> образуют ортонормальный базис и являются собственными векторами матрицы <math>\mathbf{A}</math> с соответствующими собственными значениями <math>\lambda_1, \dots, \lambda_n</math>.
Если класс матриц <math>\mathbf{A}</math> ограничен эрмитовыми матрицами (<math>\mathbf{A}=\mathbf{A}^{\ast}</math>), то <math>\Lambda</math> имеет только вещественные значения. Если класс матриц <math>\mathbf{A}</math> ограничен унитарными матрицами, то все значения <math>\Lambda</math> лежат на комплексной единичной окружности, то есть, <math>|\lambda_i| = 1</math>.
Вещественные симметричные матрицы
Для любой вещественной <math>n \times n</math> симметричной матрицы собственные значения вещественны и собственные вектора можно выбрать вещественными и ортонормальными. Таким образом, вещественная симметричная матрица <math>\mathbf{A}</math> может быть разложена в
- <math>\mathbf{A} = \mathbf{Q}\mathbf{\Lambda}\mathbf{Q}^\mathsf{T}</math>
где <math>\mathbf{Q}</math> — ортогональная матрица, столбцами которой служат собственные вектора матрицы <math>\mathbf{A}</math>, а <math>\Lambda</math> — диагональная матрица, у которой значения на диагонали равны собственным значениям матрицы <math>\mathbf{A}</math>Шаблон:Sfn.
Полезные факты
Полезные факты о собственных значениях
Шаблон:Bulleted list{\lambda_i^{n_i}} </math>
Заметим, что каждое собственное значение возведено в степень Шаблон:Math, алгебраическую кратность. | Сумма собственных значений равна следу матрицы <math>\mathbf{A}</math>
- <math>\operatorname{tr}\left(\mathbf{A}\right) = \sum\limits_{i=1}^{N_{\lambda}}{{n_i}\lambda_i} </math>
Заметим, что каждое собственное значение умножается на Шаблон:Math, алгебраическую кратность. | Если собственные значения матрицы <math>\mathbf{A}</math> есть <math>\lambda_i</math> и <math>\mathbf{A}</math> обратима, собственные значения матрицы <math>\mathbf{A}^{-1}</math> просто равны <math>\lambda_i^{-1}</math>. | Если собственные значения матрицы <math>\mathbf{A}</math> есть <math>\lambda_i</math>, то собственные значения матрицы <math>f(\mathbf{A})</math> просто равны <math>f(\lambda_i)</math> для любой голоморфной функции Шаблон:Mvar. }}
Полезные факты о собственных векторах
- Если матрица <math>\mathbf{A}</math> эрмитова и имеет полный ранг, базис собственных векторов можно выбрать взаимно ортогональным. Собственные значения вещественны.
- Собственные вектора матрицы <math>\mathbf{A}^{-1}</math> те же самые, что и собственные вектора матрицы <math>\mathbf{A}</math>.
- Собственные вектора определены с точностью до постоянного множителя. То есть, если <math>\mathbf{Av} = \lambda\mathbf{v}</math>, то <math>c\mathbf{v}</math> является также собственным вектором для любого скаляра Шаблон:Math. В частности, <math>-\mathbf{v}</math> и <math>e^{i\theta}\mathbf{v}</math> (для любого <math>\theta</math>) также являются собственными векторами.
- В случае вырожденных собственных значений (собственное значение появляются более одного раза), собственные вектора имеют дополнительную степень свободы вращения, то есть любая линейная (ортонормальная) комбинация собственных векторов с одним и тем же собственным значением является сама собственным вектором.
Полезные факты о разложении с помощью собственных векторов
- Матрица <math>\mathbf{A}</math> может быть разложена с помощью собственных векторов тогда и только тогда, когда число линейно независимых собственных векторов <math>N_\mathbf{v}</math> равно размерности собственного вектора: <math>N_\mathbf{v} = N\,</math>
- Если <math>p(\lambda)</math> не имеет кратных корней, то есть, если <math>N_\lambda = N,</math>, то <math>\mathbf{A}</math> может быть разложена.
- Из утверждения «матрица <math>\mathbf{A}</math> может быть разложена» не следует, что <math>\mathbf{A}</math> имеет обратную.
- Из утверждения «матрица <math>\mathbf{A}</math> имеет обратную» не следует, что <math>\mathbf{A}</math> может быть разложено с помощью собственных векторов. Контрпримером является матрица <math>\left[ \begin{smallmatrix} 1 & 1 \\ 0 & 1 \end{smallmatrix} \right]</math>, которая является обратимой Шаблон:Не переведено 5.
Полезные факты об обратной матрице
- Матрица <math>\mathbf{A}</math> обратима тогда и только тогда, когда
- <math>\lambda_i \ne 0 \quad \forall \,i</math>
- Если <math>\lambda_i \ne 0</math> и <math>N_{\mathbf{v}} = N</math>, обратная матрица задаётся равенством
- <math>\mathbf{A}^{-1} = \mathbf{Q}\mathbf{\Lambda}^{-1}\mathbf{Q}^{-1}</math>
Численные вычисления
Численное вычисление собственных значений
Предположим, что требуется вычислить собственные значения заданной матрицы. Если размеры матрицы малы, собственные значения могут быть вычислены символьно с помощью характеристического многочлена. Однако это часто невозможно для больших матриц, и в этом случае используются численные методы.
На практике собственные значения больших матриц не вычисляются с помощью характеристического многочлена. Вычисление многочлена становится само по себе трудоёмким и затратным по времени, а точные (символьные) корни многочлена высокой степени трудно вычислить и выразить — из теоремы Абеля о неразрешимости уравнений в радикалах следует, что корни многочленов высокой степени (5 и выше) не могут быть в общем случае представлены как выражения от корней Шаблон:Mvar-ой степени. По этой причине общие алгоритмы поиска собственных векторов и собственных значений работают итеративно.
Существуют итеративные численные алгоритмы аппроксимации корней многочленов, такие как метод Ньютона, но, как правило, непрактично строить характеристический многочлен, а затем применять эти методы. Одной из причин является то, что малые Шаблон:Не переведено 5 в коэффициентах характеристического многочлена могут привести к большим ошибкам в собственных значениях и собственных векторах — корни являются крайне плохо обусловленной функцией от коэффициентовШаблон:Sfn.
Простым и точным итеративным методом является степенной метод — выбирается случайный вектор <math>\mathbf{v}</math> и вычисляется последовательность единичных векторов
- <math>\frac{\mathbf{A}\mathbf{v}}{\left\|\mathbf{A}\mathbf{v}\right\|}, \frac{\mathbf{A}^2\mathbf{v}}{\left\|\mathbf{A}^2\mathbf{v}\right\|}, \frac{\mathbf{A}^3\mathbf{v}}{\left\|\mathbf{A}^3\mathbf{v}\right\|}, \ldots</math>
Эта последовательность почти всегда сходится к собственному вектору, соответствующему собственному значению наибольшей величины, при условии что у вектора <math>\mathbf{v}</math> соответствующая этому собственному вектору компонента в базисе из собственных векторов ненулевая (а также при условии, что имеется только одно собственное значение наибольшей величины). Этот простой алгоритм полезен в некоторых практических приложениях. Например, Google использует его для вычисления ссылочного ранжирования документов в их поисковикеШаблон:Sfn. Также степенной метод является отправной точкой для многих других сложных алгоритмов. Например, если хранить не только последний вектор последовательности, а смотреть в линейной оболочке всех векторов последовательности, можно получить лучшую (сходящуюся быстрее) аппроксимацию собственного вектора, и эта идея является основой итерации АрнольдиШаблон:Sfn. Также важный QR-алгоритм также основан на слегка изменённом степенном методеШаблон:Sfn.
Численное вычисление собственных векторов
Если собственные значения вычислены, собственные вектора можно вычислить путём решения уравнения
- <math>\left(\mathbf{A} - \lambda_i \mathbf{E}\right)\mathbf{v}_{i,j} = 0 </math>
с помощью исключения Гаусса или любого другого метода решения матричного уравнения.
Однако, в практических методах нахождения собственных значений матриц большого размера собственные вектора обычно вычисляются другими способами как побочный продукт вычисления собственного значения. В степенном методе, например, собственный вектор, в общем-то, вычисляется перед вычислением собственного значения (который обычно вычисляется согласно отношению Рэлея для собственного вектора)Шаблон:Sfn. В QR-алгоритме для эрмитовой матрицы (или любой нормальной матрицы), ортонормальные собственные вектора получаются как произведение матриц <math>\mathbf{Q}</math> из шагов алгоритмаШаблон:Sfn. (Для матриц более общего вида QR-алгоритм сначала осуществляет разложение Шура, из которого собственные вектора могут быть получены обратной подстановкойШаблон:Sfn). Для эрмитовых матриц Шаблон:Не переведено 5 более эффективен чем QR-алгоритм, если нужны как собственные вектора, так и собственные значенияШаблон:Sfn.
Дополнительные темы
Обобщённые собственные пространства
Напомним, что геометрическую кратность собственного значения можно описать как размерность связанного собственного пространства, ядра матрицы <math>\lambda\mathbf{E}-\mathbf{A}</math>. Алгебраическая кратность может также рассматриваться как размерность — это размерность связанного обобщённого собственного пространства (в 1-м смысле), которое является ядром матрицы <math>(\lambda\mathbf{E}-\mathbf{A})^k</math> для любого достаточно большого Шаблон:Mvar. То есть, это пространство обобщённых собственных векторов (в первом смысле), где обобщённый собственный вектор — это любой вектор, который рано или поздно станет 0, если применить <math>\lambda\mathbf{E}-\mathbf{A}</math> достаточное число раз. Любой собственный вектор является обобщённым собственным вектором, а потому любое собственное пространство содержится в связанном обобщённом собственном пространстве. Это даёт простое доказательство, что геометрическая кратность никогда не превосходит алгебраическую кратность.
Такое использование не следует путать с обобщённой задачей собственных значений, описанной ниже.
Сопряжённый собственный вектор
Сопряжённый собственный вектор — это вектор, который после линейного преобразования переходит в (с точностью до умножения на скаляр) в свой сопряжённый. Скаляр тогда называется сопряжённым собственным значением линейного преобразования. Сопряжённые собственные вектора и значения представляют, по сути дела, ту же самую информацию, что и обычные собственные вектора и собственные значения, но возникают в случае использования других систем координат. Соответствующим равенством будет
- <math>\mathbf{A}\mathbf{v} = \lambda \mathbf{v}^*.</math>
Например, в теории когерентного электромагнитного рассеяния линейное преобразование <math>\mathbf{A}</math> представляет действие, осуществляемое рассеивающим объектом, а собственные вектора представляют поляризационные состояния электромагнитной волны. В оптике координатная система определяется с волновой точки зрения известной, как Шаблон:Не переведено 5 (Шаблон:Lang-en, FSA), и порождает уравнения обычных собственных значений, в то время как в радарах координатная система определяется со стороны радара, она известна как Шаблон:Не переведено 5 (Шаблон:Lang-en, BSA) и порождает уравнения для сопряжённых собственных векторов.
Обобщённая задача нахождения собственных значений
Обобщённая задача нахождения собственных значений (во втором смысле) — это задача нахождения вектора <math>\mathbf{v}</math>, удовлетворяющего равенству
- <math> \mathbf{A}\mathbf{v} = \lambda \mathbf{B} \mathbf{v}</math>
где <math>\mathbf{A}</math> и <math>\mathbf{B}</math> являются матрицами. Если <math>\mathbf{v}</math> удовлетворяет этому равенству для некоторого <math>\lambda</math>, то мы называем <math>\mathbf{v}</math> обобщённым собственным вектором матриц <math>\mathbf{A}</math> и <math>\mathbf{B}</math> (во втором смысле), а <math>\lambda</math> называется обобщённым собственным значением матриц <math>\mathbf{A}</math> и <math>\mathbf{B}</math> (во втором смысле), соответствующим обобщённому собственному вектору <math>\mathbf{v}</math>. Возможные значения <math>\lambda</math> должны удовлетворять следующему равенству
- <math>\det(\mathbf{A} - \lambda \mathbf{B})=0. </math>
Если можно найти <math>n</math> линейно независимых векторов <math>\{\mathbf{v}_1, \dots, \mathbf{v}_n</math>, таких что для любого <math>i \in \{1, \dots, n\}</math>, <math>\mathbf{Av}_i = \lambda _i\mathbf{Bv}_i</math>, мы определяем матрицы <math>\mathbf{P}</math> и <math>\mathbf{D}</math> следующим образом
- <math>P = \begin{pmatrix}
| & & | \\ \mathbf{v}_1 & \cdots & \mathbf{v}_n \\ | & & | \end{pmatrix} \equiv \begin{pmatrix} (\mathbf{v}_1)_1 & \cdots & (\mathbf{v}_n)_1 \\ \vdots & & \vdots \\ (\mathbf{v}_1)_n & \cdots & (\mathbf{v}_n)_n \end{pmatrix}
</math>
- <math>(D)_{ij} = \begin{cases}
\lambda_i, & \text{если }i = j\\ 0, & \text{иначе}
\end{cases}</math>
Тогда выполняется следующее равенство
- <math>\mathbf{A} = \mathbf{B}\mathbf{P}\mathbf{D}\mathbf{P}^{-1}</math>
Доказательство
- <math>
\mathbf{A}\mathbf{P}= \mathbf{A} \begin{pmatrix} | & & | \\ \mathbf{v}_1 & \cdots & \mathbf{v}_n \\ | & & | \end{pmatrix} = \begin{pmatrix} | & & | \\ A\mathbf{v}_1 & \cdots & A\mathbf{v}_n \\ | & & | \end{pmatrix} = \begin{pmatrix} | & & | \\ \lambda_1B\mathbf{v}_1 & \cdots & \lambda_nB\mathbf{v}_n \\ | & & | \end{pmatrix} = \begin{pmatrix} | & & | \\ B\mathbf{v}_1 & \cdots & B\mathbf{v}_n \\ | & & | \end{pmatrix} \mathbf{D} = \mathbf{B}\mathbf{P}\mathbf{D}
</math>
А поскольку <math>\mathbf{P}</math> обратима, то умножим на эту обратную и получим требуемый результат.
Множество матриц вида <math>\mathbf{A} - \lambda \mathbf{B}</math>, где <math>\lambda</math> — комплексное число называется пучком. Термин пучок матриц может относиться также к паре матриц <math>\mathbf{A},\mathbf{B}</math>Шаблон:Sfn.
Если матрица <math>\mathbf{B}</math> обратима, то исходную задачу можно переписать в виде
- <math>\mathbf{B}^{-1}\mathbf{A}\mathbf{v} = \lambda \mathbf{v}</math>
что является стандартной задачей собственных значений. В большинстве ситуаций, однако, нежелательно осуществлять это обращение, а решать обобщённую задачу собственных значений. Это особенно важно, если матрицы <math>\mathbf{A}</math> и <math>\mathbf{B}</math> эрмитовы, поскольку в этом случае <math>\mathbf{B}^{-1}\mathbf{A}</math> в общем случае обычно не эрмитова и важные свойства решения больше не проявляются.
Если обе матрицы <math>\mathbf{A}</math> и <math>\mathbf{B}</math> симметричны и эрмитовы и <math>\mathbf{B}</math> является кроме того положительно определённой, собственные значения <math>\lambda_i</math> вещественны и собственные вектора <math>\mathbf{v}_1</math> и <math>\mathbf{v}_2</math> с различными собственные значения <math>\mathbf{B}</math>-ортогональны (<math>\mathbf{v}_1^{\ast}\mathbf{Bv}_2 = 0</math>)Шаблон:Sfn. В этом случае собственные вектора можно выбрать так, что матрица <math>\mathbf{P}</math>, определённая выше, удовлетворяет условиям
- <math>\mathbf{P}^* \mathbf B \mathbf{P} = \mathbf{E}</math> or <math>\mathbf{P}\mathbf{P}^*\mathbf B = \mathbf{E}</math>,
и существует базис обобщённых собственных векторов (он не является Шаблон:Не переведено 5)Шаблон:Sfn. Этот случай иногда называется эрмитово определённым пучкомШаблон:Sfn.
См. также
- Разложение матрицы
- Шаблон:Не переведено 5
- Список матриц
- Собственный вектор
- Спектральная теорема
- Сингулярное разложение
- Преобразование Хаусхолдера
- Ковариант Фробениуса
- Шаблон:Не переведено 5
- Шаблон:Не переведено 5
Примечания
Литература
- Шаблон:Статья
- Шаблон:Статья
- Шаблон:Книга
- Шаблон:Книга
- Шаблон:Книга
- Перевод Шаблон:Книга
- Шаблон:Книга
- Шаблон:Книга
- Шаблон:Книга
- Шаблон:Книга
- Перевод Шаблон:Книга
- Шаблон:Книга
- Перевод Шаблон:Книга
Ссылки
Шаблон:Векторы и матрицы Шаблон:Rq