Другие методы#
Сдвиги и степенной метод#
Напоминаем, что такое степенной метод для вычисления собственых значений.
Он сходится к собственному вектору, соответствующему максимальному по модулю собственному значению.
Сходимость может быть очень медленной.
Используем сдвиги: если мы преобразуем матрицу
то соответствующее собственное значение уменьшится (а нам нужно максимальное по модулю). Это не то, что нам было нужно!
Обратная итерация и итерация Релея#
Для того чтобы из малого собственного значения сделать большое, нам нужно обратить матрицу, и это приводит нас к методу обратной итерации
где \(\lambda\) - сдвиг, который близок к собственному значению, которое мы хотим найти. Аналогично степенному методу сходимость линейная.
Для ускорения сходимости можно использовать итерацию Релея, которая задаётся с помощью адаптивного выбора параметра сдвига:
В симметричном случае \(A=A^*\) сходимость локально кубическая, и локально квадратичная иначе.
Сингулярные значения и собственные значения#
Сингулярное разложение имеет вид
и существует для любой матрицы.
Его также можно считать способом приведения данной матрицы к диагональному виду с помощью двух унитарных преобразований:
С помощью двусторонних преобразований Хаусхолдера мы можем привести любую матрицу к бидиагональной форме \(B\).
Неявный QR алгоритм (со сдвигами) вычисляет собственные значения. Но мы не можем применить его напрямую к бидиагональной матрице, поскольку она может быть недиагонализуема в общем случае. Однако задачу вычисления сингулярного разложения можно свести к симметричной задаче на собственные значения двумя способами:
Работать с трёхдиагональной матрицей
Работать с расширенной матрицей
Случай 1 практически реализуем, если не формировать матрицу \(T\) явно!
Таким образом, задача вычисления сингулярных чисел может быть сведена к задаче вычисления собственных чисел симметричной трёхдиагональной матрицы.
Метод «разделяй и властвуй»#
Пусть у нас есть трёхдиагональная матрица и мы разделили её на блоки:
Можем записать матрицу \(T\) в виде
где \(v v^*\) - матрица ранга \(1, v=(0, \ldots, 0,1,1,0, \ldots, 0)^T\).
Пусть мы уже разложили матрицы \(T_1\) и \(T_2\) :
Тогда (проверьте!),
то есть мы свели задачу к задаче вычисления собственных значений у матрицы вида диагональная матрица плюс матрица малого ранга. Решение задачи изложено в теории в семинарских задачах 10 - 13.
Метод бисекции#
Абсолютно другой подход основан на идеи бисекции
Дана матрица \(A\), инерция которой определяется как триплет \((\nu, \zeta, \pi)\), где \(\nu\) - число отрицательных, \(\zeta\) - число нулевых, и \(\pi\) - число положительных собственных значений.
Если \(X\) невырождена, тогда \(\operatorname{Inertia}(A)=\operatorname{Inertia}\left(X^* A X\right)\)
Бисекция с помощью метода Гаусса
Для данного z мы можем запустить метод Гаусса и получить разложение:
а инерция для диагональной матрицы вычисляется просто.
С помощью инерции мы можем легко посчитать число собственных значений в заданном интервале.
Пример: если \(\operatorname{Inertia}(A)=(5,0,2)\) и после сдвига \(\operatorname{Inertia}(A-z I)=(4,0,3), z \in[a, b]\) тогда это значит, что \(\lambda(A) \in[a, z]\).
Метод Якоби#
Вспомним что такое вращения Гивенса (Якоби): на плоскости им соответствуют ортогональные матрицы вида
а в \(n\)-мерном пространстве мы выбираем два индекса і и ји вращаем относительно соответствующих элементов \(n\)-мерного вектора.
Идея метода Якоби состоит в минимизации суммы квадратов недиагональных элементов:
с помощью последовательных вращений Якоби для их зануления.
Когда элементы выбраны, их легко занулить.
Главный вопрос: в каком порядке нужно проводить зануление?
Если мы всегда зануляем максимальный недиагональный элемент, метод имеет глобально линейную сходимость и локально квадратичную.
На практике используется циклический порядок \(\text { (то есть, }(1,2),(1,3), \ldots,(2,3), \ldots) \)
Метод Якоби был первым численным методом для вычисления собственных значений, предложен в 1846. Преимущества:
Большая константа в оценке сложности
Очень точный (высокая относительная точность для малых собственных значений по сравнению с другими методами)
Хорошая возможность параллелизации