Введение
Численные методы вычисления собственных значений матрицы
В численном анализе одной из важнейших задач является разработка эффективных и устойчивых алгоритмов для нахождения собственных значений матрицы. Эти алгоритмы для собственных значений могут также находить собственные векторы.
In numerical analysis, one of the most important problems is designing efficient and stable algorithms for finding the eigenvalues of a matrix. These eigenvalue algorithms may also find eigenvectors.
Нормальные, гермитовые и реально-симметричные матрицы
Присоединенная M^(*) комплексной матрицы M является транспонированием сопряжения M: квадратная матрица A называется нормальной, если она коммутирует со своей присоединенной: A^(*)A = AA^(*). Она называется эрмитовой, если она равна своей присоединенной: A^(*) = A. Все эрмитовы матрицы являются нормальными. Если A имеет только вещественные элементы, то присоединенная – это просто транспонирование, а A является эрмитовой тогда и только тогда, когда она симметрична. При применении к столбцовым векторам, присоединенная может быть использована для определения канонического внутреннего произведения на C^n: <w, v> = w^(*)v. Нормальные, эрмитовы и вещественно симметричные матрицы обладают несколькими полезными свойствами: каждый обобщенный собственный вектор нормальной матрицы является обычным собственным вектором. Любая нормальная матрица подобна диагональной матрице, поскольку ее жорданова нормальная форма диагональна. Собственные векторы различных собственных значений нормальной матрицы ортогональны. Нулевое пространство и образ (или пространство столбцов) нормальной матрицы ортогональны друг другу. Для любой нормальной матрицы A, C^n имеет ортонормированный базис, состоящий из собственных векторов A. Соответствующая матрица собственных векторов унитарна. Собственные значения эрмитовой матрицы являются вещественными, поскольку для ненулевого собственного вектора v это справедливо. Если A вещественная, то существует ортонормированный базис для R^n, состоящий из собственных векторов A, тогда и только тогда, когда A симметрична. Реальная или комплексная матрица может иметь все вещественные собственные значения, не являясь при этом эрмитовой. Например, вещественная треугольная матрица имеет свои собственные значения на главной диагонали, но в общем случае не является симметричной.
Every generalized eigenvector of a normal matrix is an ordinary eigenvector. Any normal matrix is similar to a diagonal matrix, since its Jordan normal form is diagonal. Eigenvectors of distinct eigenvalues of a normal matrix are orthogonal. The null space and the image (or column space) of a normal matrix are orthogonal to each other. For any normal matrix A, 'C'^(n) has an orthonormal basis consisting of eigenvectors of A. The corresponding matrix of eigenvectors is unitary. The eigenvalues of a Hermitian matrix are real, since for a non zero eigenvector 'v'. If A is real, there is an orthonormal basis for 'R'^(n) consisting of eigenvectors of A if and only if A is symmetric. It is possible for a real or complex matrix to have all real eigenvalues without being Hermitian. For example, a real triangular matrix has its eigenvalues along its diagonal, but in general is not symmetric.
Номер условия
Любую задачу численного вычисления можно рассматривать как вычисление некоторой функции f для заданного x. Условное число κ(f, x) задачи – это отношение относительной погрешности в выходных данных функции к относительной погрешности во входных данных, и оно зависит как от функции, так и от входных данных. Условное число описывает, как погрешность нарастает в процессе вычисления. Его десятичный логарифм показывает, на сколько меньше значащих цифр в результате, чем во входных данных. Условное число представляет собой наилучший случай. Оно отражает присущую задаче неустойчивость, независимо от способа её решения. Ни один алгоритм не может дать более точных результатов, чем указано условным числом, за исключением случайности. Однако, плохо разработанный алгоритм может привести к значительно худшим результатам. Например, как упоминается ниже, задача нахождения собственных значений для нормальных матриц всегда хорошо обусловлена. Однако, задача поиска корней многочлена может быть очень плохо обусловлена. Следовательно, алгоритмы собственных значений, работающие путем нахождения корней характеристического многочлена, могут быть плохо обусловлены, даже если сама задача хорошо обусловлена. Для задачи решения линейного уравнения 1=A'v' = 'b', где A обратима, матричное условное число 1=κ(A^(−1), 'b') задается выражением , где – операторная норма, подчиненная обычной евклидовой норме на 'C'^(n). Поскольку это число не зависит от 'b' и одинаково для A и A^(−1), его обычно называют просто условным числом κ(A) матрицы A. Это значение κ(A) также является абсолютным значением отношения наибольшего собственного значения A к наименьшему. Если A унитарна, то , следовательно 1=κ(A) = 1. Для общих матриц операторную норму часто трудно вычислить. По этой причине для оценки условного числа обычно используются другие матричные нормы. Для задачи собственных значений Бауэр и Фик доказали, что если λ является собственным значением диагонализуемой n × n матрицы A с матрицей собственных векторов V, то абсолютная погрешность в вычислении λ ограничена произведением κ(V) и абсолютной погрешности в A. В результате, условное число для нахождения λ равно . Если A нормальна, то V унитарна, и 1=κ(λ, A) = 1. Таким образом, задача собственных значений для всех нормальных матриц хорошо обусловлена. Условное число для задачи нахождения собственного пространства нормальной матрицы A, соответствующего собственному значению λ, было показано обратно пропорциональным минимальному расстоянию между λ и другими различными собственными значениями A. В частности, задача собственного пространства для нормальных матриц хорошо обусловлена для изолированных собственных значений. Когда собственные значения не изолированы, лучшее, на что можно надеяться, – это определить линейную оболочку всех собственных векторов близлежащих собственных значений.
Итеративные алгоритмы
Итеративные алгоритмы решают задачу собственных значений, генерируя последовательности, сходящиеся к собственным значениям. Некоторые алгоритмы также генерируют последовательности векторов, сходящиеся к собственным векторам. Чаще всего последовательности собственных значений представляются как последовательности подобных матриц, сходящихся к треугольной или диагональной форме, что позволяет легко считывать собственные значения. Последовательности собственных векторов представляются соответствующими матрицами подобия. Метод Применяется к Производит Стоимость за шаг Сходимость Описание Алгоритм Ланчоса Эрмитовы m наибольшие/наименьшие собственные пары Итерация степеней Общая собственная пара с наибольшим значением O(n²) линейная Многократно применяет матрицу к произвольному начальному вектору и нормирует. Обратная итерация Общая собственная пара со значением, наиболее близким к μ линейная Итерация степеней для (A − μI)⁻¹ Итерация частного Рэлея Эрмитовы любая собственная пара кубическая Итерация степеней для (A − μiI)⁻¹, где μi для каждой итерации является частным Рэлея предыдущей итерации. Предварительная обратная итерация или алгоритм LOBPCG положительно определенные вещественно-симметричные собственные пары со значением, наиболее близким к μ. Обратная итерация с использованием предварительного решателя (приблизительный обратный к A). Метод бисекции Вещественно-симметричные тридиагональные любые линейные Использует метод бисекции для нахождения корней характеристического многочлена, поддерживаемый последовательностью Штурма. Итерация Лагерра Вещественно-симметричные тридиагональные любые кубические Использует метод Лагерра для нахождения корней характеристического многочлена, поддерживаемый последовательностью Штурма. QR-алгоритм Гессенова все собственные значения O(n²) кубический Разлагает A = QR, где Q ортогональна, а R треугольна, затем применяет следующую итерацию к RQ. все собственные пары 6n³ + O(n²) Алгоритм собственных значений Якоби Вещественно-симметричные все собственные значения O(n³) квадратичная Использует вращения Гивенса для попытки обнуления всех внедиагональных элементов. Это не удается, но усиливает диагональ. Метод "разделяй и властвуй" Эрмитовы тридиагональные все собственные значения O(n²) Разделяет матрицу на подматрицы, которые затем диагонализуются и рекомбинируются. все собственные пары Метод гомотопии Вещественно-симметричные тридиагональные все собственные пары O(n²) Строит вычислимый гомотопический путь из диагональной задачи собственных значений. Метод свернутого спектра Вещественно-симметричные собственные пары со значением, наиболее близким к μ. Предварительная обратная итерация, применяемая к (A − μI)² Алгоритм MRRR Вещественно-симметричные тридиагональные некоторые или все собственные пары O(n²) "Множественные относительно устойчивые представления" – выполняет обратную итерацию на LDLᵀ-разложении сдвинутой матрицы. Итерация Грама Общая собственная пара с наибольшим собственным значением сверхлинейная Многократно вычисляет грам-определитель и перемасштабирует детерминированно.
Прямые расчеты
Хотя не существует простого алгоритма для непосредственного вычисления собственных значений для общих матриц, существует множество специальных классов матриц, для которых собственные значения можно вычислить напрямую. К ним относятся:
Треугольные матрицы
Поскольку определитель треугольной матрицы равен произведению её диагональных элементов, то если T — треугольная матрица, её собственные значения равны её диагональным элементам.
Эгенвекторы нормальных матриц 3х3
Если матрица 3×3 нормальна, то для нахождения собственных векторов можно использовать векторное произведение. Если λ является собственным значением матрицы A, то нулевое пространство матрицы (A - λI) перпендикулярно её столбцовому пространству. Векторное произведение двух независимых столбцов матрицы A будет лежать в нулевом пространстве. То есть, это будет собственный вектор, соответствующий λ. Поскольку столбцовое пространство в этом случае двумерно, собственное пространство должно быть одномерным, поэтому любой другой собственный вектор будет параллелен ему. Если матрица A не содержит двух независимых столбцов, но не является нулевой матрицей, векторное произведение всё равно можно использовать. В этом случае λ является собственным значением кратности 2, поэтому любой вектор, перпендикулярный столбцовому пространству, будет собственным вектором. Предположим, что v – ненулевой столбец матрицы A. Выберем произвольный вектор w, не параллельный v. Тогда (A - λI)v и (A - λI)w будут перпендикулярны v и, следовательно, будут собственными векторами матрицы A. Это не работает, когда матрица A не нормальна, так как нулевое пространство и столбцовое пространство не обязаны быть перпендикулярными для таких матриц.
This does not work when is not normal, as the null space and column space do not need to be perpendicular for such matrices.