РАДИОТЕХНИЧЕСКИЙ ИНСТИ РТФ «Вычислительная математика» Презентационные материалы к лекциям: Селиванова Ирина Анатольевна, ст.преподаватель кафедры «Автоматики и информационных технологий» УГТУ-УПИ Лекция. Вычисление собственных векторов и собственных значений матрицы. Поиск максимального по модулю собственного числа и соответствующего собственного вектора матрицы простой структуры. Введение 1. Основные положения 2. Степенной метод 2.1 Описание метода 2.2 РМ-алгоритм 2.3 N-алгоритм 3. Метод скалярных произведений 3.1 Описание метода 3.2 SP-алгоритм Список литературы Введение Введение Нахождение собственных пар матрицы – это наиболее сложная и необходимая задача современной линейной алгебры. Проблему нахождения собственных пар делят на полную проблему (нахождение всех собственных значений и всех векторов) и частичную проблему (нахождение максимального или минимального по модулю собственного значения и соответствующего вектора). Знание таких характеристик позволяет специалистам делать заключения о сходимости тех или иных итерационных методов, оптимизировать параметры итерационных методов, учитывать влияние на результаты решения алгебраических задач погрешностей. 1.Основные положения Основные положения Пусть А - вещественная квадратная матрица размерности n. y=y(t) – n x n-мерная векторная функция скалярного аргумента t, и пусть ищутся нетривиальные решения системы дифференциальных уравнений dy Ay dt в виде y e t v , где v C n , C . e t v Ae t v , Система dy/dt=Ay будет иметь решения заданного вида в том и только том случае, если найдутся такие пары чисел v что Av v. и ненулевых векторов, 1.Основные положения Имеется ряд других примеров из областей, лежащих за пределами линейной алгебры, в которых также приходят к необходимости решать подобные алгебраические задачи, называемые задачами на собственные значения. Различают полную (алгебраическую или, иначе, матричную) проблему собственных значений, которая предполагает нахождение всех собственных пар , v матрицы A и частичные проблемы собственных значений, состоящие как правило, в нахождении одного или нескольких собственных чисел и, возможно, соответствующих им собственных векторов v . Чаще всего в последнем случае речь идет о нахождении наибольшего и наименьшего по модулю собственных чисел; потому что знание таких характеристик матрицы позволяет, например, делать заключения о сходимости тех или иных итерационных методов, оптимизировать параметры итерационных методов, учитывать влияние на результаты решения алгебраических задач погрешностей исходных данных и вычислительных погрешностей. 1.Основные положения Трактуя A как матрицу линейного преобразования в пространстве Rn, задачу на собственные значения можно сформулировать так: для каких ненулевых векторов v и чисел линейное преобразование вектора с помощью матрицы A не изменяет направления этого вектора в Rn, т.е. сводится к «растяжению» этого вектора в раз. ( A E )v 0 Теоретически эта задача легко решаема: нужно найти корни так называемого характеристического или иначе «векового» уравнения det( A E ) 0 (, A E )vизсоответствующих 0 и, подставляя их в получать переопределенных систем собственные векторы. Такой непосредственный подход к решению алгебраической проблемы собственных значений обычно применяют лишь при очень малых размерах матриц A (n=2;3); уже при n≥4 на первый план выходят численные методы решения таких задач. 1.Основные положения Современные методы решения полной проблемы ориентированы на алгоритмическое построение из матрицы A такой матрицы, определенные элементы которой являлись бы приближенными значениями собственных чисел А, причем параллельно формировались бы и ее собственные векторы. Вещественной симметричной матрицей является матрица, все элементы которой принадлежат множеству действительных чисел и которая удовлетворяет условиям: A AT или aij a ji 1.Основные положения – собственная пара матрицы A, α(α≠0) – , v Свойство 1. Если некоторое число, то , v также является собственной парой для A. Свойство 2. Пусть , v – собственная пара матрицы A-pE при некотором р R . Тогда p, v собственная пара матрицы A. Свойство 3. Если , v – собственная пара обратимой матрицы A, то 1 , v - собственная пара матрицы A-1. Свойство 4. Собственными числами диагональных и треугольных матриц являются их диагональные элементы 1.Основные положения Свойства симметричных матриц: Определение 1. Отношением Релея для nxn – матрицы A называется функционал ( Av , v ) (v ) (v , v ) , определенный на множестве ненулевых n-мерных векторов v . * * ( v ) – ее Свойство 5. Пусть v - собственный вектор матрицы A, тогда собственное число. ( ) Av v Свойство 6. Минимум евклидовой нормы вектора для * * * любого фиксированного ненулевого вектора v достигается при (v . ) 2.Степенной метод 2.1 Описание метода Степенной метод Описание метода Рассмотрим простейший метод решения частичных проблем собственных значений, который много значит для понимания и построения других, более эффективных методов. Метод применяется в том случае, когда матрица A симметричная, или имеет вещественные собственные числа. Вещественная nxn-матрица A является матрицей простой структуры, т.е. имеет ровно n линейно независимых собственных векторов (базис): v n1 v11 v21 v v v v1 12 , v2 22 , ..., vn n 2 . ... ... ... v v v 1n 2n nn Нумерация этих векторов отвечает упорядочению соответствующих им собственных чисел по убыванию модулей: 1 2 ... n . 2.Степенной метод 2.1 Описание метода ( 0) y c1v1 c2 v2 ... cn vn . ( 0) Выполним первую итерацию вектора y умножением данного равенства слева на матрицу А: y ( 0) c1v1 c2 v2 ... cn vn . y (1) Ay ( 0 ) c1 Av1 c2 Av2 ... cn Avn . Для k-й итерации по тому же принципу получаем: y ( k ) Ay ( k 1) A k y ( 0 ) c1k v1 c2 k v2 ... cn k vn 1 2 n или y (k ) y1( k ) vn1 v11 v21 (k ) y v v v 2 c1k 12 c2 k 22 ... cn k n 2 . ... ... ... ... v v v y (k ) 1n 2n nn n 1 2 n 2.Степенной метод 2.1 Описание метода (k ) y Беря отношения компонент вектора к соответствующим компонентам ( k 1) предыдущего вектора y , будем иметь: yi( k ) c11k v1i c2k2 v2 i ... cn kn vni ( k 1) ( k 1) ( k 1) ( k 1) yi c11 v1i c22 v2 i ... cn n vni k c v c 1 2 2 i 2 ... n c1 v1i 1 c1 1 k 1 c v c 1 2 2 i 2 ... n c1 v1i 1 c1 v ni n v1i 1 vni n v1i 1 k k 1 . Предел дроби в последнем равенстве при сделанных допущениях равен 1 при k–> и значит ( k ) ( k 1) yi / yi k 1 (k ) c k y c11 v1 2 c1 k 2 c v2 ... n c1 1 n 1 k vn , 2.Степенной метод 2.1 Описание метода Можно сделать вывод, что при тех же исходных допущениях, в силу k i / 1 k 0 , (i 1) в линейной комбинации векторов с ростом k начнет v1 , v2 , ... , vn (k ) доминировать первое слагаемое. Это значит, что вектор y от итерации к итерации будет давать все более хорошее приближение к собственному вектору по направлению. v1 Анализируя выражение (k ) c k y c11 v1 2 c1 k 2 c v2 ... n c1 1 n 1 k vn , видим, что при достаточно большом числе итераций k за счет множителя k . 1 в процессе счета может произойти либо превышение допустимых для используемого компьютера чисел, если 1 1, либо пропадания значащих цифр итерированных векторов, если 1 1 . Устранить это явление можно достаточно легко, введя в итерационный процесс нормировку итерированных векторов на каждой итерации или через некоторое фиксированное число итерационных шагов. 2.Степенной метод 2.2 РМ-алгоритм РМ-алгоритм 1. Ввести nxn - матрицу A, задать n-мерный вектор ( 0) (0) ( 0) (0) и вектор v : y / y ; положить k=1. y 2. Вычислить вектор 3. Вычислить y (k ) иv y (k ) (k ) Av : y (k ) ( k 1) /y (k ) y (0) , вычислить . . (k ) (k ) ( k 1) 4. Вычислить отношения i y i / v i при i=1,2,…,n таких, что где δ>0 - некоторое задаваемое малое число (допуск). vi(k 1) , 5. Подвергнуть числа (k ) тесту на сходимость. Если обнаруживаются i совпадения требуемого числа знаков в (i k ) и (i k 1) , то работу алгоритма прекратить и за старшее собственное число 1 принять усредненное значение (ki ) , а за нормированный старший собственный вектор v 1 – вектор v (k ) .В противном случае - вернуться к шагу 2. 2.Степенной метод 2.2 РМ-алгоритм Слабым местом данного алгоритма является последний шаг, т.е. решение проблемы своевременного останова работы алгоритма. Этот шаг описан из рациональных соображений и не может гарантировать во всех случаях (даже при сделанных допущениях) получение собственной пары с наперед заданной точностью, поскольку при разработке метода не было получено никаких оценок погрешности. Другой алгоритм (N-алгоритм) основан на проверке условия x ( k) x ( k1) ε 2.Степенной метод 2.3 N-алгоритм N-алгоритм 1. 2. 3. 4. ( 0) (0) x 1 ; k=0, ε – точность вычисления x Выбираем , такой что компонент собственного вектора k = k+1 (k) (k1) Вычисляем y Ax Ищем координату y*(k) : y*(k) max 5. 6. Образуем вектор x ( k) i 1,n yi(k) y ( k) y*( k) sign y*( k) (k) (k1) (k) x Если ε , то собственным значением является λ y*; (k) x v1 x . В противном случае перейти к п. 2. 2.Степенной метод 2.3 N-алгоритм Пример: Рассмотрим пример нахождения старшей собственной пары с помощью N-алгоритма Найти максимальное по модулю собственное значение матрицы 1 4 A 0 5 и соответствующий ему собственный вектор степенным методом с точностью 10 5 . 2.Степенной метод 2.3 N-алгоритм 1 x ( 0 ) , x (0) 1 1 Первая итерация: 1 4 1 3 , y(1) max yi(1) 5 k 1, y (1) 0 5 1 5 3 1 0.6 0.6 1 x (1) . Так как 0.4 , то переходим к п.2 5 5 (1) 1 1 1 Вторая итерация: 1 4 0.6 3.4 , k 2, y (2) 0 5 1 5 3.4 1 0.68 . Так как x ( 2 ) 5 1 5 ( 1 ) y(2) max yi(2) 5 0.68 0.6 0.08 , то переходим к п.2 1 1 Требуемая точность 10 5 будет достигнута на восьмой итерации. 2.Степенной метод 2.3 N-алгоритм Относительно характера сходимости степенного метода можно утверждать, что в указанных условиях итерационный процесс является линейным, т.е. сходится со скоростью геометрической прогрессии, знаменатель которой определяется в основном величиной отношения 2 1 Это означает, что сходимость будет тем лучше, чем сильнее доминирует в спектре матрицы собственное число 1 . Воспользовавшись свойством 2 можно существенно ускорить нахождение наибольшего по модулю собственного числа матрицы путем удачного смещения ее спектра. 3.Метод скалярных произведений 3.1 Описание метода Метод скалярных произведений Описание метода Пусть матрица А – симметричная матрица. Обсудим шаг 4 предложенного выше РМ-алгоритма. Вычисление на каждом итерационном шаге отношений всех пар соответствующих компонент векторов х и у=Ах, да еще и с определенными проверками, при больших значениях n требует большихi вычислительных затрат, хотя и дает о старшем собственном числе . дополнительную информацию: значение заключено между i наименьшим и наибольшим из этих отношений, т.е. имеются двусторонние оценки i на каждой итерации. Чтобы упростить соответствующую шагу 4 РМ-алгоритма процедуру, проведем следующие рассуждения. 3.Метод скалярных произведений 3.1 Описание метода (k ) (k ) (k ) ( k 1) Рассмотрим скалярные произведения y , y и y ,y . Выполняя умножение правых частей по правилам умножения многочленов и учитывая ортонормированность собственных векторов, т.е. условие (xi,xi)=δij при i,j=0,1,…,n имеем: y (k ) , y ( k ) c 212 k c 2 2 2 k ... c 2 n 2 k , 1 2 n y ( k ) , y ( k 1) c 212 k 1 c 2 2 2 k 1 ... c 2 n 2 k 1 1 2 n 3.Метод скалярных произведений 3.1 Описание метода Отношение этих чисел 2 y y (k ) (k ) ,y ,y (k ) ( k 1) 2k 2 2k c c 1 2 2 ... n n c1 1 c1 1 1 2 2 k 1 2 k 1 c 2 2 c n n 1 ... c1 1 c1 1 в оговоренных выше условиях при k–> имеет пределом наибольшее собственное число i , причем скорость сходимости к пределу будет больше, чем в степенном методе. 2k k O 2 против O 2 1 1 Базирующаяся на таком подходе модификация степенного метода называется методом скалярных произведений. Реализовать её можно в виде следующего SP-алгоритма. 3.Метод скалярных произведений 3.2 SР-алгоритм SР-алгоритм 1. Ввести nxn - матрицу задать n-мерный вектор ( 0) ( 0) A, ( 0) ( 0) y и вектор x y / y ; положить k=1. ( 0) y , вычислить (0) ( 0) ( 0) (0) y s s y , y 2. Вычислить 2 ( k 1) (k ) x ( 0) y ( 0) / y ( 0) 2 y Ax ( 0) (k ) 3. Вычислить y Ax ( k 1.) 4. Вычислить отношения y (k ) 2 s s (k ) (k ) (k ) (k ) y , y (k ) (k ) (k ) x y / y 2 t (k ) ( k ) ( k 1) y , x y ( k ) и x ( k 1) при i=1,2,…,n таких, что xi(k 1) , где δ>0 - некоторое задаваемое малое число (допуск). (k ) ( k 1) 5. Если , положить k:=k+1 и вернутся к шагу 3, иначе завершить работу алгоритма, считая ( k ) , x x ( k ) 1 1 3.Метод скалярных произведений 3.2 SР-алгоритм Пример: 2 1 A 1 2 Показать процесс построения приближений к старшему собственному числу 1 (и соответствующему ему собственному вектору) методом скалярных произведений . ,, ( 0) 1 Приняв за начальный вектор y , далее идем по степенному 0 алгоритму. Получаем s ( 0) ( 0) ( 0) y , y 1 y (0) x (0) 2 s (0) 1 y (0) / y ( 0) 2 1 0 3.Метод скалярных произведений 3.2 SР-алгоритм 1 я итерация: 2 1 1 2 , s ( 0 ) y ( 0 ) , y ( 0 ) 5, t (1) y (1) , x ( 0 ) 2, y (1) Ax ( 0 ) 1 2 0 1 (1) y 1 2 0.894 (1) s (1) (1) (1) (1) , (1) 5 / 2 2.5 y 2 s 5 , x (1) t y 2 5 1 0.447 2 я итерация: 1 5 , s ( 2 ) y ( 2 ) , y ( 2 ) 41 / 5, t ( 2 ) y ( 2 ) , x (1) 14 / 5, y ( 2 ) Ax (1) 5 4 y ( 2) 1 5 0.781 ( 2 ) s ( 2 ) ( 2) ( 2) ( 2) , ( 2 ) 41 / 14 2.929 y 2 s 41 / 5 , x ( 2 ) 4 0 . 625 t 41 y 2 3 я итерация: 1 14 , s ( 3) y ( 3) , y ( 3) 365 / 41, t ( 3) y ( 3) , x ( 2 ) 122 / 41, y ( 3) Ax ( 2 ) 41 13 ( 3) y 1 14 0.733 ( 3) s ( 3) ( 3) ( 3) ( 3) , ( 3) 365 / 122 2.992 y 2 s 365 / 41, x ( 3) 13 0 . 680 t y 2 365 3.Метод скалярных произведений 3.2 SР-алгоритм ( 2) (1) ( 3) ( 2) По значениям величин 0.429, 0.063 можно судить о сближении последовательных приближений числа (1) , ( 2)собственного , (3) с каждой считать 1 итерацией. Последнюю из этих величин можно ( 3) нестрогой оценкой абсолютной погрешности равенства 1 : 1 (3) 0.008 ( 3) v Для собственного вектора x1 приближенное равенство 1 x можно оценить величиной 0.048 ( 3) ( 2 ) x x 0.0073 0.055 2 Список литературы Список литературы 1. Вержбицкий В.М. Основы численных методов: Учебник для вузов. – М.: Высш. шк., 2002. – 840с. 2. Волков Е.А. Численные методы: Учебное пособие. – 3-е изд., испр. – СПб: Лань, 2004. – 256с. 3. Турчак Л.И. Основы численных методов: Учебное пособие. – М.: Наука. Гл. ред. физ.-мат. лит., 1987. – 320с.