РАДИОТЕХНИЧЕСКИЙ ИНСТИ РТФ «Вычислительная математика» Презентационные материалы к лекциям: Селиванова Ирина Анатольевна, ст.преподаватель кафедры «Автоматики и информационных технологий» УГТУ-УПИ Лекция. Вычисление собственных векторов и собственных значений матрицы. Поиск минимального по модулю собственного числа и соответствующего собственного вектора матрицы простой структуры. 1. Метод обратных итераций 2. Метод обратных итераций со сдвигами 2.1 Метод обратных итераций с постоянными сдвигами 2.2 Метод обратных итераций с переменными сдвигами 3. Обратные итерации с отношениями Релея для симметричных матриц Список литературы 1. Метод обратных итераций Метод обратных итераций При определенных условиях наименьшее по модулю собственное число . n может быть найдено степенным методом, когда уже известно наибольшее 1 . Если проблема состоит лишь в нахождении младшей собственной пары матрицы A, то можно применить степенной метод к матрице A-1. В самом деле, если данная матрица A имеет собственные пары , v , , v n 1 n 1 n n , , v , , v , ..., 1 1 2 2 то собственными парами матрицы A-1 будут 1 1 1 1 , v , , v , ..., , v n 1 , , v n 1 2 1 2 n 1 n Наименьшим по модулю собственным числом данной матрицы А является величина, обратная наибольшему по модулю собственному числу матрицы A. y ( k ) A1 y ( k 1) k 1,2,... 1. Метод обратных итераций N При достаточно больших последовательность отношений одноименных (k ) y ( k 1) координат векторов и должна 1/λn, y давать приближенное значение а вектор можно принять . vn y (k ) за собственный вектор Вместо прямых итераций, требующих предварительного обращения исходной матрицы A, обычно предпочитают строить ту же (k ) последовательность векторов ( y ), решая при k=1,2,3,… линейные системы Ay ( k ) y ( k 1) . Так как все эти системы имеют одну и ту же матрицу коэффициентов, то самая трудоемкая часть метода Гаусса для их решения LU-факторизация матрицы A – может быть выполнена лишь один раз. 1. Метод обратных итераций Построение последовательности векторов, приближающих собственный вектор v n по неявной формуле, называют обратными итерациями, а процесс решения частичных проблем собственных значений на этой основе – методом обратных итераций. Применение обратных итераций к нахождению младшей собственной пары матрицы A не требует написания специального алгоритма, достаточно лишь заменить один шаг в РМ-алгоритме. А именно, наполнение шага 2 данного алгоритма должно быть следующим: решить уравнение Ay ( k ) y ( k 1) Полученный алгоритм называют INVIT-алгоритмом или обратным степенным методом. 1. Метод обратных итераций ( 0) y ( 0) и 1. Ввести n x n-матрицу A, задать n-мерный вектор , вычислить y ( 0) ( 0) ( 0) v y / y ; положить k=1. вектор ( k ) ( k 1) 2. Вычислить вектор Ay x . 3. Вычислить y ( k ) и x ( k ) y ( k ) / y ( k ) . (k ) ( k 1) / y ( k )i при i=1,2,…,n таких, что xi(k 1) , 4. Вычислить отношения i xi где δ>0 - некоторое задаваемое малое число (допуск). (k ) 5. Подвергнуть числа i тесту на сходимость. Если обнаруживаются (k ) ( k 1) совпадения требуемого числа знаков в i и i , то работу алгоритма прекратить и за младшее собственное число 1 принять усредненное (k ) , за нормированный младший собственный вектор – (по i) значение x1 (k ) i вектор x . В противном случае - вернуться к шагу 2. 1. Метод обратных итераций Пример: На матрице покажем процесс построения приближений к младшему собственному числу 1 (и соответствующему ему собственному вектору v1 ) методом обратных итераций. 2 4 A 4 5 Приняв за начальный вектор 1 y ( 0 ) 1 1. Метод обратных итераций 1 (0) y (0) x ( 0 ) ; y 1 1 я итерация: y (0) 1 2 4 (1) 1 1,5 , y , y (1) Ay (1) x ( 0 ) , 4 5 1 1 1 (1) (1) xi( 0 ) 0,667 y (1) (1) , i (1) y 1,5 , x (1) y yi 0,667 1 2 я итерация: 2 4 ( 2) 1 1,278 , y , y ( 2 ) Ay ( 2 ) x (1) , 4 5 0,667 0,889 1 ( 2) ( 2) xi(1) 0,782 y ( 2) ( 2) , i ( 2 ) y 1,278 , x ( 2 ) 0 , 696 0 , 75 y y 3 я итерация: i 2 4 ( 3) 1 1,297 , y , y ( 3) Ay ( 3) x ( 2 ) , 4 5 0 , 696 0 , 898 1 ( 3) ( 3) xi( 2 ) 0,771 y ( 3) ( 3) , i ( 3) y 1,297 , x ( 3) 0 , 693 0 , 774 y y i 1. Метод обратных итераций ( 2) (1) ( 3) ( 2) По сближениям величин 0,276 , 0,027 можно судить (1) ( 2) ( 3) о сближении последовательных приближений , , собственного числа 1 с каждой итерацией. Последнюю из этих величин можно считать нестрогой оценкой абсолютной погрешности равенства 1 (3) . Для собственного вектора v1 приближенное равенство v1 x (3) можно оценить величиной ( 3) ( 2 ) 2 2,435 x x 1 , 389 2. Метод обратных итераций со сдвигами 2.1 Метод обратных итераций с постоянными сдвигами Метод обратных итераций со сдвигами Метод обратных итераций с постоянными сдвигами Метод обратных итераций, а точнее, метод обратных итераций со сдвигами часто применяют в тех случаях, когда нужно с большой точностью найти собственный вектор, отвечающий какому-либо собственному числу из спектра заданной матрицы при условии, что известно приближенное значение этого числа. При этом, очевидно, прямое решение однородной системы ( A E )v 0 заведомо сколько-нибудь неприменимо, так как подстановка в нее значения , хоть отличного от собственного, сделает систему однозначно неразрешимой, т.е. допускающей только тривиальное решение. Рассмотрим суть обратных итераций со сдвигами. 2. Метод обратных итераций со сдвигами 2.1 Метод обратных итераций с постоянными сдвигами Пусть для собственного числа λ матрицы A простой структуры известно его приближение σ такое, что j i , i j т.е. число σ ближе к собственному числу λi , чем к какому-либо другому собственному числу матрицы A. Начиная с вектора x 0 такого, что x ( 0 ) 1 , образуем последовательность нормированных векторов ( x k ) по формулам ( A E ) y ( k ) x ( k 1) ; x ( k ) y ( k ) / y ( k ) , k 1, 2,... 2. Метод обратных итераций со сдвигами 2.1 Метод обратных итераций с постоянными сдвигами Алгоритм метода обратных итераций с постоянными сдвигами: ( 0) , вычислить (0) и • Ввести n x n-матрицу A, задать n-мерный вектор y y ( 0 ) ( 0 ) ( 0 ) вектор v y / y ; положить k=1. • Вычислить вектор ( A E) y ( k ) x ( k 1) . • Вычислить y ( k ) и x ( k ) y ( k ) / y ( k ) . 1. Вычислить отношения (i k ) xi( k 1) / y ( k )i при i=1,2,…,n таких, что x (k 1) , i где δ>0 - некоторое задаваемое малое число (допуск). ) тесту на сходимость. Если обнаруживаются 2. Подвергнуть числа (k i совпадения требуемого числа знаков в ( k ) и ( k 1) , то работу алгоритма i i прекратить и за младшее собственное число 1 принять усредненное (по i) значение (k ) , за нормированный младший собственный вектор x1 – i вектор x (k.) В противном случае - вернуться к шагу 2. 2. Метод обратных итераций со сдвигами 2.1 Метод обратных итераций с постоянными сдвигами Пример: На матрице покажем процесс построения приближений к младшему собственному числу 1 (и соответствующему ему собственному вектору v1 ) методом обратных итераций с постоянными сдвигами. Так как для данной матрицы нам известно =-0,772002, то зададим приближение σ =1 0,777. 2 4 A 4 5 Пусть начальный вектор ( 0 ) 1 y 1 2. Метод обратных итераций со сдвигами 2.1 Метод обратных итераций с постоянными сдвигами ( 0 ) y ( 0 ) 1 x ( 0 ) ; y 1 1 я итерация: y (0) 1 2,777 4 (1) 1 (1) 228,814 , y , y ( A E ) y (1) x ( 0 ) , 4 5 , 777 1 158 , 604 (1) (1) y (1) 1 (1) xi( 0 ) 0,178 , i (1) y 228,814 , x (1) 0 , 693 0 , 166 y y i 2 я итерация: 2,777 4 . ( 2 ) 1 ( 2 ) 200,09 , y , y ( A E ) y ( 2 ) x (1) , 4 5 , 777 0 , 693 138 , 662 ( 2) ( 2 ) y ( 2 ) 1 ( 2 ) xi(1) 0,178 , i ( 2 ) y 200,09 , x ( 2 ) 0 , 693 0 , 166 y y i После двух итераций: ( 2) (1) 0 x ( 2) x (1) 0 2. Метод обратных итераций со сдвигами 2.2 Метод обратных итераций с переменными сдвигами Метод обратных итераций с переменными сдвигами ( A E ) y ( k ) x ( k 1) ; x ( k ) y ( k ) / y ( k ) , k 1, 2,... определяют методы обратных итераций для нахождения наименьшего по модулю собственного числа матрицы A-σE и, если σ существенно ближе к λi, чем к любому другому собственному числу λi матрицы A, то уточняющие λi значения можно получать при k=1,2,… по формуле Формулы xi( k 1) , (k ) yi ) где x ( k 1) и yi(k ) - координаты векторов x ( k 1и) y (k соответственно, а -знак i усреднения по всем i=1,2,…,n, при которых y ( k ) 0. i Более быстрая сходимость может быть получена ведением переменных сдвигов, определяемых какой-нибудь последовательностью чисел сходящейся к находимому собственному числу. Не вызывает сомнений целесообразность использования в роли таких чисел приближений (k ) к j собственному числу j , получаемых по формуле bi( k 1) (k ) ci i (k ) j 2. Метод обратных итераций со сдвигами 2.2 Метод обратных итераций с переменными сдвигами Алгоритм метода обратных итераций с переменными сдвигами: ( 0) , вычислить (0) 1. Ввести n x n-матрицу A, задать n-мерный вектор y y ( 0 ) ( 0 ) ( 0 ) вектор v y / y ; положить k=1 и 0 . ( k 1) ( k 1) (k ) 2. Вычислить вектор ( A j E ) y x . 3. Вычислить y ( k ) и x ( k ) y ( k ) / y ( k ) . ( k 1) 4. Вычислить отношения ( k ) ( k 1) xi j j и y i( k ) , где δ>0 - некоторое задаваемое малое при i=1,2,…,n таких, что xi число (допуск). (k ) 5. Подвергнуть числа i тесту на сходимость. Если обнаруживаются x1 совпадения требуемого числа знаков в ( k ) и ( k 1) , то работу алгоритма i i прекратить и за младшее собственное число 1 принять усредненное (k ) (по i) значение i , за нормированный младший собственный вектор – вектор x (k.) В противном случае - вернуться к шагу 2. (k 1) 2. Метод обратных итераций со сдвигами 2.2 Метод обратных итераций с переменными сдвигами Пример: На матрице покажем процесс построения приближений к младшему собственному числу 1 (и соответствующему ему собственному вектору v1 ) методом обратных итераций с переменным сдвигом (зададим приближение σ =-0,777). 2 4 A 4 5 Приняв за начальный вектор 1 y ( 0 ) 1 2. Метод обратных итераций со сдвигами 2.2 Метод обратных итераций с переменными сдвигами y ( 0 ) 1 (0) x ( 0 ) , y 1 1 я итерация: y ( 0 ) 1, (i 0 ) ; 2,777 4 (1) 1 , y , ( A ( 0 ) E ) y (1) x ( 0 ) , 4 5 , 777 1 y (1) 1 (1) (1) , (i1) (i 0 ) y 228,814 , x (1) y 0,693 2 я итерация: 228,814 y (1) 158 , 604 0,178 xi( 0 ) 0 , 166 yi(1) 2,77717 4 ( 2 ) 1 ( 2 ) 2925,28 , y , y ( A 1i E ) y ( 2 ) x (1) , 4 5 , 77717 0 , 693 2027 , 22 xi(1) 0,178 y ( 2) 1 ( 2) ( 2) ( 2) (1) , i i ( 2 ) y 2925,28 , x ( 2 ) 0 , 693 0 , 166 y y i Метод обратных итераций с переменными сдвигами быстрее приходит к решению поставленной задачи, чем с постоянными сдвигами, однако является более трудоемким. 3. Обратные итерации с отношениями Релея для симметричных матриц Обратные итерации с отношениями Релея для симметричных матриц В методе обратных итераций с переменными сдвигами так же как и ( 0) в предыдущем, неясно, как подбирать начальный сдвиг j , за исключением случаев, когда решается частичная проблема заведомо в такой постановке, при которой требуется найти собственное число, ближайшее к заданному значению, и соответствующий ему собственный вектор. Более определенной в этом смысле, к тому же более быстро сходящейся является следующая модификация метода – обратные итерации с отношениями Релея, применяемые для решения симметричных задач на собственные значения. 3. Обратные итерации с отношениями Релея для симметричных матриц Ее основу составляет RQI-алгоритм: ( 0) ( 0) x 1. 1. Задать вектор x такой, что 2. Для k=1,2,… : • Вычислить k 1 ( Ax ( k 1) , x ( k 1) ) /( x ( k 1) , x ( k 1) ). • Найти y (k ) из уравнения ( A k 1 E) y ( k ) x ( k 1) . • Нормировать y (k ) , т.е. положить x ( k ) y ( k ) / y ( k ) . • Проверить k 2 , x ( k ) на сходимость. Перейти на шаг 1.1. или остановиться. Обратные итерации с отношениями Релея для симметричных матриц После «штатного» останова работы алгоритма при некотором k=k0 в качестве собственной для данной матрицы А объявляется пара k 1 , x ( k ) , или еще делается шаг 1.1. и берется , x ( k ) . k 1 Сдвиги на отношения Релея при наличии ортонормированного v1 , v2 , ..., vn базиса из собственных векторов обеспечивают асимптотически кубическую скорость сходимости последовательности Релея x ( 0) , x (1) , x ( 2) , ... к некоторому из векторов этого базиса. Это зависит от выбора начального вектора последовательности; беря различные линейно независимые векторы v ( 0,) можно получать разные собственные пары данной симметричной матрицы А. При этом без дополнительных условий нельзя гарантировать, что найденное как предел последовательности ρ0,ρ1,ρ2,… собственное число будет ближайшим к числу ρ0. 0 0 Обратные итерации с отношениями Релея для симметричных матриц Чтобы осмыслить RQI-алгоритм, нужно вспомнить свойство 6, согласно которому, при выбранном векторе x ( 0) вычисленное на первом шаге при ) ( 0) ( 0) ( 0) k=1 отношение Релея 0 ( Ax (0можно , x ) /( xсчитать , x ) некоторым приближением к собственному числу, связанному с заданным в Rn направлением . С ) этим начальнымx ( 0приближением к какому-то собственному числу далее выполняются обратные j итерации с переменными сдвигами, только j координат векторов приближения к находятся не через отношения ( k ) ( k 1) y и xпоскольку здесь , а через отношения Релея, причем приближает собственное число данной k матрицы A, а не «сдвинутой», нет необходимости корректировать получаемое значение на величину смещения спектра. 3. Обратные итерации с отношениями Релея для симметричных матриц Пример: На матрице покажем процесс построения приближений к младшему собственному числу 1 (и соответствующему ему собственному вектору v1 ) методом обратных итераций с отношениями Релея. 2 4 A 4 5 Приняв за начальный вектор ( 0 ) 1 y 1 3. Обратные итерации с отношениями Релея для симметричных матриц 1 (0) y (0) x ( 0 ) ; y 1 1 я итерация: 0 ( Ax ( 0 ) , x ( 0 ) ) /( x ( 0 ) , x ( 0 ) ) 0,5, ( A 0 E ) y (1) x ( 0 ) , 1 (1) 4,222 (1) (1) y (1) , y 4,222 , x (1) y 2 , 889 0 , 684 y 2 я итерация: 1 ( Ax (1) , x (1) ) /( x (1) , x (1) ) 0,772, ( A 1 E ) y ( 2 ) x (1) , 1 ( 2 ) 3278,14 ( 2) ( 2) y ( 2) , y 3278,14 , x ( 2 ) y 2271 , 75 0 , 693 y Вектор x ( 2) и скаляр 2 ( Ax ( 2) , x ( 2) ) /( x ( 2) , x ( 2) ) 0,772 с высокой точностью представляют младшую собственную пару (2 , v2 )данной матрицы A. y ( 0 ) 1, Кроме предсказанной высокой скорости сходимости метода, можно заметить быстрый рост величин y ( k ) , что, как ранее подмечено, можно положить в основу критерия окончания итерационного процесса. Список литературы Список литературы 1. Вержбицкий В.М. Основы численных методов: Учебник для вузов. – М.: Высш. шк., 2002. – 840с. 2. Волков Е.А. Численные методы: Учебное пособие. – 3-е изд., испр. – СПб: Лань, 2004. – 256с. 3. Турчак Л.И. Основы численных методов: Учебное пособие. – М.: Наука. Гл. ред. физ.-мат. лит., 1987. – 320с.