ПРИМЕНЕНИЕ МЕТОДА НЬЮТОНА В СИММЕТРИЧНОЙ ПРОБЛЕМЕ СОБСТВЕННЫХ ЗНАЧЕНИЙ О.О. Хамисов Иркутский госуниверситет Существует множество различных проблем, таких как устойчивость системы линейных уравнений или решение нелинейной задачи минимизации, для решения которых необходимо найти собственные векторы и собственные значения матриц. Данная работа описывает метод, позволяющий решить эту задачу. В ней дано математическое описание методов для решения частной и полной проблем собственных значений и представлены результаты предварительного численного эксперимента. В силу того, что данная проблема требует большого объема вычислений, рассматривается возможность распараллеливания представленного в работе метода. Введение Рассматриваемая задача имеет следующую постановку. Дана симметричная матри. Необходимо вычислить собственные векторы и собственные значения ца ∈ этой матрицы. Данная задача имеет несколько способов численного решения таких, как трехдиагональная QR-итерация, RQ-итерация, метод «Разделяй и властвуй» и другие [1]. В этой работе представлен метод, основанный на том, что собственный вектор является стационарной точкой отношения Релея. Основные формулировки Пусть ∈ – симметричная матрица. Функция 〈 , 〉 〈 , 〉 – соназывается отношением Релея. Если – собственный вектор матрицы , то ответствующее ему собственное значение. При этом градиент отношения Релея равен нулю 0. (1) Поэтому частичную проблему собственных значений можно решить, найдя при помощи метода Ньютона решение уравнения (1). Метод 1 (метод Ньютона). → , – начальное приближение. Входные данные: : Общий шаг метода: . → непрерывно дифференцируемо в Теорема 1 [2]. Пусть отображение : некоторой окрестности решения ∈ , тогда для любого начального приближения ∈ верно lim → . Если производная непрерывна по Липшицу в окрестности точки , то скорость сходимости квадратичная. Для уравнения (1) метод Ньютона может быть записан в следующей форме. Метод 2. – симметричная матрица, – начальное приближение. Входные данные: ∈ Общий шаг метода ( 0): вектор находится как решение системы линейных уравнений 258 , 1)-ое приближение находится по формуле 1 . – гессиан отношения Релея, Здесь 1 4 4 2 〈 , 2 〈 , 〉 〈 , 〉 – квадратная единичная матрица. где ∈ 〉 8 〈 , 〉 , 〈 , 〉 Неприменимость метода Ньютона Пусть – собственный вектор, – собственное число симметричной матрицы ∈ , тогда верна следующая цепочка равенств: 〈 , 〉 1 4 4 2 〈 , 〉 8 2 〈 , 〉 〈 , 〉 〈 , 〉 〈 4 4 , 〉 1 8 2 2 〈 , 〉 〈 , 〉 〈 , 〉 2 . 〈 , 〉 2 det det 0. 〈 , 〉 Таким образом, гессиан отношения Релея не удовлетворяет условиям теоремы 1 о сходимости, и метод 2 расходится на некоторых матрицах. Пример 1. Для невырожденной матрицы 3 2 2 0 0,1 мы имеем и начальной аппроксимации 0 . 2 Модификация метода Ньютона 1 Для того чтобы избавиться от вырожденности в гессиане отношения Релея от собственного вектора введем следующее отображение: 2 Φ , . 〈 , 〉 – симметричная матрица, – ее собственный вектор. Теорема 2. Пусть ∈ не является собственным числом, определиТогда для любого такого, что 0. тель det Φ , Метод 3. – симметричная матрица, 0 – число, удовлетвоВходные данные: ∈ ряющее условию теоремы 2, – начальное приближение такое, что || || 1. Общий шаг метода ( 0): Φ , || , || . Условие остановки: Теорема 3. Пусть тогда ∈ , || || || . 0 – число, удовлетворяющее условию теоремы 2, || || || 259 для любого , удовлетворяющего условию || , – собственный вектор. где || , Модификация метода Ньютона 2 Отрицательной стороной метода 3 является тот факт, что при малых отображение Φ , является близким к вырожденному. Поэтому введем новое отображение Ψ , 0 – константа. Заменив отображение Φ , на Ψ в методе, получим мегде тод 4. Метод 4. – симметричная матрица, 0 – точность вычислений, Входные данные: ∈ – начальное приближение такое, что || || 1. Общий шаг метода ( 0): находится как решение системы линейных уравнений вектор Ψ , , || || . Условие остановки: || || . таком, что Теорема 4. Метод 4 сходится при любом начальном приближении || || 1 к собственному вектору при условии, что соответствующее ему собственное число имеет кратность 1. Применение метода Ньютона для решения полной симметричной проблемы собственных значений Пользуясь тем фактом, что собственные вектора симметричной матрицы ортогональны, можно исключить уже вычисленные вектора из задачи. Для этого рассмотрим следующую задачу: → , 〈 , 〉 0, 1, , , где – уже вычисленные собственные векторы. Для решения этой задачи достаточно решить уравнение (3) , 0, где : → , , 〈 , 〉 – функция Лагранжа. Для решения (3) используется метод Ньютона. Метод 5. – симметричная матрица, не имеющая кратных собстВходные данные: ∈ 0 – точность вычислений, – начальное приближение такое, что венных чисел, || || 1, , 1, – уже вычисленные собственные векторы. Общий шаг метода ( 0): является решением уравнения 260 Φ , 0 где 〈 , 〉, … , 〈 , 〉 . Условие остановки: || || . Используя метод 4 для вычисления первого собственного вектора и метод 5 для последовательного вычисления следующих векторов, можно найти все собственные числа и вектора симметричной матрицы Метод 6. – симметричная матрица, не имеющая кратных собстВходные данные: ∈ 0 – точность вычислений. венных чисел, Выходные данные: , , 1, – пары собственных векторов и соответствующих им собственных значений. Первой собственный вектор вычисляется методом 4 со стартовым приближением 1,0, … ,0 , далее методом 5 вычисляются остальные собственные вектора. Соответствующие им собственные числа вычисляются по формуле , 1, . Программная реализация В силу того, что в данном методе выполнение итераций осуществляется последовательно, целесообразно проводить распараллеливание вычислений, реализуемых в ходе выполнения итерации. Исследование методов 5 и 6 показывают, что основная часть машинного времени тратится на решение системы линейных уравнений. В данной работе решение систем линейных уравнений проводится двумя способами: методом Гаусса и при помощи QR-разложения методом Гивенса [3]. Распараллеливание метода Гаусса происходит по процедуре, указанной в [4]. В силу того, что матрицы вращений Гивенса имеют структурированную разреженную форму, распараллеливание произведения матриц в QR-разложении имеет специальную упрощенную форму. Обратный ход решения системы линейных уравнений при помощи QR-разложения проводится также как в методе Гаусса. Реализация метода была написана на языке Python 2.7. Предварительный эксперимент проводился на ноутбуке Acer Aspire 5920g на базе двухъядерного процессора Intel Core 2 Duo T8300, 2.4 ГГц, 3Гб RAM под управлением операционной системы Linux Mint 11. В таблице ниже приведены результаты вычислений. Таблица 1. Результаты численного эксперимента Размер матрицы 30 50 100 Среднее количество итераций для метода 4 (для одного собственного вектора) 6 7 7 Среднее количество итераций для метода 4 (для всех собственных векторов) 217 376 767 При использовании параллельного варианта решения систем линейных уравнений скорость вычислений возросла на 28% при использовании QR-разложения и на 36% при использовании метода Гаусса. 261 Заключение В силу того, что приведенный метод выводит собственные вектора и числа начиная с первых итераций, он может обеспечить ускорение в решении задач, для решения которых необходимы один или несколько собственных векторов. Литература 1. 2. 3. 4. 262 Деммель Д.Ж. Вычислительная линейная алгебра. Москва: Мир. 2001. Измайлов А.Ф., Солодов М.В. Численные методы оптимизации. Москва. Физматлит. 2003. Hogben L. Handbook of Linear Algebra. Chapman & Hall/CRC. 2007. Гергель В.П. Высокопроизводительные вычисления для многоядерных многопроцессорных систем. Нижний Новгород: Издательство Нижегородского госуниверситета. 2010.