КОНСПЕКТ ЛЕКЦИЙ1 Мацокин А.М. – проф. кафедры вычислительной математики 2003 – 2004 учебный год Предлагаем Вашему вниманию конспект лекций семестрового курса «Вычислительные методы линейной алгебры», прочитанных профессором кафедры А.М. Мацокиным для студентов второго курса механико– математического факультета Новосибирского государственного университета. Мы надеемся, что этот конспект будет полезен студентам ММФ НГУ для более полного усвоения курса и применения методов вычислительной математики в их дальнейшей учебной, научно–преподавательской и практической деятельности. Ограничений на использование и распространение конспекта – нет. Любым замечаниям автор конспекта будет только рад и принимает их по адресу E-mail: [email protected] или E-mail: [email protected] Содержание Лекция 1. .............................................................................................................................................4 Традиционные задачи линейной алгебры ....................................................................................4 Векторные и матричные нормы ....................................................................................................5 Число обусловленности .................................................................................................................6 Лекция 2. Прямые методы решения линейных уравнений ............................................................7 Метод исключения Гаусса – схема единственного деления ......................................................7 Теорема об LU разложении ...........................................................................................................8 Разложение Холесского .................................................................................................................9 Метод квадратного корня ..............................................................................................................9 Лекция 3. ...........................................................................................................................................10 Метод исключения с выбором главного элемента по столбцу ................................................10 Матрица перестановок .............................................................................................................10 Элементарная матрица перестановок .....................................................................................10 Выбор главного элемента по столбцу. ...................................................................................10 Метод вращений решения системы уравнений .........................................................................12 Элементарная матрица вращения ...........................................................................................12 k –ый шаг метода вращений ...................................................................................................12 Лекция 4. ...........................................................................................................................................13 Метод отражений решения системы уравнений .......................................................................13 Матрица отражения..................................................................................................................13 k –ый шаг метода отражений..................................................................................................13 Решение системы с вырожденной матрицей .............................................................................14 HR –разложение с перестановками столбцов матрицы A ................................................14 Совместность системы с вырожденной матрицей ................................................................15 Применение HR –разложения с перестановками столбцов для решения совместной системы .....................................................................................................................................15 1 Конспект подготовлен при финансовой поддержке проекта № 274 ФЦП "Интеграция". Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Метод прогонки решения систем с трехдиагональной матрицей ...........................................16 LU –разложение трехдиагональной матрицы A : ................................................................16 Формулы метода прогонки для системы Ax f :................................................................16 Лекция 5. Итерационные методы решения линейных уравнений...............................................17 Пример и основные определения ...............................................................................................17 Пример: .....................................................................................................................................17 Одношаговый (двухслойный) итерационный метод решения Ax b : ............................17 Стационарный одношаговый итерационный метод решения Ax b : .............................17 Условия сходимости стационарного итерационного метода ..................................................18 Достаточные условия: ..............................................................................................................18 Необходимое и достаточное условие: ....................................................................................18 Асимптотическая скорость сходимости ................................................................................19 Лекция 6. ...........................................................................................................................................20 Метод Якоби .................................................................................................................................20 Сходимость в случае диагонального преобладания по строкам .........................................20 Сходимость в случае диагонального преобладания по столбцам .......................................20 Необходимое и достаточное условие сходимости метода Якоби в случае симметричной матрицы с положительной главной диагональю ..................................................................21 Метод Зейделя (Гаусса–Зейделя, Некрасова) ............................................................................21 Необходимое и достаточное условие сходимости метода Зейделя в случае симметричной матрицы с положительной главной диагональю.........................................22 Лекция 7. ...........................................................................................................................................23 Функционал ошибки ....................................................................................................................23 Метод полной релаксации ...........................................................................................................23 Метод неполной релаксации .......................................................................................................24 Оценка сходимости методов релаксации ...................................................................................25 Пример.................................................................................Ошибка! Закладка не определена. Лекция 8. ...........................................................................................................................................27 Градиент, метод наискорейшего спуска ....................................................................................27 Метод минимальных невязок ......................................................................................................27 Метод простой итерации .............................................................................................................28 Оценки сходимости МНС и ММН .............................................................................................29 Лекция 9. Метод Ричардсона с чебышевскими параметрами ......................................................30 Задача оптимизации параметров ................................................................................................30 Полином Чебышева Tm (x) cos(m arccosx), x [1, 1] и решение задачи оптимизации параметров .............................................................................................................30 Циклический метод Ричардсона: формулы и сходимость .......................................................32 Об устойчивости метода Ричардсона .........................................................................................33 Трехчленные формулы реализации метода Ричардсона с чебышевскими параметрами ....34 Лекция 10. .........................................................................................................................................35 Многошаговые методы. Вариационная оптимизация ..............................................................35 Метод сопряженных градиентов ................................................................................................36 Переобуславливатель ...................................................................................................................37 Положительно определенные матрицы .....................................................................................38 Лекция 11. Проблема собственных значений ................................................................................39 Корректность задачи на собственные значения ........................................................................39 Степенной метод вычисления максимального собственного значения матрицы A A 0 ................................................................................................................................40 Степенной метод вычисления минимального собственного значения матрицы A A 0 ................................................................................................................................41 3 Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Применение ортогонализации и степенного метода для вычисления очередного собственного значения.................................................................................................................41 Лекция 12. Метод деления пополам (бисекций) ...........................................................................42 Идея метода бисекций вычисления j Sp (A) ..................................................................42 Приведение самосопряженной матрицы к трехдиагональному виду ортогональным преобразованием подобия с помощью матриц вращения ........................................................43 Якобиевы матрицы .......................................................................................................................44 О вычислении ЧПЗ .......................................................................................................................46 О вычислении собственного вектора .........................................................................................46 Лекция 13. Метод вращений (Якоби) .............................................................................................47 Выбор вращения ...........................................................................................................................48 Сходимость собственных значений ...........................................................................................49 Сходимость собственных векторов ............................................................................................49 Литература ........................................................................................................................................51 3 Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Лекция 1. Традиционные задачи линейной алгебры a11 a12 a a 22 n A (a ij )i, j1 21 a n1 a n 2 a1n x1 x a 2n матрица , x 2 вектор a nn xn Задачи: Методы (теория определителей): решение системы уравнений метод Крамера: xi Ax b вычисление обратной матрицы: det A Ax x ( j) матрицы X : Ax ( j) e j , x ij по определению (i1 , спектральная задача: i det {A i , b} определение столбца x AX XA E вычисление определителя i , ji (1) r a1i1 ... a n in ,i n ) собственные значения – корни полинома Pn () det (A E) собственные векторы – решения систем (A E)x 0 r линейно независимых решений, где r dim {Ker (A E)} Непригодность этих методов: количество умножений при ошибки округления: вычислении одного a a | a |, 106 определителя: если n 6 , | a i j | 10 , 1, (n 1) n! если производительность ЭВМ 109 оп/сек, то n время вычисления 10 104 сек. 20 > 17 мин. 30 > 400 тыс. лет a i a1i1 ... a n in , то a i a i O(1) n! O(1) O(1) т.е. определитель вычисляется с большой ошибкой и, следовательно, решения поставленных задач вычисляются с такой же ошибкой. 4 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 1. Векторные и матричные нормы Векторные Матричные x R n (Cn ) A R nn (Cnn ) || x || 0, || x || 0, аксиомы 1. – 3. x0 x 0 || x || | | || x || || x || max | x i | – кубическая или равномерная || x ||1 | x1 | ... | x n | – октаэдрическая || x ||2 | x1 |2 ... | x n |2 –сферическая или евклидова Теорема. || Ax || || A || || x || – аддитивная 4. || AB || || A || || B || –мультипликативная || x y || || x || || y || Примеры: согласованная с векторной, если подчиненная векторной, если || A || sup || Ax || || x || Примеры подчиненных матричных норм: n || Ax || || A || sup max | a i j | i || x || j1 n || Ax ||1 || A ||1 sup max | a i j | j || x ||1 i 1 || A ||2 sup || Ax ||2 (AA) || x ||2 Любые две нормы || x || и || x || в Примеры: x R n (Cn ) конечномерном пространстве || x || || x ||1 n || x || эквивалентны: || x || || x ||2 n || x || , : x || x || || x || || x || || x ||2 || x ||1 n || x ||2 !!! Константы эквивалентности зависят от размерности пространства !!! При решении системы линейных уравнений Ax b могут быть неточно заданы либо правая часть b b b либо матрица A A A , где компоненты вектора b и элементы матрицы A малы по сравнению с соответствующими элементами исходных вектора и матрицы. Тогда вместо решения x мы получим его приближение x x x , причем компоненты вектора–ошибки x могут быть большими. Оценим норму ошибки через нормы возмущений правой части и матрицы системы, считая, что матричная норма подчинена векторной норме. 5 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 1. Число обусловленности Определение. cond A || A || || A 1 || 1. т.к. 2. cond A 1 1 1 || x || || AA x || || A || || A || || x || Док–во. 1 A(x x) b b || x || || A 1b || || A 1 || || b || || A || || x || || Ax || || b || Теорема. Док–во. т.к. || AB || || (AB) || || A || || B || || B || || A 1 || Ax b, det A 0 Теорема. cond(AB) cond A cond B 1 || x || || b || cond A || x || || b || || x || || b || . cond A || x || || b || Ax b, det A 0, (A A)(x x) b b, || A 1 || || A || 1 || x || cond A || b || || A || ( ) || x || 1 cond A || A || || b || || A || || A || || A 1 || 1 1 || (A A) || 1. и , т.к. (A A) 1 || A 1 || || A || (A A) A(E A 1 A) || (E A 1A)z || || z || || A 1 A z || || z || || A 1 || || A || || z || 0 (E A 1 A) 1 E (A 1 A) (A 1 A) 2 ... || (E A 1 A) 1 || 1 || A 1 A || || (A 1 A) 2 || ... 1 1 1 || A A || 1 1 || A || || A || 1 2. Т.к. x (A A)1[b b Ax A x] (A A) 1[b A x] , то || x || || (A A) 1 || (|| b || || A || || x ||) || x || || b || || (A A) 1 || ( || A ||) || x || || x || || b || || A || || (A A) 1 || ( || A || ) || b || / || A || || A || || b || || A || || (A A) 1 || || A || ( ) || b || || A || || A 1 || || A || || b || || A || ( ) 1 1 || A || || A || || b || || A || cond A || b || || A || ( ) || A || || b || || A || 1 cond A || A || 6 Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Лекция 2. Прямые методы решения линейных уравнений Метод исключения Гаусса – схема единственного деления a11 Ax b, det A k det a k1 a1k 0, k 1,...,n a k k A LU Ly b Ux y Схема единственного деления на примере системы третьего порядка: Прямой ход: Матричная формулировка: Ax b, a11x1 a12 x 2 a13 x 3 b1 1/ a11 0 0 a 21x1 a 2 2 x 2 a 23 x 3 b 2 det A1 a11 0, L1 a 21 / a11 1 0 a 31x1 a 32 x 2 a 33x 3 b3 a 31 / a11 0 1 x1 u12 x 2 u13 x 3 y1 A(1) x b(1) , A(1) L1A, b(1) L1b (1) (1) a (1) 1 0 0 2 2 x 2 a 23 x 3 b 2 (1) (1) a 32 x 2 a 33 x 3 b3(1) L 2 0 1/ a (1) 0 det A(1) 22 2 0, (1) 0 a 32 / a (1) 1 22 x1 u12 x 2 u13 x 3 y1 A(2) x b(2) , A(2) L2A(1) , b(2) L2b(1) x 2 u 23 x 3 y 2 1 0 0 (2) a 33 x 3 b3(2) 0 det A3(2) 0, L3 0 1 (2) 0 0 1/ a 33 x1 u12 x 2 u13 x 3 y1 Ux A(3) x b(3) y, A(3) L3A(2) , b(3) L3b(2) x 2 u 23 x 3 y 2 1 u12 u13 x 3 y3 U 0 1 u 23 , A (L11 L21 L31 ) U L U 0 0 1 Обратный ход: Матричная формулировка: x 3 y3 , x 2 y2 u 23x 3 , x 3 y1 u12 x 2 u13x 3 x U1y Формулы схемы единственного деления (доказать): k–ый шаг прямого хода: 0 0 1 1 0 0 A (k 1) x b(k 1) A (k ) x b(k ) , 1) 0 1/ a (k kk Lk 0 (k ) (k 1) (k ) (k 1) A Lk A , b Lk b 0 1) (k 1) 0 a (k k 1k / a k k 1) A(n) U – верхняя треуг. матрица 0 a (kn k1) / a (k kk 0 7 0 0 0 1 0 0 0 0 0 1 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 2. Теорема об LU разложении Если k det A k 0 , то L U: A LU , где L – нижняя, U – верхняя треугольные матрицы. Доказательство. Если A LU , то A k Lk U k , det A k det L k det U k l11 ... l kk u11 ... u kk 0 , Bk, n k Lk Ok, n k U k U k, n k Ak т.к. L O . ' ' ' C A L U n k, k n k n k, k n k n k, k n k Предположим, что разложение A k Lk U k найдено ( A1 a11 L1U1 l11 u11 0 ). Вычислим A k 1 L k 1U k 1 (т.е. последние строку матрицы L k 1 и столбец матрицы U k 1 ): 0 a1, k 1 u1, k 1 U Lk Ak k т.к. 0 a k, k 1 u k, k 1 a k 1, k a k 1, k 1 lk 1,1 0 u k 1, k 1 lk 1, k lk 1, k 1 0 a k 1,1 u1, k 1 a1, k 1 lk 1,1 lk 1, k U k a k 1,1 a k 1, k – системы с то L k , u k, k 1 a k, k 1 треугольными неособенными матрицами (решения ! ), и u1, k 1 lk 1, k 1 u k 1, k 1 a k 1, k 1 lk 1,1 lk 1, k , u k, k 1 очевидно, что решение этого уравнения существует, но не единственно. (так как 0 det A k 1 det Lk 1 det U k 1 , то det L k 1 0, det U k 1 0 .) И, наконец, A A n L n U n LU . Объем вычислений. Так как для решения системы уравнений с треугольной матрицей порядка k достаточно выполнить k(k 1) / 2 умножений и делений, то полагая на каждом шаге u k 1, k 1 1 , получим, что число таких операций для вычисления последних строки и столбца матриц L k 1 и U k 1 равно k(k 2) , а для вычисления матриц L и U достаточно n 1 1 k(k 2) n 3 / 3 умножений или делений. Замечание. Если построено LU –разложение матрицы A , то ее определитель вычисляется за 2(n 1) умножений (перемножаются диагональные (ведущие) элементы). 8 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 2. Теорема (об LDU – разложении). Если det A k 0 k , то разложение A LDU , где lkk u kk 1 k , единственно. Док–во. Пусть A L(1) D(1) U(1) L(2) D(2) U(2) , тогда [L(2) ]1 L(1) D(2) U(2) [D(1) U(1) ]1 diag E , (т.к. [L(2) ]1 L(1) – нижняя треуг. м–ца с единицами на диагонали) L(1) L(2) [D(2) ]1 D(1) U(2) [U(1) ]1 diag E U(1) U(2) & D(1) D(2) . Разложение Холесского Теорема. Если A A 0 (т.е. (Ax, x) 0 x 0 ), то A L D L , lk k 1, dk 0 k . Док–во. xk Т.к. 0 (Ax, x) (A k x , x ) x 0 , то det A k 0 k 0 k k A LDU A UDL LDL . Т.к. y(k) [L ]1 ek 0 & A 0 , то (Ayk , yk ) (LDL yk , y k ) (DLy k ,Ly k ) d k 0 k . Метод квадратного корня Теорема. Если A A 0 , то A BB , где B – нижняя треугольная м–ца, и cond 2 B cond 2 B cond 2 A . Док–во. Из теоремы о разложении Холесского имеем A LDL L(D1/ 2D1/ 2 )L (LD1/ 2 )(LD1/ 2 ) B LD1/ 2 . Т.к. Sp(BB) Sp(BB ) Sp(A) , то || B || 2 || B || 2 (A) || A || 2 . Аналогично || B1 || 2 || (B ) 1 || 2 (A 1 ) || A 1 || 2 . cond 2 B cond 2 B cond 2 A . Решение системы уравнений Ax b с помощью разложения A BB называется методом квадратного корня. Так как 2 b11 a11 , b 21b11 a 21 , b31b11 a 31 b11 0 0 b11 b21 b31 a11 a 21 a31 2 b b 0 0 b b a a a 21 22 22 32 21 22 32 b 22 a 22 b 21b21 , b32b 22 a 32 b 21b31 2 b31 b32 b33 0 0 b33 a 31 a 32 a 33 b33 a 33 b31b31 b32 b32 то элементы матрицы B вычисляются по следующим формулам: b a kk j1 | b k j | , b k i,k (a k i,k j1 b k i, j bk, j ) / b k k , i 1,...,n k k 1 kk k 1 2 9 n k 1 Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Лекция 3. Метод исключения с выбором главного элемента по столбцу Напомним 1–ый шаг схемы единственного деления для решения Ax b : (1) (1) a1n x1 b1 1 a12 x1 b1(1) a1n a11 a12 (1) a (1) a22 a 2 n x 2 b2 a (1) b 2n x2 21 0 a 2 2 2 , (1) b (1) a n n x n b n aa (1) x 0 a n 2 nn n n a n1 a n 2 где a1(1)j a1 j / a11 , b1(1) b1 / a11 , a i(1)j a i j a i1 a1 j / a11 (i, j 2, ..., n) . Эти операции выполнимы, если (главный элемент шага) a11 0 . Ошибки округления будут меньше, если | a11 | | a1 j | или | a11 | | a i1 | . Матрица перестановок 1, j k i P (pi j )i,n j1 , pi j , где (k1 ,k 2 , ..., k n ) – перестановка (1, 2, ..., n) . 0, j k i Доказать, что PP P P E , т.е. P – ортогональная матрица. Доказать, что cond 2 (P) 1. Элементарная матрица перестановок Pk l – матрица перестановок k и l элементов в n –ке (1, 2, ..., n) . 1 Доказать, что Pk,l Pk,l . Pk,l Доказать, что умножение на матрицу Pk , l матрицы A слева ( Pk, l A ) – это перестановка k и l строк, справа ( A Pk, l ) –перестановка k и l столбцов матрицы A . Выбор главного элемента по столбцу. 1–й шаг: находим i1 : | a i1 1 | max | a i1 | ( 0 , если det A 0 ); i 1,...,n меняем местами 1 и i1 строки: A(1/ 2) P1,i1 A, b(1/ 2) P1,i1 b ; обнуляем в 1–ом столбце элементы: A(1) L1 A(1/ 2) , b(1) L1 b(1/ 2) , 0 0 1 (1/ 2) (1/ 2) (1/ 2) a11(1/ 2) a12 a1n b1(1/ 2) a 21 1 0 (1) (1) (1) a11(1/ 2) 0 a a b 2 2 2n (1) (1) , A , b 2 L1 (1) (1/ 2) 0 a (1) a (1) a n2 nn bn n1 0 1 a11(1/ 2) (1) det A 0 det A 0 . 10 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 3. После k шагов имеем A(k) x b(k) , где det A(k) 0 , если det A 0 U k, n k y (k ) Uk (k ) (k ) (k ) a a k 1,k 1 k 1,n , b (k ) b k 1 A (k ) 0 (k ) (k ) (k ) a a b n,k 1 n,n n ( k 1)–й шаг: находим i k 1 : | a i(k) | max | a i k 1 | ; k 1 k 1 i k 1,...,n меняем местами k 1 и i k 1 строки: 0 Ek Pk 1,ik 1 A(k1/ 2) Pk1,ik 1 A(k) , b(k 1/ 2) Pk1,ik 1 b(k) ; (n k) , 0 P1,ik 1 k обнуляем в ( k 1)–ом столбце элементы: 1 0 (k 1/ 2) a k 2, k 1 1 1/ 2) a (k 0 Ek k 1, k 1 (n k ) L k 1 , L1 (n k ) 0 L 1 (k 1/ 2) a n, k 1 0 1/ 2) a (k k 1, k 1 (k 1) (k 1/ 2) (k 1) A Lk 1 A , b Lk 1 b(k 1/ 2) : U k, n k Uk 1/ 2) 1/ 2) a (k a (k k 1,k 1 k 1,k 2 1) 0 a (k A (k 1) k 2,k 2 0 1) 0 a (k n,k 2 det A(k) 0 det A(k 1) 0 . 1/ 2) a (k k 1, n 1) a (k k 2,n , (k 1) a n,n 0 0 , 1 b(k 1) y(k) (k 1/ 2) b k 1 (k 1) bk2 . (k 1) b n Очевидно, что, если det A 0 , то выполнив n 1 шаг, получим систему с верхней треугольной матрицей: A(n 1) x Ux b(n 1) y . Теорема. Если det A 0 , то PA LU , где P Pn 1,i ... P1,i , L1 Ln 1 ... L1 , n 1 1 Lk Pn 1,i n 1 ... Pk 1,i k 1 Lk Pk 1,i k 1 ... Pn 1,i n 1 Доказать эту теорему в качестве упражнения, проверив, что матрицы L k и L k имеют одинаковую структуру. 11 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 3. Метод вращений решения системы уравнений Элементарная матрица вращения E 0 0 k 1 ck, l 0 s k, l k я строка Q k, l 0 0 E lk 1 0 0 (k l). c k, l ck, l s k, l s k, l 1, l я строка s k, l 0 ck, l 0 0 E n l Доказать, что Q k, l – унитарная матрица, т.е. Qk,l (Qk,l )* (Qk,l )* Qk,l E . Доказать, что det Qk, l 1. Доказать, что при умножении на матрицу Q k, l матрицы A слева ( Qk,l A ) изменяются только k и l строки матрицы A . k –ый шаг метода вращений Предположим, что после k 1 шага система Ax b с помощью умножения слева на ортогональную матрицу приведена к виду A(k 1) x b(k 1) , где R k 1, n k 1 R k 1 y(k 1) (k 1) (k 1) (k 1) a a k, k k, n b k (A (0) A, b(0) b) . (k 1) A (k 1) , b 0 (k 1) (k 1) (k 1) a a b n, k n, n n Тогда k –ый шаг состоит из умножения системы A(k 1) x b(k 1) слева на элементарные матрицы вращений Qk, k 1 , ..., Qk, n : 0 E k 1 (k 1,i) Qk, k i Qk, k i A (k 1,i1) , b(k 1,i) Qk, k i b(k 1,i 1) , где (n k 1) , A 0 Q1,1i 1,i 1) 1,i 1) a (k a (k k, k k i, k 1,i 1) 2 1,i 1) 2 , если rk, k i | a (k | | a (k | 0, ck, k i , s k, k i k, k k i, k rk, k i rk, k i Qk, k i E , если rk, k i 0 . В результате получим A(k) Qk A(k 1) , b(k) Qk b(k 1) , где Qk Qk, n ...Qk, k 2Qk, k 1 . Выполнив n 1 шаг, получим систему с верхней треугольной матрицей: A(n 1) x Rx b(n 1) y (заметим, что, если det A 0 , то и det R 0 ). Если определить унитарную матрицу Q* Qn 1 ... Q1 , то справедлива Теорема. A A Q R . Доказать, что cond 2 A cond 2 Q cond 2 R cond 2 R . 12 Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Лекция 4. Метод отражений решения системы уравнений Матрица отражения H a a 2(a, w) w (E 2 w w )a если заданы векторы a и H a , то w a Ha || a H a || 2 Доказать, что H H* H1 , det H 1. k –ый шаг метода отражений Предположим, что после k 1 шага система Ax b с помощью умножения слева на ортогональную матрицу приведена к виду A(k 1) x b(k 1) , где R k 1, n k 1 R k 1 y(k 1) (k 1) 1) 1) a (k a (k k, k k, n b k (A (0) A, b(0) b) . (k 1) (k 1) A , b 0 (k 1) 1) 1) a (k a (k n, k n, n b n Тогда k –ый шаг состоит из умножения системы A(k 1) x b(k 1) слева на ортогональную матрицу вращения H k : 0 E k 1 (k) Hk H k A (k 1) , b(k) H k b(k 1) , (n k 1) (n k 1) , A 0 E 2 w [w ] n k 1 1 1 где (n k 1) 1 w (n k 1) 1 w 0 a1(k 1) rk e1(k 1) (k 1) || a1 rk e1(k 1) || 2 1) 2 (k 1) 2 если rk | a (k k, k | ... | a n, k | 0 1) (k 1) или a (k k 1, k ... a n, k 0 , 1) если rk 0 & a (k k, k 0 (здесь a1(k 1) 1) a (k k, k (k 1) – первый орт), , e1 1) a (k n, k 1) если rk 0 & a (k k, k 0 (n k 1) 1 w 1) a1(k 1) k rk e1(k 1) a (k (k 1) k, k (k 1) || a1 k rk e1 || 2 (здесь k (k 1) ). | a k, k | Выполнив n 1 шаг, получим систему с верхней треугольной матрицей: A(n 1) x Rx b(n 1) y (заметим, что, если det A 0 , то и det R 0 ). 13 Мацокин А.М. “Вычислительные методы линейной алгебры.”. Лекция 4 Решение системы с вырожденной матрицей HR –разложение с перестановками столбцов матрицы A 1– ый шаг. Определим номер столбца j1 матрицы A [a1 , ..., a n ] из условия || a j1 || 2 max || a j || 2 и матрицу перестановок P1, j1 . Для матрицы A(1/ 2) AP1, j1 определим матрицу отражения H1 : R1 R1, n 1 (1) (1) a a 2, 2 2, n A (1) H1A (1/ 2) H1AP1, j1 , r11 R1 . 0 (1) (1) a a n, 2 n, n (1) Доказать: | r11 | || a j || | a i j | i, j k –ый шаг. После k 1 шага имеем 1) R k 1 R k 1, n k 1 a (k k 1, j (k 1) (k 1) 1) a a a (k k, k k, n k, j (k 1) A , | rk 1,k 1 | max | a i,(kj1) | . k 1i, j n 0 1) 1) 1) a (k a (k a (k n, k n, n n, j 2 1) a (k k, j k a (k 1) k, j max Определяем номер столбца j k из условия a (k 1) n, j k k j n 1) a (k n, j 2 и для A(k 1/ 2) A(k 1) Pk, j k определяем матрицу отражения H k : A (k) HkA (k 1/ 2) HkA (k 1) Pk, j k R k 0 R k, n k a (k) k 1, k 1 a (k) n, k 1 a (k) k 1, n . a (k) n, n ) a (k k, j Доказать: | rk,k | max ) a (k k 1, j max | a i,(kj) | . k j n k i, j n ) a (k n, j Ответ: 2 Если t dim(ker A) , то после n t шагов имеем R n t,t R (H n t ... H1 )A(P1, j1 ... Pn t, j n t ) HAP R n t , 0 0 где H и P – ортогональные матрицы. 14 2 Мацокин А.М. “Вычислительные методы линейной алгебры.”. Лекция 4 Совместность системы с вырожденной матрицей Система Ax b называется совместной, если она имеет решение. Следовательно, система совместна b ImA . {x * y y k er A} – общее решение системы, где x *– любое ее решение. Теорема. Если система Ax b совместна ( b ImA ), то B: det B 0 совместна система (BA)x (Bb) и множества решений этих систем совпадают. Система Ax b несовместна, если b ImA . В этом случае ее обобщенным решением (относительно векторной нормы || || ) называют вектор x: || Ax b || min || Ay b || . y Доказать: общее решение совместной системы совпадает с множеством ее обобщенных решений. Доказать: множество обобщенных решений {x: || Ax b || 2 min || Ay b || 2} совпадает с общим решением системы AA x A b . Применение HR –разложения с перестановками столбцов для решения совместной системы Выполним эквивалентное преобразование совместной системы Ax b : Ry g : R HAP, y Px, g Hb . Из–за ошибок округления эта система будет иметь вид: (n t) g (n t) R n t R n t,t y , 0 t y(t) (t) где матрица t и вектор ( t ) должны иметь малые по модулю элементы. Заменяем их на нулевые матрицу и вектор (диагональные элементы матрицы R по модулю мажорируют все левее и ниже лежащие элементы, как только очередной диагональный элемент стал “намного” меньше предыдущего, то и остальные элементы почти нулевые): (n t) g (n t) R n t R n t,t y , 0 0 y(t) 0 очевидно, что общее решение этой системы определяется формулой y(n t) R n1t (g (n t) R n t,t y(t) ) (t) t y R , (t) (t) y y а решение исходной системы x Py . 15 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 4. Метод прогонки решения систем с трехдиагональной матрицей LU –разложение трехдиагональной матрицы A : 0 d1 0 0 1 b1 c1 a b c a d 0 0 2 2 2 2 2 a n 1 b n 1 cn 1 a n 1 d n 1 0 0 0 an b n 0 0 an d n 0 где (проверить) d1 b1 d 2 b 2 a 2 u1 ..... d i bi a i u i 1 ...... d n 1 b n 1 a n 1u n 2 u1 1 u n 1 1 0 u2 0 1 0 0 u1 d11c1 u 2 d 21c2 ...... u i d i1ci ....... u n 1 d n11cn 1 d n b n a n u n 1 Формулы метода прогонки для системы Ax f : сначала вычисляем (рекуррентно): u1 b11c1, u 2 (b2 a 2u1 )1 c2 , ..., u i (bi a iu i1 ) 1ci , ..., u n 1 (b n 1 a n 1u n 2 ) 1cn 1 и решаем систему с матрицей L (прямой ход): 0 y1 f1 y1 d11f1 b11f1 d1 0 a d 0 y f yi d i1 (f i a i yi 1 ) 2 2 2 2 , (bi a i u i1 ) 1 (f i a i yi 1 ) a n 1 d n 1 0 y n 1 f n 1 i 2, ...,n 1 0 0 an d n y n f n y n (b n a n u n 1 ) 1 (f n a n y n 1 ) и, наконец, решаем систему Ux y (обратный ход): x n y n , x n 1 u n 1x n , ..., x i u i x i1 , ..., x1 u1x 2 . Теорема. Если i | bi | | a i | | ci | (a1 c n 0) , то det A k 0 k (т.е. LU –разложение существует и метод прогонки применим). Док–во. (от противного) Пусть k : det A k 0 , тогда x (k) 0: A k x (k) 0 и i: | x i(k ) | max| x (kj ) | 0 . 1 j k Разделим равенство a i x | bi | | a i | (k) i 1 (k) i 1 (k) i | x i(k) |x 1 | | c | i | x i(k) | |x bi x (k) i ci x (k) i 1 0 на x i(k ) и оценим b i : | | a i | | ci | – противоречие условию. | 16 Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Лекция 5. Итерационные методы решения линейных уравнений Мы будем рассматривать только вещественные системы линейных алгебраических уравнений, так как система уравнений Ax b над полем комплексных чисел сводится (доказать) к системе Re A Im A Re x Re b Im A Im x Im b Re A с вещественными коэффициентами. Пример и основные определения Пример: пусть для матрицы системы Ax b построена обратная A 1 (LU)1 . Из–за ошибок округления мы получим не обратную матрицу, а к ней близкую: A 1 . Тогда x A1x x , а для разности x x имеем уравнение A(x x) Ax b , приближенное решение которого (x x) A 1 (Ax b) x x A 1 (Ax b) или итерационное уточнение x k 1 x k A1 (Ax k b), k 0, 1, ... . Одношаговый (двухслойный) итерационный метод решения Ax b : x k 1 x k H k (A x k b) x 0 задан, k 0, 1, 2, ... ; H k заданные матрицы. x k – k -тое приближение (к решению системы), z k 1 z k Hk A z k (E H k A)z k zk x k x – ошибка k -той итерации – процесс для ошибки, Sk E H k A – матрица шага для ошибки; r k A x k b Az k r k 1 r k H k A r k (E A H k )r k – невязка k -той итерации – процесс для невязки, Tk E A H k – матрица шага для невязки; Метод называется сходящимся, если lim || zk || 0 x 0 R n . k (Так как в R все нормы эквивалентны, то определение сходимости от нормы не зависит.) Стационарный одношаговый итерационный метод решения Ax b : x k 1 x k H (A x k b) n x 0 задан, k 0, 1, 2, ... ; H заданная матрица. Впредь мы будем предполагать, что det A 0 и det H 0 . 17 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 5. Условия сходимости стационарного итерационного метода x k 1 x k H(A x k b), x 0 задан, k 0, 1, 2, ... ; H заданная матрица. Достаточные условия: Теорема. Если || S|| || E HA || 1, то || z k || 0 , т.е. x k x x 0 R n . || x k x || || z k || || Sz k 1 || || S || || z k 1 || || S || || Sz k 2 || Док–во. || S || 2 || z k 2 || || S || k || z 0 || 0. Теорема. Док–во. Если || T || || E AH || 1 , то || z k || 0 , т.е. x k x x 0 R n . || Ax k b || || r k || || T r k 1 || || T || || r k 1 || || T || || T r k 2 || || T || 2 || r k 2 || || T || k || r 0 || 0. || x k x || || z k || || A 1r k || || A 1 || || r k || 0 . Необходимое и достаточное условие: Теорема. x k x x 0 R n (S) 1 . Док–во. Необходимость. Пусть x k x z k Sk z0 0 z0 R n , т.е. метод сходится. Так как Sp(S) z0 0 : Sz0 z0 , то, выбрав x0 x z0 , получим, что || z k || || Sk z0 || || k z 0 || | |k || z 0 || 0 | | k 0 | | 1 (S) 1. Достаточность. Если докажем, что (S) 1 Sk 0 (нулевой матрице), то x k x z k Sk z0 0 z0 R n , т.е. метод сходится. Итак, пусть J diag{J1 , ..., J m } – жорданова форма матрицы S , т.е. 0 i 1 i 1 , Ji S QJ Q , i Sp(S) , | i | 1. 1 i 0 Практически очевидно, что S k 0 Jik 0 i . Пусть k n i – порядка блока J i и i 0 , тогда (бином Ньютона) k n i 1 J ( i E i Pi ) C P Ckt ik t Pit , т.к. Pit 0 t n i . k i k t 0 t k k t t i i t 0 k! (k t 1)...k k t Т.к. C k n , lim k n ik 0 | i | 1 k t! (k t)! t! t! lim Ckt ik t 0 t ni Jik 0 , что и тр.док. t k k 18 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 5. Асимптотическая скорость сходимости Сколько нужно сделать итераций, чтобы ошибка z k итерационного процесса x k 1 x k H(A x k b), x 0 задан, k 0, 1, 2, ... ; H заданная матрица. уменьшилась в 1 раз: k k() ? : || z k || / || z 0 || . Теорема. Док–во. ln Если || S|| || E HA || 1, то k() 1. ln|| S || При k k() имеем || zk || || Sk z0 || || S|| k || z0 || || z0 || . Средняя скорость за k итераций: R k ln k || Sk || (Доказать: R k ln || S || ) ln . || Sk || e kR k , если k Rk Асимптотическая скорость сходимости: R lim R k ln lim k || Sk || . k Теорема. Док–во. k Если (S) (E HA) 1, то R ln (S) . Из док–ва теоремы о необходимом и достаточном условии сходимости || Sk || ck n [(S)]k k n Из эквивалентности норм || Sk || || Sk || n lim k || Sk || lim k c k k (S) (S) . k k Т.к. || Sk || (Sk ) [(S)]k , то lim k || Sk || (S) . k lim k || Sk || lim k || Sk || (S) , т.е. R ln (S) . k k Принято считать, что из двух итерационных процессов лучше тот, у которого асимптотическая скорость сходимости больше. Но использовать асимптотическую скорость сходимости для оценки числа итераций, необходимых для уменьшения начальной ошибки в 1 раз, можно только в случае R k R k . 19 Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Лекция 6. Один из способов построения итерационного метода решения системы линейных алгебраических уравнений Ax b состоит из представления матрицы в виде A B C , переписи системы в виде Bx Cx b и определении очередного приближения x k 1 по известному приближению x k из решения системы Bx k 1 Cx k b . Доказать: Bx k 1 Cx k b x k 1 x k B1 (Ax k b) . Метод Якоби Если D diag A diag{a11, a 22 , ..., a nn } , то итерационный процесс x k 1 x k D1 (Ax k b) называется методом Якоби для решения системы Ax b . Сходимость в случае диагонального преобладания по строкам Теорема. Док–во. Если | a ii | n |a j1, ji ij | i , то метод Якоби сходится. a a a a i–тая строка матрицы S E D1A : i1 , ..., i,i1 , 0, i,i1 , ..., i n . a ii a ii a ii a ii a i1 a a a Из условия теоремы ... i,i1 i,i1 ... i n 1 a ii a ii a ii a ii || S|| 1 , т.е. выполняется достаточное условие сходимости. Сходимость в случае диагонального преобладания по столбцам Теорема. Док–во. Если | a j j | n |a i 1, i j ij | j , то метод Якоби сходится. a a a a j–ый столбец матрицы T E AD1 : 1 j , ..., j1, j , 0, j1, j , ..., n j . ajj ajj a j j a j j a1 j a a a Из условия теоремы ... j1, j j1, j ... n j 1 a jj ajj ajj ajj (S) (E D1A) (DTD1) (T) || T || 1 1, необходимое условие сходимости. 20 т.е. выполняется Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 6. Необходимое и достаточное условие сходимости метода Якоби в случае симметричной матрицы с положительной главной диагональю Теорема. Если A A & D 0 , то (S) (E D1A) 1 (т.е. метод Якоби сходится) A 0 & 2D A 0 . 1. собственные значения матрицы S E D1A – вещественные: Док–во. (S) 1 (D1A) 1 (D1/ 2[D1A]D1/ 2 ) 1 (D1/ 2AD1/ 2 ) , (D1/ 2AD1/ 2 ) – вещественны, т.к. D1/ 2AD1/ 2 [D1/ 2AD1/ 2 ] . 2. (S) 1 (D1A) (0, 2) 2.1. (D1A) 0 A 0 : т.к. (Ay, y) ({D1/ 2AD1/ 2}[D1/ 2 y], [D1/ 2 y]) ({D1/ 2 AD1/ 2 }z,z) и B B (Bx, x) min (B) (x, x) , то (D1A) (D1/ 2AD1/ 2 ) 0 A 0 ; A 0 ({D1/ 2AD1/ 2}z,z) 0 (D1A) (D1/ 2AD1/ 2 ) 0 ; 2.2. (D1A) 2 2D A 0 : (D 1A) 2 (2E D 1A) (D 1[2D A]) 0, (D 1[2D A]) 0 [2D A] 0. Метод Зейделя (Гаусса–Зейделя, Некрасова) Если матрицу системы Ax b представить в виде суммы A L D R , где D diag A diag{a11, a 22 , ..., a nn } a1n 0 0 a12 a 0 0 0 21 , R L 0 0 0 a n 1,n a n1 a 0 0 n,n 1 то итерационный процесс x k 1 x k (D L)1 (Ax k b) называется методом Зейделя для решения системы Ax b . Доказать: S E (D L)1 A E (A R)1 A (A R) 1 R . 21 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 6. Необходимое и достаточное условие сходимости метода Зейделя в случае симметричной матрицы с положительной главной диагональю Теорема. Если A A & D 0 , то (S) (E (D L)1 A) 1 (т.е. метод Зейделя сходится) A 0 . Необходимость: Док–во. Пусть (S) (E (D L)1 A) 1 , но A Џ 0 , т.е. : (A , ) 0 ( A A все (A) вещественны, A Џ 0 min (A) 0 , иначе (Ay, y) min (A) (y, y) 0 , det A 0 min (A) 0 min (A) 0 : A min (A) ). Зададим z0 и оценим (Az k 1 ,z k 1 ) : (Az k 1 ,z k 1 ) (A{E [A R]1 A}z k ,{E [A R]1 A}z k ) (Az k Ay k , z k y k ) (Az k ,z k ) (Az k , y k ) (Ay k ,z k ) (Ay k , y k ) (Az k ,z k ) ([A R]y k , y k ) (y k ,[A R]y k ) (Ay k , y k ) (Az k ,z k ) ([A R]y k , y k ) ([A L]y k , y k ) (Ay k , y k ) (Az k ,z k ) (Dy k , y k ) (Az k ,z k ) ... (Az 0 ,z 0 ) 0. lim|| z k || 0 , метод не сходится, что противоречит (S) 1. Достаточность. Докажем, что A 0 (S) ([A R]1 R) 1 , т.е. метод сходится. Sp(S) : || || 2 1, S [A R]1 R (R , ) [(A , ) (R , )] r 2 2 2 || . r i [a (r i )] a(a 2r) r 2 2 если a(a 2r) 0 , то | | 1 : 1. a (A , ) min (A) ( , ) min (A) 0 . 2. (A , ) (D , ) (R , ) (R , ) (D , ) (R , ) (R , ) d 2r a 2r d (D , ) 0 Из 1.–2. (S) 1. Но, более того, т.к. r 2 2 | (R , ) | 2 || R ||22 || ||22 || R ||22 (R R) , d (D , ) d min ( , ) d min (Ae min ,e min ) min (A) (здесь d min a min, min min{a ii } 0 , e min – орт), r 2 2 r 2 2 x то | | max a(a 2r) r 2 2 2min (A) r 2 2 0x(RR ) 2min (A) x 2 (R R) (R R) , т.е. (S) . 2 2min (A) (R R) min (A) (R R) 22 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 6. Лекция 7. Функционал ошибки Второй из способов построения итерационного метода решения системы линейных алгебраических уравнений Ax b ( det A 0 ) состоит из построения последовательности приближений {x k }k 0 такой, что || z k 1 || || z k || , т.е. строгого убывания на каждом шаге функционала ошибки f (x k ) || x k x || . Теорема. Если f (x k 1 ) || z k 1 || f (x k ) || z k || x k x ( z k 0 ) и отображение S: R n R n (оператор шага для ошибки: z k 1 S(z k ) ) непрерывно при z 0 , то x k x , т.е. || z k || 0 . Док–во. Т.к. 0 || z k 1 || || z k || , то || z k || 0 . Предположим, что 0 . Т.к. || z k || || z0 || , то {z k m }: z k m z, || z || . Т.к. z 0 , то || S(z) || || z || & S(z k m ) S(z) . Тогда, выполнив предельный переход в соотношениях || z k m 1 || || S(z k m ) || || z k m || || S(z) || || z || получим противоречие: || z k || 0 . Обычно используют нормы, порождаемые симметричной положительно определенной матрицей: || z || C (Cz, z) . Доказать: если C C 0 , то (x, y)C (C x, y) – скалярное произведение, || z || C (Cz, z) – норма в R n . Метод полной релаксации для решения системы Ax b с матрицей A A 0 – очередное приближение x k 1 определяется по известному приближению x k за n шагов: x1k 1 x ik11 x k i / n x k (i 1) / n k,i ei x ik k,i , i 1, 2, ..., n, xk i 1 xk n где параметр k,i выбирается из условия минимума || zki / n || A . 23 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 7. k (i 1) / n Теорема. k,i ri Док–во. a ii a i,1x1k 1 ... a i,i1x ik11 a i,i x ik ... a i,n x kn bi a ii и xk x . Т.к. A A 0 , то имеем || z k i / n || 2A (Az k i / n , z k i / n ) (A[z k (i1) / n k,iei ], [z k (i1) / n k,iei ]) || z k (i1) / n || 2A 2 k,i (Az k (i1) / n , ei ) 2k,i (Aei , ei ) || z k (i1) / n || 2A 2 k,i rik (i1) / n 2k,i a i,i || z k (i 1) / n || 2 A (rik (i1) / n )2 ( k,i a i,i rik (i 1) / n )2 a i,i . Очевидно, что при k,i a i,i rik(i1) / n 0 будет максимальное уменьшение ошибки (полная релаксация): (rik (i1) / n ) 2 k i / n 2 k (i 1) / n 2 || z || A || z || A . a i,i || z k 1 || || z || 2 A k 2 A (r1k ) 2 a1,1 (r 2k 1/ n ) 2 a 2,2 ... (r nk (n 1) / n ) 2 a n,n || z k || 2A , если хотя бы одна из компонент невязки rik (i1) / n 0 (в противном случае x k i / n x k (i1) / n x k , r k 0 , т.е. x k x ). Итак, функционал ошибки строго убывает. Найдем оператор шага для ошибки: имеем (проверить!): a i,1x1k 1 ... a i,i1x ik11 a i,i x ik ... a i,n x kn bi k 1 k k x i x i k,i x i a ii или x k 1 x k D1 (Lx k 1 (D R)x k b) D1 (Lx k 1 Rx k b) x k 1 x k (D L)1 (Ax k b) – метод Зейделя (он сходится) S E (D L)1 A – непрерывный (всюду) оператор шага x k x по теореме о функционале ошибки. Метод неполной релаксации для решения системы Ax b с матрицей A A 0 – очередное приближение x k 1 определяется по известному приближению x k за n шагов: x ki / n x k(i1) / n k,i ei , i 1, 2, ..., n, где параметр k,i rik (i1) / n , т.е. ошибка уменьшается меньше, чем в методе aii полной релаксации ( 1 ): 24 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 7. || z k i / n || || z 2 A || z k (i 1) / n k (i 1) / n || 2 A (r ik (i1) / n ) 2 ( k,i a i,i r ik (i1) / n ) 2 a i,i || [1 ( 1) ] 2 A 2 (r ik (i1) / n ) 2 || z k (i1) / n || 2A (0, 2), r ik (i 1) / n 0. a i,i Расчетные формулы имеют вид (проверить!): a i,1x1k 1 ... a i,i1x ik11 a i,i x ik ... a i,n x nk bi k 1 k k x i x i k,i x i a ii или x k 1 x k D 1 ( Lx k 1 (D R)x k b) (D L)x k 1 Dx k Dx k (Rx k b) Dx k Lx k Lx k Dx k (Rx k b) (D L)x k (Ax k b) Теорема. Если A A 0 , то метод неполной релаксации сходится (0, 2) . практически совпадает с доказательством сходимости метода Док–во полной релаксации. Оценка сходимости методов релаксации Итак, ошибка z k 1 Szk (E (D L)1 A)z k монотонно убывает в норме (ASz,Sz) . || z || A (Az,z) . Оценим || S || 2A max z 0 (Az,z) Т. к. 2 2 1 (D L)1 [D (R1 0.5D)]1 (D R1 ) 1 , где R1 D L 0 , 2 2 2 2 то S E (D R1 ) 1 A E B1A, (0, ) , если (0, 2) . 2 (B1Az,Az) (AB1Az,B1Az) || S || 2A max 1 2 2 . z 0 (Az,z) (Az,z) Т.к. (Ay, y) ([R1 R1 ]y, y) 2( R1y, y) 2([B D]y, y) , то 2 (A[B1Az],[B1Az]) 2 (B[B1Az],[B1Az]) 2 (D[B 1Az],[B 1Az]) 2 (B1Az,Az) 2(D B1Az,B1Az) (DB1Az,B1Az) (DB1Az,B1Az) || S || max 1 2 1 2 min z 0 z 0 (Az,z) (Az,z) 1/ 2 1 1 1/ 2 ([A (B ) DB A ]A1/ 2 z,A1/ 2 z) 1 2 min 1 2 , z 0 (A1/ 2 z,A1/ 2 z) где min (A1/ 2 (B1 ) DB1A1/ 2 ) . 2 A 25 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 7. Пусть A1/ 2 (B1 ) DB1A1/ 2 y y Av BD1Bv, v A 1/ 2 y . Т.к. BD1B (D R1 )D1 (D R1 ) D A 2R1D1R1 , (Av, v) то . (Dv, v) (Av, v) 2 (R1D 1R1v, v) Теорема. 1 , 1/ 2 1 2 1 2 || S || g() 1 0, 1 2 где постоянные 0 и 0 таковы, что (Dv, v) (Av, v), (R1D1R1v, v) (Av, v) v ( D A, min (D1A) , R1D1R1 A, max (A1R1D1R1 ) ) очевидно. 2 A Док–во Доказать: min g() g(* ) 0 Доказать: * 1 /(4) , 1 /(4) * 1 . 2 . 1 2 Пример 0 1 2 1 1 2 1 1 A 1 2 1 0 1 2 0 0 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 0 0 R1 R1 , 1 1 min (D1A) 0.5 4 sin 2 ( /(2(n 1))) /[2(n 1) 2 ] 1 , т.к. A 2 R1D1R1 diag{1, 0, ..., 0} , то 0.5 A R1D1R1 и 0.5 , тогда (проверить): верхняя релаксация * 1 2(n 1) / , g(* ) 1 полная релаксация * 2 1, 1 /(n 1) 2(n 1) 1 , k() ln , || S ||A 1 1 n 1 n 1 2(n 1) 2 2 2 , g(2) 1 , || S ||A g(2) 1 (n 1)2 (n 1) 2 т.е. метод верхней релаксации в (n 1) /(2) раз дешевле. 26 (n 1)2 1 k() ln 2 Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Лекция 8. Градиент, метод наискорейшего спуска Как выбирать вектор y при построении итерационного метода x k 1 x k y из условия минимизации ошибки: || zk1 || 2 min || z k y || 2 ? Если f (z) || z || (Az,z), A A 0 , то 2 f (z k 1 f (z k ) d f (z k ) f (z k ) 2 k ) f (z ) O( ) f (z ) y1 ... y n O( 2 ) d z n z1 k f (z k ) (f , y) O( 2 ) || z k || 2 2 (Az k , y) 2 || y || 2 || z k || 2 2 (Az k , y) || z k || 2 2 | | (Az k ,Az k ). Следовательно, y f 2Az k 2r k , 0 . Теорема. Метод наискорейшего спуска сходится , если A A 0 . Док–во. x k 1 x k k (Ax k b) k (r k ,r k ) , (Ar k ,r k ) k 0, 1, .... || zk1 || 2A (A[zk k Azk ],zk k Azk ) || zk || 2A 2k (r k ,r k ) 2k (Ar k ,r k ) минимум правой части достигается при k (r k ,r k ) /(Ar k ,r k ) : | (r k ,r k ) | 2 || z || || z || || z k || A2 , если r k Az k 0 . k k (Ar ,r ) Очевидно, что оператор S : z k1 S(z k ) z k k (z k ) Az k непрерывен всюду, кроме , быть может, 0. z k 0 . k 1 2 A k 2 A Метод минимальных невязок В итерационном процессе x k 1 x k k (Ax k b) параметр k будем выбирать из условия минимизации невязки: (r k 1, r k 1 ) min (r k Ar k , r k Ar k ) . Теорема. Метод минимальных невязок сходится , если A 0 . Док–во. || z k 1 || 2AA x k 1 x k k (Ax k b) (Ar k ,r k ) k , k 0, 1, .... (Ar k ,Ar k ) (AA[z k k Az k ],z k k Az k ) (r k k Ar k ,r k k Ar k ) || z k || 2AA 2k (Ar k ,r k ) 2k (Ar k ,A r k ) минимум правой части достигается при k (Ar k ,r k ) /(Ar k ,A r k ) : | (Ar k ,r k ) | 2 || z || || z || || z k || 2A , если r k 0 & (Ar k ,r k ) 0 . k k (Ar ,A r ) Очевидно, что оператор S : z k1 S(z k ) z k k (z k ) Az k непрерывен всюду, кроме , быть может, 0. z k 0 . k 1 2 A k 2 A 27 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 8. Метод простой итерации В методах наискорейшего спуска и минимальных невязок для определения параметра k на каждом шаге нужно вычислять два скалярных произведения (с умножением невязки на матрицу системы). Использование постоянного параметра k существенно уменьшает объем вычислений на каждом шаге. Теорема. Если A A 0 , то метод простой итерации сходится при 2 (0, ), (A) При опт x k1 x k (Ax k b), k 0, 1, ... || z k || 2 [ ] k || z 0 || 2 max{|1 min (A) |, |1 max (A) |} 2 min max опт max min 0 . max min Док–во. || z k || 2 || (E A)z k1 || 2 || E A || 2 || z k1 || 2 (|| E A || 2 ) k || z 0 || 2 k (E A) || z 0 || 2 (E A) max |1 | max{|1 min (A) |, |1 max (A) |} Sp(A) т.к. функция g |1 | выпукла вниз. |1 | 1 1 1 1 Sp(A) 0 2 / max 2 ||S || 2 1 (0, ) , метод сходится. (A) Оптимальный параметр выбираем из условия опт || E опт A || 2 min || E A || 2 min 0 легко проверить, что 0 опт 1 min , 2 1, max опт max 28 опт 0 2 min , опт max min max max min Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 8. Оценки сходимости МНС и ММН k Теорема. Если A A 0 , то для ошибки || z || метода наискорейшего спуска: (r k , r k ) k 1 k k x x k (Ax b), k , k 0, 1, ..., (Ar k , r k ) справедливы оценки: k k min max max min || z || A max || z 0 || A , || z k || 2 || z 0 || 2 min max min max min Так как || z k1 || A inf || z k Az k || A || z k опт Az k || A || E опт A || A || z k || A k Док-во. и || E опт A || 2A sup z 0 (A[E опт A]z,[E опт A]z) (Az,z) ([E опт A]A0.5z,[E опт A]A0.5z) 2 , sup || E опт A || 22 опт 0.5 0.5 (A z, A z) z 0 то || z k || A опт || z 0 || A . k Т.к. min (z,z) (Az,z) max (z,z) min || z || 2 || z || A max || z || 2 max / min опт || z 0 || A . то || z k || A k Теорема. Если A A 0 , то для метода минимальных невязок: (Ar k , r k ) k 1 k k x x k (Ax b), k , k 0, 1, ..., (Ar k , Ar k ) справедливы оценки: k Док-во. k min min || r k || 2 max || r 0 || 2 , || z k || 2 max max || z 0 || 2 min max min max min Так как || r k1 || 2 inf || r k Ar k || 2 || r k опт Ar k || 2 || E опт A || 2 || r k || 2 и || E опт A || 2 опт , то || r k || 2 опт || r 0 || 2 . k Т.к. || r k || 2 || Az k || 2 и | min | 2 (z,z) (Az, Az) | max | 2 (z,z) min || z k || 2 || r k || 2 max || z k || 2 || z k || 2 29 max опт k || z 0 || 2 . min Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Лекция 9. Метод Ричардсона с чебышевскими параметрами Задача оптимизации параметров Параметры k в итерационном методе x k 1 x k k 1 (Ax k b) можно выбирать из условия минимизации спектрального радиуса (Sm, (A)) матрицы (оператора) ошибки за m шагов: z m Sm, (A) z 0 (E m A)...(E 1A) z 0 . Если все параметры взять одинаковыми, то мы получим метод простой итерации и он сходится при известных условиях, т.е. предлагаемый способ построения итерационного метода может привести только к лучшему методу. Мы будем предполагать, что Sp(A) [, ], 0 , т.е. все собственные значения матрицы системы линейных уравнений Ax b положительны. Т.к. min (Sm, (A)) min { max | Sm, () |} min {max | Sm, () |} , а последнюю 1 ,..., m 1 ,..., m Sp(A) 1 ,..., m [ , ] минимаксную задачу решать проще (почему?), мы будем искать 1 , 2 , ..., m : max |Sm, () | min {max |Sm, () |} m , [ , ] 1 ,..., m [ , ] т.е. решать задачу о поиске полинома Sm, ( ) степени m , наименее уклоняющегося от нуля на отрезке [, ] при условии Sm, (0) 1 . Тогда, т.к. Sm, () (1 m)...(1 1 ) ( 1)m ( 1 )...( m ) , где i – корни 1...m 1 и (Sm, (A)) max |Sm, ( ) | m . [ , ] k Если A A , то || Sm, (A) || 2 (Sm, (A)) m и, следовательно, полинома Sm, ( ) , k || z mk || 2 [m ] k || z 0 || 2 – оценка сходимости метода. Полином Чебышева Tm (x) cos(m arccosx), x [1, 1] и решение задачи оптимизации параметров Очевидно, что T0 (x) 1 , T1 (x) x – полиномы. Т.к. cos( (k 1)) cos( (k 1)) 2cos() cos(k) , то при arccos x имеем Tk1 (x) 2 T1 (x) Tk (x) Tk1 (x) – полином при любом k 1 1. k Точки экстремумов Tm (x) cos(m arccos x) : x̂ k cos , k 0, 1, ..., m : m 1 xˆ m xˆ m1 ... xˆ 1 xˆ 0 1 , Tm (xˆ k ) ( 1) k . (2k 1) Корни полинома Tm (x) cos(m arccos x) : x k cos , k 1, ..., m : 2m 1 xˆ k x k xˆ k1 1 , Tm (x) 0 x [ 1, 1] . 30 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 9. Линейное преобразование [, ] x [1,1] : x() 2 ( ) . 1 Tm x( ) . Tm x(0) ( ) x k ( ) Очевидно, что Sm (0) 1 , k [, ] – корни полинома. 2 Покажем, что этот полином наименее уклоняется от нуля на интервале [, ] среди всех полиномов Pm ( ), Pm (0) 1 , т.е. Pm ( ) 1 Q m1 ( ) . Рассмотрим полином: Sm ( ) Теорема. Если 0 , Док-во. то ||Sm () ||C[ ,] inf ||1 Qm1 () ||C[ ,] . Qm1 ( ) Пусть ||Sm () ||C[ ,] inf ||1 Qm1 () ||C[ ,] , Qm1 ( ) тогда Q m1 ( ) : ||Sm () ||C[ , ] ||1 Qm1 () ||C[ , ] . Так как полином Sm () 1 Pm () имеет экстремумы (одинаковые по 2ˆ k ( ) модулю) в точках ˆ k [, ] : x̂ k , k 0, 1, ..., m : | Sm (ˆ k ) | || Sm () ||C[ ,] , и {Sm (ˆ k )}km0 знакопеременна: то разность R m () Sm () [1 Qm1 ()] Qm1 () Pm1 () полином степени m , последовательность {R m (ˆ k )}mk 0 знакопеременна в интервале [, ] имеется m попарно различных корней полинома R m () (т.к. внутри интервала [ˆ k , ˆ k 1 ] имеется хотя бы один корень), 0 [, ] – корень ( (m 1) –ый) полинома R m () (именно здесь мы использовали условие 0 ). R m () 0 , т.е. || Sm () ||C[ ,] ||1 Qm1 () ||C[ ,] – противоречие. Следовательно, ||Sm () ||C[ ,] inf ||1 Qm1 () ||C[ ,] . Qm1 ( ) Осталось вычислить m || Sm () || C[ ,] . Теорема. Если 0 , то Док-во. m || Sm () || C[ ,] 2 m 1, где . 2m 1 Очевидно, m ||Sm () || C[ ,] | Tm ( x(0) ) | 1 , x(0) Для вычисления Tm ( x(0) ) воспользуемся формулой (x x 2 1 ) m (x x 2 1 ) m при | x | 1. Tm (x) 2 31 1. Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 9. Заметим, что x(0) x (0) 1 2 ( ) 2 2 ( ) 2 ( )( ) 1 1 x(0) x 2 (0) 1 . x(0) x 2 (0) 1 2m ( )m ( 1 ) m m 1 Тогда Tm ( x(0) ) ( 1) 2 2 m , 2 m m 1. 1 2m Док-во формулы Tk (x) 0.5[(x x 2 1 ) k (x x 2 1 ) k ] при | x | 1. Действительно, T0 (x) 1 и T1 (x) x . Осталось проверить, что Tk1 (x) 2 T1 (x) Tk (x) Tk1 (x) или (x x 2 1 ) k1 (x x 2 1 ) k1 2x[(x x 2 1 ) k (x x 2 1 ) k ] [(x x 2 1 ) k1 (x x 2 1 ) k1 ] . Пусть y x 2 1 , тогда (x y )k1 (x y ) k1 x [(x y ) k (x y ) k ] y [(x y ) k (x y ) k ] x [(x y ) k (x y ) k ] y [x {(x y ) k 1 (x y ) k 1} y {(x y ) k 1 (x y ) k 1}] x [(x y ) k (x y ) k ] y x {(x y ) k 1 (x y ) k 1} (x 2 1) {(x y ) k 1 (x y ) k 1} 2x [(x y ) k (x y ) k ] {(x y ) k 1 (x y ) k 1} ( x 2 xy yx x 2 ) (x y ) k 1 ( x 2 xy yx x 2 ) (x y ) k 1 2x [(x y ) k (x y ) k ] {(x y ) k1 (x y ) k1}, что и тр. док. Итак, Sm, ( ) Sm ( ) – решение задачи оптимизации параметров за m шагов. Циклический метод Ричардсона: формулы и сходимость Теорема. Если A A 0 и известны оценки ее спектра: Sp A [, ], 0 , то циклический метод Ричардсона (с длиной цикла m ) решения k 1 k k x x k1 (Ax b), k 0, 1, ... , системы Ax b : 1 , ..., m , m1 1 , ..., 2m m , ... ( m j j ), 1 (2k 1) с чебышевскими параметрами k 2 ( ) ( ) cos 2m k сходится и || z mk 2 m 0 . || 2 [m ] || z || 2 || z || , 2 2m 1 k 0 32 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 9. Об устойчивости метода Ричардсона Из–за ошибок округления реализация формул x k1 x k k1 (Ax k b) неустойчива, т.к. норма оператора шага || E k1A || 2 для ошибки может быть значительно больше 1 (в методе простой итерации эта норма меньше 1). Рассмотрим модельный пример, в котором ошибка округления возникает только на шаге с m ( m 104 1 ): 1 0 z m (E m A)[(E m1A)...(E 1A)z 0 z 0 ] z m (E m A)z 0 , A . 0 m || zm || 2 2e200 || z0 || 2 0 . Проверить: m 2e200 0 0 Проверить: m 1 , E m A || zm || 2 m | z02 | 104 | z 02 | | z 02 | , 0 1 m если 104 , т.е. фактически ошибка не уменьшилась. Изменим упорядочение параметров: 2 , 3 , ..., m1 , m , 1 : ẑ m (E 1A)(E m A)[(E m1A)...(E 2 A)z 0 z 0 ] z m (E 1A)(E m A)z 0 . Проверить: 0 0 1 1 O(m 2 ), (E 1A)(E m A) || zˆ m || 2 O(| z02 |) , m 0 O(1) т.е. реализация с точностью до ошибок округления. Из этого примера следует, что переупорядочение параметров существенно влияет на устойчивость вычислений в методе Ричардсона. Задача об оптимальном упорядочении параметров ставится следующим образом. Пусть p [p(1), ..., p(m)] – перестановка m –ки (1, ..., m) , j (p) [(E p( j) A)...(E p(m) A)] , (p) j1 p( j) j1 (p) p(m) . m1 Найти p опт : (pопт ) inf (p) . p Решением этой задачи для m 2t является следующая процедура: 1 , 2 , ..., m1 , m 1 r (m , 1 ), r (m1 , 2 ), ..., rm/ 2 ( m/ 21 , m/ 21 ) 2 1 1 2 1 2 1 1 r1 ( rm/ 2 , r1 ), r2 ( rm/ 21 , r21 ), ..., rm/ 4 (rm/ 41 , rm/ 41 ) ................................. pопт r1t 1 1 1 2 33 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 9. Трехчленные формулы реализации метода Ричардсона с чебышевскими параметрами Для решения системы Ax b попытаемся построить приближения {x k } : z k Sk (A)z0 k 0 . 2 Т.к. S0 (A) E и S1 (A) E A (проверить!), то 2 2 0 x1 x 0 (Ax 0 b) x 0 r . Если ввести обозначение t k Tk ( x(0) ) Tk ([ ]/[ ]) , то 2 t k 1Sk 1 (A) 2t k T1 A E Sk (A) t k 1Sk 1 (A) 2 2t k ASk (A) 2t k t1Sk (A) t k 1Sk 1 (A) 2 k t k 1z k 1 2t k r 2t k t1z k t k 1z k 1 2 k 2t k r (2t k t1 t k 1 )z k t k 1 (z k z k 1 ) 2 k 2t k r t k 1z k t k 1 (z k z k 1 ) 2 k t k1x k1 2t k r t k1x k t k1 (x k x k 1 ) {x k }k0 построена: t 2 k t t x k1 2 k r x k k1 k (x k x k 1 ), k 1, 2, ... . t k1 t k t k1 Преобразуем эту формулу: t 2 2t t 2 t t 2 t t 2 . 2 k k 1 k1 k1 (1 k1 k ) t k1 t k 1 t k 1 t k t k 1 Введем обозначение k t k 1 / t k , т.к. t k 1 2t1t k t k 1 , то 1 1 1 , k1 , k 1, 2, ... . 2t1 k 2(1 )1 k Тогда 2 x k1 x k k k1 (x k x k1 ) (1 k k1 ) (Ax k b), k 1, 2, ... , – двухшаговый (трехслойный) итерационный процесс. 34 Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Лекция 10. Многошаговые методы. Вариационная оптимизация Для определения параметров метода Ричардсона (простой итерации при m 1 ) для решения системы Ax b необходимо предварительное вычисление (точное или приближенное) границ спектра матрицы A , чего не требуется в методах наискорейшего спуска и минимальных невязок. Попытаемся выбрать параметры метода x k x k1 k (Ax k1 b) из условия || z tm || || (E (mt) A)...(E 1( t) A)z ( t 1)m || min || (E m A)...(E 1A)z ( t 1)m || . Решим эту задачу при t 1 (т.к. при других t решение задачи будет таким же с точностью до обозначений), определив || z || 2 || z || 2D (Dz,z) , где D D 0 . Т.к. z m (E m A)...(E 1A)z 0 z 0 q1 ()Az 0 ... q m ()A mz 0 z 0 1 ()g 1 ... m ()g m , где L{g1 , ..., g m } L{Az , ..., A z } Lm , то || z m || D min || (E m A)...(E 1A)z 0 || D min || z 0 1g 1 ... mg m || D . 0 m 0 Параметры 1 , ..., m удовлетворяют системе уравнений 1 (Dz m ,z m ) z m m (D ,z ) (Dgi , z 0 1g 1 ... mg m ) 0, i 1, ..., m , 2 i i или (Dg1 ,g1 ) (Dg1 ,g 2 ) ... (Dg1,g m ) 1 (Dz 0 ,g1 ) (Dg ,g ) (Dg ,g ) ... (Dg ,g ) 0 (Dz ,g ) 2 1 2 2 2 m 2 2 . ... 0 (Dg m ,g1 ) (Dg m ,g 2 ) ... (Dg m ,g m ) m (Dz ,g m ) Матрица этой системы – матрица Грамма базиса {gi }im1 в Lm . Для того, чтобы был известен вектор правой части, достаточно выбрать D AHA с любой матрицей H H 0 . Если базис {gi }im1 является D –ортогональным, т.е. (Dgi ,g j ) 0, i j , то (Dz0 ,g k ) k , x m x 0 1g1 2g 2 ... mg m , (Dg k ,g k ) 2m 3m а вычисление x , x , ... осуществляется аналогично. 35 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 10. Метод сопряженных градиентов Пусть матрица системы Ax b симметрична и положительно определена. 0 m 0 Построим ( D A ) A –ортогональный базис {gi }im1 в Lm L{Az , ..., A z } . 0 0 (r 0 , g1 ) 1. g1 Az r 1 0 1 0 1 , x x 1g1 , r r 1Ag1 . – базис в L1 (Ag1 , g1 ) r1 L 2 r1 Az 0 1A 2 z 0 Заметим, что 1 1 (r , g1 ) 0 r L1 r k L k 1 Предположим, что выполнили k шагов: Lk {g1 , ..., g k } и k . r L k k Определим g k 1 r 1g1 ... k g k : (Ag k 1 ,gi ) 0, i 1, ..., k , k т.е. i (Ar ,gi ) /(Agi ,gi ) , т.к. (Ag j ,gi ) 0, i j . Заметим, что Agi Li 1 и r Li 1 Lk k (Ar k ,gi ) (r k , Agi ) 0 i k 1 (r 0 , g k 1 ) (r1 1Ag1 , g k 1 ) ... (Ag k 1 , g k 1 ) (Ag k 1 , g k 1 ) k 1 –шаг. g k 1 r k k g k k 1 (r k , Ag k ) (r k , g k 1 ) k , (Ag k , g k ) (Ag k 1 , g k 1 ) {g1 , ..., g k 1} x k 1 x k k 1gk 1 , r k 1 r k k 1Ag k 1 . – базис в L k 1 r k 1 Lk 1 , k k 1 т.к. r Lk & Ag k Lk & (r ,g k 1 ) 0 . k k 0 k 1 0 Т.к. r Lk 1 r a1Az ... a k 1A z 0 k 1 0 и g k 1 Lk 1 g k 1 b1Az ... bk 1A z , то r k 1 c1Az0 ... ck 1Ak 1z0 ck 2 Ak 2 z0 Lk 2 предположения мат. индукции выполнены, мы построили метод сопряженных градиентов. Теорема. Если A A 0 , то метод сопряженных градиентов продолжается до k получения решения системы Ax b за m n итераций (пока r 0 ) и 2 k 0 || z ||A || z ||A , 1 2k k Доказать теорему в качестве упражнения. 36 max min max min . Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 10. Переобуславливатель Для решения системы Ax b рассмотрим итерационный метод x k 1 x k B1 (Ax k b) , где матрица B (переобуславливатель) эквивалентна по спектру матрице A с постоянными 1 0 0 : 0 (Bv, v) (Av, v) 1 (Bv, v) v R n . Теорема. A A 0 & B B 0 (B1A) . 0 1 Док–во. B1Av v [B1/ 2 AB1/ 2 ](B1/ 2 v) (B1/ 2 v) . [B1/ 2 AB1/ 2 ] [B1/ 2 AB1/ 2 ]* w B1/ 2 v – вещественный (B1/ 2 AB1/ 2 w, w) (Av, v) 0 1 . (w, w) (Bv, v) Следствие. A A 0 & B B 0 (S ) (E B1A) 1 (0, 2 / 1 ) || S || B || B1/ 2S B1/ 2 ||2 (B1/ 2S B1/ 2 ) (S ) 1 1/ 2 1/ 2 ||2 (A1/ 2S A 1/ 2 ) (S ) 1 || S ||A || A S A 1/ 2 1/ 2 т.к. B S B [B1/ 2S B1/ 2 ]* и A1/ 2S A 1/ 2 [A1/ 2S A 1/ 2 ]* . Теорема. A A 0 & B 0.5 A ( 0 ), тогда (S ) 1. k 1 k 1 k 1 k k Док–во. || z || (Az , z ) (AS z ,S z ) A (Az k , z k ) 2(AB1Az k , z k ) 2 (AB1Az k , B1Az k ) (Az k , z k ) 2(Bw k , w k ) 2 (Aw k , w k ) (Az k , z k ) 2([B 0.5 A]w k , w k ) || z k ||A функционал ошибки строго убывает и, т.к. оператор S непрерывен, то итерационный процесс сходится (S ) 1 . 37 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 9. Положительно определенные матрицы A 0 в Cn (или R n ) (Ax, x) 0 x Cn (R n ), x 0 Теорема 1. (Ax, x) Re(Ax, x) x C n A A* . Теорема 2. A A * A 0 в Cn (R n ) (A) 0, n n min (x, x) (Ax, x) max (x, x) x C (R ). A 0 Теорема 3. A A * в Cn (R n ) det (A k ) 0 (т.к. A LDL – разложение Холесского) – это критерий Сильвестра положительной определенности или положительности всех собственных значений симметричной (самосопряженной) матрицы. * Теорема 4. A 0 в R n A A* 0 в R n . n Теорема 5. A A – веществ. кососимметричная матрица A 0 в R . * Теорема 6. A 0 в R n Re (A) 0 . Доказать эти утверждения в качестве упражнений. Построить пример вещественной несимметричной, n определенной в R матрицы. 38 но положительно Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Лекция 11. Проблема собственных значений n Для матрицы A {a i j }i, j1 нужно найти числа и ненулевые векторы x такие, что Ax x : – собственное значение, x – собственный вектор. Корректность задачи на собственные значения Известно, что все собственные значения матрицы A являются корнями характеристического полинома Pn () det (A E) (1) n n p n 1 n 1 ... p1 p0 , а коэффициенты p 0 , ..., p n 1 – непрерывные функции элементов матрицы A . Пусть A – матрица с “малыми” по величине элементами, P,n () – характеристический полином матрицы A A . Следствием непрерывности det (A A) как функции элементов матрицы A A является Лемма 1. lim P,n () Pn () C . A0 Лемма 2. В любом круге на комплексной плоскости с центром в точке c и n радиуса | Pn (c ) | лежит хотя бы один корень полинома Pn () . Док–во. Разложим Pn () в ряд Тейлора в точке c : Pn (c ) Pn(n) (c ) Pn () Pn ( c ) ( c ) ... ( c ) n Q(z) , 1! n! где z c . Пусть z1 , ..., z n – корни полинома Q(z) , среди которых корень с минимальной абсолютной величиной имеет номер min . n n Так как | Pn (c ) | | Q(0) | | z1 ... z n | | z min | | min c | , то min (корень полинома Pn () ) лежит в круге радиуса n | Pn (c ) | . Лемма 3. Если 1 , ..., n – корни полинома Pn () , то нумерация корней ,1 , ..., ,n полинома P,n () : ,k k k при A 0 . методом матиндукции по степени полинома. Док–во n 1 ,1 p,0 p0 1 . Пусть лемма верна при n k . n n k : из леммы 2 ,1 : | ,1 1 | | P,n (1 ) | 0 . Т.к. Pn () ( 1 )R n1 (), P,n () ( ,1 )R ,n1 () и R ,n1 () R n 1 () , то ,2 2 , ..., ,n n . 39 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 11. Степенной метод вычисления максимального собственного значения матрицы A A 0 0 k 0 Идея метода: для заданного вектора x рассмотрим его k –ю итерацию A x , если 0 1 2 ... n 1 n (A) – собственные значения, q(1) , q(2) , ..., q(n) – соответствующие им собственные векторы, то A k x 0 k [ n q (n ) ( 1 ) k 1q (1) ... ( n 1 ) k n 1q (n 1) ] k n q (n ) , || A k 1x 0 || 1 , A k 1x 0 q (n ) , k 0 k 0 || A x || || A x || где 1 , 2 , ..., n – коэффициенты (неизвестные!) 0 (1) (2) (n) разложения вектора x по базису q , q , ..., q . Итерационный процесс x 0, 0 x k 1 xk A k , || x || k 0, 1, ..., называется степенным методом вычисления максимального собственного значения матрицы A A 0 : || x k || (A) , x k x : Ax x , 0 если проекция начального вектора x на линейную оболочку собственных векторов, соответствующих (A) , не равна 0. Док–во. Пусть 0 1 ... r r 1 ... n – собственные значения, q(1) , ...,q(r) , q(r1) , ..., q(n) – собственные векторы матрицы A , и x 0 1q (1) ... r q (r) r 1q (r 1) ... n q (n) 1q (1) ... r q (r) y, y 0. k 0 k k (1) k (r) Тогда A x [x (1 / ) 1q ... ( r / ) r q ] и, 1 r Ax k 1 A 2 x k 2 Ak x 0 k 0 ... 1, т.к. x , ... || x k 1 || || Ax k 2 || || A k 1x 0 || || y (1 / ) k 1q (1) ... ( r / ) k r q (r) || k , то || x || || y (1 / ) k 1 1q (1) ... ( r / ) k 1 r q (r) || y (1 / ) k 1q (1) ... ( r / ) k r q (r) y k x x . || y (1 / ) k 1 1q (1) ... ( r / ) k 1 r q (r) || || y || Замечание. Сходимость степенного метода не зависит от выбора в нем n векторной нормы, т.к. все нормы в R эквивалентны. 40 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 11. Степенной метод вычисления минимального собственного значения матрицы A A 0 Задача вычисления минимального собственного значения матрицы A A 0 легко сводится к задаче вычисления максимального собственного значения матрицы E A 0 , где (A) , так как ( E A) min (A) . Оценку для (A) легко найти: || A || (A) . Тогда итерационный процесс x 0, 0 x k 1 xk (|| A || E A) k , || x || k 0, 1, ..., называется степенным методом вычисления минимального собственного k значения матрицы A A 0 : (|| A || || x ||) min (A) , 0 если проекция начального вектора x на линейную оболочку собственных векторов, соответствующих min (A) , не равна 0. Справедливость этого утверждения является следствием сходимости степенного метода вычисления спектрального радиуса матрицы B || A || E A . Применение ортогонализации и степенного метода для вычисления очередного собственного значения Предположим, что собственное значение n (A) и соответствующий ему собственный вектор (какой–то!) q (n) матрицы A A 0 мы приближенно (например степенным методом) вычислили: n n , q (n) q(n) . Построим симметричную положительно определенную матрицу An1 Pn APn , где матрица Pn E q [q (n) (n) T ] – ортогональный проектор на подпространство (L{q(n) }) , ортогональное вектору q(n) . (n) (n) Докажите, что спектр матрицы A n 1 (т.е. n n , q q ) состоит из (n) собственных значений 1 ... n 1 матрицы A и нуля (вектор q принадлежит ее ядру). (n) (n) Отсюда следует, что, если q q (а степенной метод такую сходимость гарантирует), то (An1 ) (An1 ) n1 (A) . Следовательно, применяя степенной метод для матрицы A n 1 , мы получим (n 1) приближение к n 1 (A) и q – очередным собственным значению и вектору матрицы A . Эту процедуру можно продолжать до тех пор, пока мы не получим все собственные значения. 41 Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Лекция 12. Метод деления пополам (бисекций) n Для самосопряженной матрицы A {a i j }i, j1 имеет место закон инерции: если матрицу A конгруэнтным преобразованием привести к диагональному * виду: D T AT , где det T 0 , то от матрицы T (способа преобразования) не зависит (A) – количество отрицательных элементов, 0 (A) – количество нулевых элементов, (A) – количество положительных элементов на диагонали D . Нам известно (из теоремы и алгоритма LDU –разложения), что если все det A k 0 , то A LDL* , D diag{d1 , ..., d n }, det Ak d1 ... d k . Следовательно, в этом случае за конечное число действий мы можем определить (A) { (A), 0 (A), (A)}, 0 (A) 0 . Матрица A A преобразованием подобия ортогональной матрицей Q (конгруэнтным преобразованием) из собственных векторов приводится к * диагональному виду diag{1 , ..., n } Q AQ . Следовательно, * (A) = количеству отрицательных, 0 (A) = количеству нулевых, (A) = количеству положительных собственных значений матрицы A , * и, используя LDL –разложение, мы можем эти числа определить. Подытожим эти рассуждения в виде следующей леммы. * Лемма 1. Если матрица A A и det A k 0 k , то количество ее отрицательных собственных значений (A) ЧПЗ{1, det A1 , det A2 , ..., det A n } Док–во – число перемен знака. леммы оставляется в виде упражнения. Идея метода бисекций вычисления j Sp (A) j [a 0 , b0 ] [ || A || , || A || ] , т.к. (A) || A || , т.е. все собственные значения 1 2 ... n матрицы A A лежат в этом интервале. Определим в какой половине интервала [a 0 , b 0 ] лежит j . Для этого вычислим * (A c0 E) – количество собственных значений меньших c0 (a 0 b0 ) / 2 . Если (A c0 E) j , то j [a 0 ,c0 ] [a1 , b1 ] , иначе j [c0 , b0 ] [a1 , b1 ] . k 1 Через k таких шагов получим: j [a k , b k ], b k a k || A || / 2 0 , т.е. мы можем получить оценку искомого собственного числа с любой точностью. 42 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 12. Приведение самосопряженной матрицы к трехдиагональному виду ортогональным преобразованием подобия с помощью матриц вращения Как и раньше, через Qi,ik будем обозначать элементарную матрицу вращения, отличающуюся от единичной матрицы двумя диагональными элементами: (Qi,ik )i,i ci,ik , (Qi,ik )ik,ik ci,ik , и двумя внедиагональными элементами: (Qi,ik )i,ik si,ik , (Qi,ik )ik,i si,ik , | ci,ik | 2 | si,ik | 2 1. Выполним и 1–й шаг. Исключение элементов 1–го столбца матрицы A , начиная с 3–его, с помощью последовательного умножения на унитарные матрицы Q2,3 , ..., Q2,n : A1 (Q 2,n ... Q 2,3 )A(Q 2,n ... Q 2,3 ) Q1AQ1 . 2–й шаг. Исключение элементов 2–го столбца матрицы A1 , начиная с 4–ого, с помощью последовательного умножения на унитарные матрицы Q3,4 , ..., Q3,n : A 2 (Q3,n ... Q3,4 )A1 (Q3,n ... Q3,4 ) Q 2 A1Q2 . … ………………….. k–й шаг. Исключение элементов k–го столбца матрицы A k 1 , начиная с (k+2)–ого, с помощью последовательного умножения на матрицы Qk1,k2 , ..., Qk1,n : A k (Qk 1,n ... Qk 1,k 2 )A k 1 (Qk 1,n ... Q k 1,k 2 ) Qk A k 1Qk . … (n–2)–й шаг. ………………….. Исключение последнего элемента (n-2)–го столбца матрицы A n 3 с помощью умножения на матрицу Qn1,n : A n 2 (Qn 1,n )A n 3 (Qn 1,n ) Q n 2 A n 3Qn 2 . 1 1 2 1 2 , T A n 2 (Q n 2 ... Q1 )A(Q n 2 ... Q1 ) n 2 n 1 n 1 n 1 n Sp(A) Sp(T) . 0 Tk Если k 0 , то T Sp(T) Sp(Tk ) Sp(Tˆ n k ) , ˆ 0 Tn k т.е. поиск собственных значений самосопряженной матрицы сводится к задаче на собственные значения якобиевых трехдиагональных матриц. 43 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 12. матрица подобна трехдиагональной Лемма 2. Самосопряженная вещественной матрице. Док–во. Только что мы привели самосопряженную матрицу A к трехдиагональному виду ортогональным преобразованием подобия: T (Qn2 ... Q1 )A(Qn2 ... Q1 ) tridiag{i1, i , i } . Определим матрицу D diag{d1 , ..., d n } : (предполагая i 0 ) d1 1, d 2 1 / | 1 | , ... , d n 1 / | 1 | ... n 1 / | n 1 | . Тогда D 1 D , B DTD1 tridiag{| i1 |, i ,| i |} . Якобиевы матрицы Вещественная матрица a1 c 2 B a 2 b2 , b1 c 2 0, b 2 c3 0, ..., b n 1 c n 0 , cn 1 a n 1 b n 1 cn a n называется якобиевой (у нас ci bi1 ). Лемма 3. Пусть B tridiag{bi1 ,a i , bi } – якобиева матрица, тогда 1. det B0 1, det B1 a1 , b1 det Bi1 a i1 det Bi bi2 det Bi1 , i 1, ..., n 1. 2. если то det Bi 0 (i n) , если det Bn 0 , то det Bn 1 0 . Док–во det Bi1 det Bi1 0 , оставляется читателю в качестве упражнения. Лемма 4. Собственные значения якобиевой матрицы B попарно различные (простые). Док–во. Т.к. размерность ядра симметричной матрицы B B E совпадает с кратностью Sp(B) , а из леммы 3 следует, что у вырожденной якобиевой матрицы B минор [det B ]n 1 0 , то rang B n 1, dim Ker B 1 и простое собственное значение матрицы B . 44 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 12. Теорема. Пусть B tridiag{bi1 ,a i , bi } – якобиева матрица, тогда (B) ЧПЗ{1, det B1 , det B2 , ..., det Bn } , если det Bk 0 приписать знак det Bk 1 . Док–во. 1. Если det Bk 0 k , то это лемма 1. 2. Пусть k : det Bk 0 . Пусть sign (det Bk ) sign (det Bk 1 ) . Определим 0 min | | 0 и рассмотрим якобиевы матрицы Sp(Bi ), 0, i 1,...,n B B E, (0, 0 ) . Т.к. ([B ]i ) (Bi ) 0 i 1,..., n , то det[B ]i 0 i 1,..., n, (т.к. определитель а) матрицы равен произведению ее собственных значений), б) sign(det[B ]i ) sign(det[B ]i ) sign(det Bi ) det Bi 0 , в) sign(det[B ]k ) sign(det[B ]k ) 0 det Bk 0 , (т.к. из леммы 4 следует, что (Bk ) 0 простое и отрицательных собственных значений у матрицы [B ]k на одно больше, чем у матрицы [B ]k ), г) (B ) (B), (B ) (B) 0 (B) . Из леммы 1, а) и г) следует, что (B ) ЧПЗ{1, det[B ]1 , det[B ]2 , ..., det[B ]n } (B) , (B ) ЧПЗ{1, det[B ]1 , det[B ]2 , ..., det[B ]n } (B) 0 (B) , ЧПЗ{1, det B1 , det B2 , ..., det Bn } ? Подсчитаем эти числа: Из б) следует, что если det B j 0 и det B j1 0 , то перемена знака происходит (или нет) одновременно в этих последовательностях. Случай det Bk 0, k n . Из леммы 3 имеем det Bk 1 det Bk 1 0 , отсюда и из б) следует det[B ]k 1 det[B ]k 1 0 и на участках det[B ]k 1 , det[B ]k , det[B ]k 1 det Bk 1 , det Bk , det Bk 1 по одной перемене знака. Случай det Bn 0, 0 (B) 1 . Отсюда, из в) и г) следует, что det[B ]n 1 det[B ]n 0 , det[B ]n 1 det[B ]n 0 , sign(det Bn1 ) sign(det Bn ) 0 . Следовательно, (если det Bk 0 приписать знак det Bk 1 ) последовательности миноров матриц B и B имеют одинаковые знаки. Теорема доказана. 45 Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. О вычислении ЧПЗ Для вычисления (B) ЧПЗ{1, det B1 , det B2 , ..., det Bn } якобиевой матрицы B tridiag{bi1 ,a i , bi } достаточно знать знак каждого det Bk . Если d 0 1, d1 det B1 , d i1 a i1 d i bi2 d i1 , i 1, ..., k 1, d k 1 : d k 1 / | t k |, d k : d k / | t k |, d i1 a i1 d i bi2 d i1 , i k, ..., n 1, (обычно выбирают t k max{| d k 1 |, | d k |} ), то sign{di } sign{det Bi } i и (B) ЧПЗ{1, d1 , ..., d n } . Нормировку можно применять неоднократно, что позволит избежать быстрого роста (переполнения) чисел {di } . О вычислении собственного вектора Лемма 5. Последняя компонента собственного вектора x якобиевой матрицы B tridiag{bi1 ,a i , bi } не равна нулю. Док–во. Пусть Bx x, x 0 . Предположим, что x n 0 . Тогда x n 1 (a n ) x n / b n 1 0 x n i [(a n i1 ) x n i1 b n i1 x n i2 ]/ b n i 0, i 2, ..., n 1, x 0 – противоречие, значит x n 0 . Собственный вектор x якобиевой матрицы B tridiag{bi1 ,a i , bi } мы можем, положив x n 1, вычислить по формулам x n 1 (a n ) x n / b n 1 x n 2 [(a n 1 ) x n 1 b n 1 x n ] / b n 2 ................. x1 [(a 2 ) x 2 b 2 x 3 ] / b1 или решив систему b1 a1 b a 2 b2 1 b n 3 x1 0 x 0 2 a n 2 b n 2 x n 2 0 b n 2 a n 1 x n 1 b n 1 с неособенной матрицей. 46 Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Лекция 13. Метод вращений (Якоби) n Для самосопряженной матрицы A {a i j }i, j1 существует унитарная матрица Q (столбцы которой – собственные векторы матрицы A ): QAQ diag{1 , ..., n } (QAQ) min (TAT) , где (A) | a i j |2 . T T E i j Идея: построить {A k Qk A k 1Qk : Qk Qk E, A0 A} : (Ak 1 ) (Ak ) 0 , тогда на диагональные элементы A k будут приближать собственные значения, а столбцы (Q 0 ...Q k 1 ) – собственные векторы матрицы A . Определим S(A) n 2 | a | . i j i, j1 Лемма 1. Для любых квадратной матрицы A и унитарной матрицы T имеем S(TA) S(AT) S(A) . Док–во. Если A a1 ... a n , то S(TA) S([Ta1 ... Ta n ]) (Ta1 , Ta1 ) ... (Ta n , Ta n ) (a1 , a1 ) ... (a n , a n ) S(A). В качестве матриц Q k будем выбирать элементарные матрицы вращения. Лемма 2. Пусть A A , A Qi jAQi j {a k l }, где Qi j – элементарная матрица вращения, тогда (A) (A) | a ii |2 | a j j |2 | a ii |2 | a j j |2 . Док–во. Заметим, что изменились только строки и столбцы с номерами i , j . Тогда, используя лемму 1, получим S(A) (A) n k 1 k i, k j (A) | a k k |2 | a ii |2 | a j j |2 n k 1 k i, k j | a k k |2 | a ii |2 | a j j |2 S(A) откуда следует утверждение леммы. 47 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 13. Выбор вращения Для простоты будем полагать, что матрица A вещественная. Выразим разность (A) (A) | a ii |2 | a j j |2 | a ii |2 | a j j |2 через элементы матрицы A . Лемма 3. Пусть A A , A Qi jAQi j {a k l }, где Qi j – элементарная матрица вращения ( – угол вращения), тогда 2 1 (A) (A) 2 | a i j |2 (a ii a j j ) sin 2 2a i j cos 2 2 2 | a i j |2 2 | a i j |2 , Док–во. Требуемые равенства выводятся из соотношения a ii a ij a i j cos sin a ii a j j sin cos a i j a i j cos sin . a j j sin cos Лемма 4. Пусть A A , A Qi jAQi j {a k l }, где Qi j – элементарная матрица вращения такая, что | a i j | max| a k l |, k l Док–во. (a ii a j j )sin 2 2a i j cos 2 0, то (A) 1 2 /(n(n 1)) (A) . Требуемое неравенство следует из 2 2 равенства (A) (A) 2 | a i j | и оценки (A) n(n 1)| a i j | . Следующая лемма обеспечивает существование для леммы 4 матрицы Qi j . Лемма 5. Решением уравнения a sin 2 2b cos 2 0 является угол такой, что при b0 cos 0.5(1 a / r), r | a |2 4 | b |2 , sin 2b cos . ra осуществляется непосредственной проверкой. Док–во Из последних двух лемм следует справедливость теоремы сходимости метода. Теорема 1. Последовательность матриц {A k }k 0 метода вращений: A 0 A , Ak Qk Ak1Qk , где Qk Qi(k), j(k) – матрица вращения, определяемая по формулам лемм 4 и 5, для решения полной проблемы на собственные значения A A , сходится к диагональному виду, т.е. (A k ) 0 , причем (A k ) 1 2 /(n(n 1)) (A) . k 48 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 13. Из теоремы 1 0 k : Пусть A Ak (Q1...Qk ) A(Q1...Qk ) QAQ , diag A diag{1 , ..., n }, (A) 2 . QA Q diag{1 , ..., n }. Сходимость собственных значений Лемма 6. P() det ( E) P() det (A E) при 0 . Док–во. Т.к. det ( E) det (QQ E) , QQ A Q(A )Q , S(Q(A )Q ) S(A ) (A) 2 0 то QQ A det ( E) det (A E) . Теорема 2 (оценка приближения собственных значений). а) i j(i) : | i j(i) | n , б) j i( j) : | j i( j) | Док–во. n . Т.к. QQ A QQ Q(A )Q , то (QQ) (QQ) (QQ)(A ) E , | i j |2 S(E) 2 . i ri j ri j j i j , где {ri j} R QQ – ортогональная м–ца. а) i j(i) : | ri j(i) | max | ri k | 1/ n , т.к. | ri1 | ... | ri n | 1. 2 2 2 2 k | i j(i) | | i j / ri j(i) | n . б) доказывается аналогично. Сходимость собственных векторов Будем предполагать, что 1 2 ... n и 1 2 ... n (этого всегда можно добиться, переставив столбцы матриц Q и Q ). Лемма 7. Если 1 2 ... n , 1 2 ... n , n 0.5 a , a min | i j | , i j Док–во | i j | 0.5 a i j . то | i i | n , оставляется в качестве упражнения. 49 Мацокин А.М. “Вычислительные методы линейной алгебры.” Лекция 13. Т.к. собственные векторы Q q1 ... q n матрицы A определяются с точностью до их направления, будем считать, что (qi , qi ) 0 ( q1 ... q n Q – приближения к собственным векторам матрицы A ), т.е. диагональные элементы матрицы R Q Q неотрицательны. Теорема 3 (оценка приближения собственных векторов). 8 2 . a2 Т.к. S(Q Q) S(E Q Q) S(E R) и из доказательства теоремы 2 ( E R R R(A ) ) и леммы 7 следует, что | i j | | i j | 4 4 | ri j | i j , то (E R) 2 S(E) 2 2 . a a | i j | 0.5 a В условиях леммы 7 Док–во. S(Q Q) n Осталось оценить i1 (1 rii ) i1 1 1 jj1i | ri j | 2 (здесь мы воспользовались условием rii 0 ). n 2 n 2 Т.к. (1 x) 1 x x [0,1] , то 2 2 n n n i1 1 1 jj1i | ri j | 2 i1 1 1 jj1i | ri j | 2 n 2 j1 | ri j | 4 n ji i1 (R) (E R) 2 2 . n a 1 1 j1 | ri j |2 n ji Подводя итог, имеем S(Q Q) S(E R) (E R) i1 (1 rii ) 2 n 50 8 2 . a2 Мацокин А.М. “Вычислительные методы линейной алгебры.” Конспект лекций. Литература 1. Фаддеев Д.К., Фаддеева В.Н. Вычислительные методы линейной алгебры. - М.: Л.: Физматгиз, 1963. 2. Коновалов А.Н. Введение в вычислительные методы линейной алгебры.Новосибирск: ВО "Наука", Сибирская издательская фирма, 1993. 3. Воеводин В.В. Вычислительнные основы линейной алгебры. - М.: Наука, 1977. 4. Годунов С.К. Решение систем линейных уравнений. - Новосибирск: Наука, Сиб. отд-ние, 1980. 5. Бахвалов Н.С. Численные методы. - М.: Наука, 1975. 6. Самарский А.А., Гулин А.В. Численные методы. - М.: Наука, 1989. 51