Таблица 4.1 Порядок матрицы Гильберта 2 3 4 5 6 7 8 9 10 Приближенное значение ) ( A cond 1 10 2 ⋅ 2 10 5 ⋅ 4 10 2 ⋅ 5 10 5 ⋅ 7 10 2 ⋅ 8 10 5 ⋅ 10 10 2 ⋅ 11 10 5 ⋅ 13 10 2 ⋅ Применив, например, метод Гаусса к системе с плохо обусловленной матрицей, мы можем получить решение с большой погрешностью, но при этом вектор невязки (показатель вычислительной погрешности) будет достаточно малым. Различают плохо обусловленные задачи и плохо обусловленные вычисления. Плохо обусловленные задачи – это задачи, в которых малые погрешности во входных данных (в том числе и во время промежуточных вычислений) вызывают большие погрешности решения. Плохо обусловленные вычисления – результат применения численно неустойчивых методов. Чтобы лучше разобраться в этих понятиях приведем четыре рисунка 128 Рис.2 Рис. 3. Рис. 4. Рис. 5. Обозначения: d - точные входные данные, d% - входные данные с малой погрешностью, т.е. 1 ddε − ≤ % = , x - точное решение с точными входными данными, вx - вычисленное решение с точными входными данными, x% - точное решение, отвечающее входным данным d% , вx% - вычисленное решение с входными данными d% . На рисунках: слева – области входных данных, а справа – области решений. Рисунок 2 соответствует случаю, когда и задача и численный метод хорошо обусловлены. В этом случае все четыре результата лежат близко друг к другу. Рисунок 3 соответствует случаю, когда задача хорошо обусловлена, а вычисления плохо обусловлены. Здесь вычисленные вx и вx% далеко «убежали» от точных x и x% Рисунок 4 соответствует случаю, когда плохо обусловлена задача, а численный метод «хороший». Из-за малых погрешностей во входных данных точные решения x и x% далеко «убежали» друг от друга. На рисунке 5 представлен случай, когда и задача и вычисления плохо обусловлены. Здесь уже все четыре переменных x , x% , вx и вx% далеко «разбежались» друг от друга. Замечание. Иногда причиной появления плохо обусловленных задач становится отсутствие у пользователей ЭВМ элементарного представления об их существовании. В последнее время, к сожалению, получила развитие опасная тенденция пренебрежительного отношения к математическим знаниям вообще и к знанию вычислительной математики в частности. 4.3. Вычисление определителей Пусть дана матрица 129 = nn n n n n a a a a a a a a a A ... ... ... 2 1 2 22 21 1 12 11 и требуется вычислить ее определитель. Для вычисления определителей матриц можно применять алгоритмы точных методов решения систем линейных алгебраических уравнений b x A r r = . Например, выполняемые преобразования прямого хода в методе исключения Гаусса, приводящие матрицу А системы к треугольному виду, таковы, что они не изменяют определителя матрицы А. Учитывая, что определитель треугольной матрицы равен произведению диагональных элементов, имеем ) 1 ( ) 1 ( 22 11 ) 1 ( ) 1 ( 2 ) 1 ( 2 ) 1 ( 22 11 ) 1 ( ) 1 ( 2 ) 1 ( 2 ) 1 ( 22 1 12 11 2 1 2 22 21 1 12 11 ... ... ... 0 ... ... 0 ... ... ... ... det − ⋅ ⋅ = = = = n nn nn n n nn n n n nn n n n n a a a a a a a a a a a a a a a a a a a a a a a a A Таким образом, определитель матрицы равен произведению всех ведущих элементов при ее преобразовании методом Гаусса. Если известно LU – разложение матрицы: LU A = , где L – нижняя, а U – верхняя треугольные матрицы, то, очевидно, ∏ = = ⋅ = n i ii ii u l U L A 1 det det det 4.4. Обращение матриц Определение 6. Обратной к матрице A называется такая матрица 1 − A , для которой E A A A A = ⋅ = ⋅ − − 1 1 , где E – единичная матрица: = 1 0 0 ... ... 0 1 0 0 0 1 E
130 Определение 7. Квадратная матрица A называется неособенной или невырожденной, если ее определитель Adet отличен от нуля. Всякая неособенная матрица имеет обратную матрицу. Пусть дана неособенная матрица = nnnnnnaaaaaaaaaA... ... ... 2 1 2 22 21 1 12 11 Требуется найти 1 − A . Обозначим элементы обратной матрицы ) ( 1 ijxA= − , nji,..., 1 , = . По определению EAA= − 1 . Перепишем данное равенство в следующем виде: = ⋅ 1 0 0 ... ... 0 1 0 0 0 1 ... ... ... ... ... ... ... 2 1 2 22 21 1 12 11 2 1 2 22 21 1 12 11 nnnnnnnnnnnnxxxxxxxxxaaaaaaaaa(4.1) Обозначим столбцы обратной матрицы 1 − A как векторы jxr , а столбцы единичной матрицы E через jer . Из равенства (4.1) получаем jjexAr r = , nj,..., 1 = . (4.2) Следовательно, чтобы найти элементы обратной матрицы нужно, найти решения n систем линейных алгебраических уравнений (4.2). Так как эти системы имеют одну и ту же матрицу коэффициентов A, то их можно решать одновременно (делая соответствующие преобразования сразу над n правыми частями). 4.5. Применение метода итераций для уточнения элементов обратной матрицы Пусть для неособенной матрицы A найдены приближенные значения элементов обратной матрицы 1 − A . Обозначим матрицу с такими элементами 131 через 1 0 − ≈ A D . Считаем, что полученная точность приближения элементов матрицы 1 − A нас не удовлетворяет. Для уточнения элементов обратной матрицы строим следующий итерационный процесс: 1 1 − − − = k k AD E F , ,... 2 , 1 = k , (4.3) ) ( 1 1 − − + = k k k F E D D , ,... 2 , 1 = k (4.4) Доказано, что итерации сходятся, если начальная матрица 0 D достаточно близка к искомой матрице 1 − A . Матрица 1 − k F на каждом шаге характеризует в некотором смысле степень близости матрицы 1 − k D к матрице 1 − A . Обычно итерации продолжают до тех пор, пока элементы матрицы k F по модулю не станут меньше заданного числа ε , и тогда приближенно полагают k D A ≈ − 1 Указанный итерационный процесс оказывается весьма полезным, так как точные методы вычисления обратной матрицы часто приводят к заметным погрешностям, вызванным неизбежными ошибками округления и большим количеством арифметических операций при расчете.
132 Лекция 5. Ортогональные преобразования. Матрицы вращения и отражения. QR- и HR-разложения матриц. Метод ортогонализации. Метод отражений. 5.1. Ортогональные преобразования. Матрицы вращения и отражения. QR- и HR-разложения матриц. Большинство методов исключения решения системы линейных алгебраических уравнений bxAr r = неособыми преобразованиями приводят исходную матрицу к верхней треугольной матрице. Решение задачи (3.1) сводится к решению некоторой эквивалентной задачи β r r = xU(5.1) с верхней треугольной матрицей U. Решение последней задачи не представляет затруднений. Переход от задачи (3.1) к задаче (5.1) осуществляется путем умножения матрицы A слева на последовательность некоторых матриц nBB ,..., 1 , т.е. на матрицу 1 1 ... BBBBnn⋅ ⋅ ⋅ = − . Итак BAU= По свойствам числа обусловленности матрицы ) ( ) ( ) ( ) ( AcondBcondBAcondUcond⋅ ≤ = , т.е. число обусловленности произведения матриц, не меньше чисел обусловленности сомножителей. Тем самым при преобразованиях, осуществляемых умножением на последовательность матриц, обусловленность системы линейных алгебраических уравнений ухудшается, что может привести к существенному росту погрешности решения. Такого нежелательного явления можно избежать, если осуществлять приведение матрицы A к верхнему треугольному виду с помощью ортогональных преобразований. Определение 1. Матрица Q с вещественными коэффициентами ijq называется ортогональной, если EQQT= , 1 − = QQT(5.2) Отметим следующие свойства ортогональных матриц 133 2 2 x x Q r r = , 2 2 A QA = (5.3) Действительно 2 1 2 2 ) , ( ) , ( ) , ( x x x x x Q Q x x Q x Q x Q n i i T r r r r r r r r = = = = = ∑ = и 2 1 1 1 2 ) ( max ) ( max ) ) (( max A A A QA Q A QA QA QA T j n j T T j n j T j n j = = = = ≤ ≤ ≤ ≤ ≤ ≤ λ λ λ Отсюда ) ( ) ( ) ( 2 1 2 2 1 2 A cond A A QA QA QA cond = ⋅ = = − − (5.4) Итак, если задача (3.1) сведена к задаче (5.1) с помощью ортогонального преобразования, то ) ( ) ( A cond U cond = , т.е. обусловленность исходной задачи не изменилась. Рассмотрим матрицы вращения ) , ( l k Q , k l > . Ненулевые элементы ij q матрицы ) , ( l k Q определены следующим образом = = = = − = = = = ≠ ≠ = = , , sin , , , sin , , cos , , , 1 k j l i если l j k i если l j i или k j i если l i k i и j i если q ij ϕ ϕ ϕ Все остальные элементы матрицы ) , ( l k Q равны нулю. Нетрудно проверить, что это ортогональные матрицы. Умножим слева (3.1) на ) 2 , 1 ( Q : b Q x A Q r r ) 2 , 1 ( ) 2 , 1 ( =
134 Обозначим ) 2 , 1 ( ) 2 , 1 ( A A Q = и элементы матрицы ) 2 , 1 ( A через ij a ) 2 , 1 ( Матрица ) 2 , 1 ( A отличается от матрицы A только первыми двумя строками. Пусть j j j a a a 2 12 1 12 1 sin cos ) 2 , 1 ( ϕ ϕ − = , j j j a a a 2 12 1 12 2 cos sin ) 2 , 1 ( ϕ ϕ + = , ij j a a = 2 ) 2 , 1 ( при 2 > i Пусть хотя бы один из коэффициентов 11 a , 21 a отличен от нуля. Положив 2 21 2 11 21 12 sin a a a + − = ϕ , 2 21 2 11 11 12 cos a a a + = ϕ , получаем 0 ) 2 , 1 ( 21 = a , 2 21 2 11 11 ) 2 , 1 ( a a a + = На этом шаге мы занулили коэффициент при 1 x во втором уравнении системы b x A r r = . Теперь умножаем слева преобразованную систему на ) 3 , 1 ( Q , получаем b Q Q x A Q Q r r ) 2 , 1 ( ) 3 , 1 ( ) 2 , 1 ( ) 3 , 1 ( = Полагая 2 31 2 11 31 13 ) 2 , 1 ( ) 2 , 1 ( ) 2 , 1 ( sin a a a + − = ϕ , 2 31 2 11 11 13 ) 2 , 1 ( ) 2 , 1 ( ) 2 , 1 ( cos a a a + = ϕ , получаем 0 ) 3 , 1 ( 31 = a , 0 ) 2 , 1 ( ) 2 , 1 ( ) 3 , 1 ( 2 31 2 11 11 > + = a a a , т.е мы занулили коэффициент при 1 x в третьем уравнении. Продолжая таким образом, мы в итоге придем к системе с верхней треугольной матрицей. Сравнивания проведенные преобразования с рассмотренным ранее методом вращений, видим, что мы сейчас просто по иному изложили этот метод. Итак, в методе вращений исходную матрицу приводят к верхней
135 треугольной последовательным домножением на ортогональные матрицы вращений, не ухудшая обусловленность системы. Итог таких преобразований можно сформулировать в виде теоремы. Теорема 1. Пусть 0 det ≠ A. Тогда существует ортогональная матрица Q такая, что UQA= (5.5) При этом все диагональные элементы верхней треугольной матрицы U , за исключением, возможно, nnu , положительны. Из (5.5) получаем, что UQA1 − = . Так как матрица Q – ортогональна, то предыдущую теорему можно переформулировать так. Теорема 2. Пусть 0 det ≠ A. Матрица A разлагается в произведение QRA= , (5.6) где Q - ортогональная, а R – верхняя треугольная матрица. Пусть матрица A системы (3.1) – ортогональная, тогда bAxTr r = . (5.7) Отсюда понятна идея методов ортогонализации: нужно построить такое преобразование, которое ортогонализирует строки исходной матрицы. Пусть iar – строки матрицы A . Если 0 det ≠ A, то система векторов iar является линейно независимой и, следовательно, образует базис в nR . Следовательно отыскание нужного преобразования сводится к задаче об ортогонализации базиса. Искомый ортогональный базис можно строить с помощью алгоритма Грамма-Шмидта. Изложим метод ортогонализации решения СЛАУ. 5.2. Метод ортогонализации Систему уравнений bxAr r = запишем в виде 0 ) , ( 1 = ya r r , 0 ) , ( 2 = ya r r ,…, 0 ) , ( = yanr r , (5.8) где ) , ,..., , ( 1 , 2 1 + = nkknkkkaaaaar , nk,..., 1 = ; ) ( 1 , knkba− = + , ) 1 , ,..., , ( ) ( ) 2 ( ) 1 ( nxxxy= r 136 Из (5.8) видно, что для того, чтобы найти решение исходной системы, нужно найти вектор yr , который ортогонален линейно независимым векторам naar r ,..., 1 и имеет последнюю координату, равную 1. Ортогональность векторов yr и naar r ,..., 1 влечет за собой ортогональность вектора yr ко всему подпространству nP , натянутому на вектора naar r ,..., 1 , и, следовательно, всякому базису этого подпространства. Верно и обратное. Поэтому для нахождения решения исходной системы достаточно построить какой-либо ортогональный базис подпространства nP и найти вектор zr , ортогональный этому базису. Если ) 1 ( + nz – последняя координата вектора zr , то вектор ) 1 ( / + = nzzyr r с отброшенной последней координатой и есть решение исходной системы, т.е. ) 1 ( ) ( ) ( / + = niizzx, ni,..., 1 = Итак, алгоритм построения решения следующий. К системе линейно независимых векторов naar r ,..., 1 добавляем еще один линейно независимый вектор 1 + nar : { ) 1 , 0 ,... 0 ( 1 nna= + r Строим систему ортонормированных векторов 1 1 ,..., + nbbr r таких, что для любого k ( 1 1 + ≤ ≤ nk) последовательность векторов kbbbr r r ,..., , 2 1 является ортонормированным базисом подпространства kP , натянутого на kaar r ,..., 1 . В этом случае вектор 1 + nbr ортогонален к подпространству nP , натянутому на вектора naar r ,..., 1 , и искомое решение будет иметь вид ) 1 ( 1 ) ( 1 ) ( / + + + = nninibbx, ni,..., 1 = , (5.9) где ) ( 1 knb+ ( 1 ,..., 2 , 1 + = nk) – компоненты вектора 1 + nbr Сначала строим ортогональный базис { } iur , а через него ортонормированный базис { } ibr , по следующим формулам: 1 1 aur r = , 1 1 1 uubr r r = , ) , ( 1 1 2 1 uuur r r = , ∑ = + + + − = kiiikkkbbaau1 1 1 1 ) , ( r r r r r , 1 1 1 + + + = kkkuubr r r , ( ) nk,..., 1 = . (5.10) Построив вектор 1 + nbr , решение вычисляем по формулам (5.9). 137 Отметим, что этот метод требует, как и все точные методы, ) ( 3 nOопераций. Метод простой, однако неустойчивый, если в матрице A строки близки к линейно зависимым. 5.3. Метод отражений Данный метод основан на переходе от заданной системы bxAr r = к новой системе bUxUAr r = такой, что система dRx= , где UAR= и Ubd= , решается проще, чем исходная. При выборе матрицы U нужно учитывать, по крайней мере, следующие два фактора. Во-первых, ее вычисление не должно быть чересчур сложным и трудоемким. Во-вторых, умножение на матрицу Uне должно «портить» матрицу A (мера обусловленности матрицы A не должна значительно увеличиваться). Такое приведение матрицы A к верхней треугольной матрице R можно осуществить с помощью последовательных ортогональных преобразований отражения. В основе преобразования матрицы A к виду R (определяемому условием 0 = ijr при ij< ) лежит преобразование Хаусхолдера, или, преобразование отражения, TEUω ω r r 2 − = , (5.11) где ω r – некоторый вектор-столбец единичной длины, 1 ) , ( = ω ω r r . Под Tω ω r r здесь понимается матрица, являющаяся произведением вектора-столбца ω r на вектор-строку Tω r , т.е. ) ( ijTω ω ω = r r , где jiijω ω ω = Из определения следует, что Tω ω r r – симметричная матрица. Воспользовавшись тем, что 1 ) , ( = = ω ω ω ω r r r r T, (5.12) убедимся, что TUU= : EEEEUUTTTTTTTT= + − − = − − = ω ω ω ω ω ω ω ω ω ω ω ω r r r r r r r r r r r r 4 2 2 ) 2 )( 2 ( Таким образом, матрица U – ортогональная и симметричная. Значит, матрицы A и B , связанные соотношением UAUB= ( ) 1 − = = UAUUAUT, являются подобными, этот факт используется для решения задач на собственные значения. Теперь нетрудно догадаться, как нужно распорядиться свободой задания элементов векторов ω r при построении матриц отражения, чтобы за 138 конечное число шагов преобразований Хаусхолдера произвольно заданную матрицу A привести к верхней треугольной матрице R . А именно, можно показать, что начатым с AR= 1 процессом mmmRUR= + 1 , 1 , 2 ,..., 2 , 1 − − = nnm, (5.13) где TmmmEUω ω r r 2 − = , данная nn× матрица A за 1 − n шаг будет приведена к треугольной матрице R , если задающие матрицы Хаусхолдера mU векторы mω r по данной матрице A строить следующим образом. При 1 = m вектор 1 ω r определяется равенством ) ,..., , ( 1 21 1 11 1 1 nTaasa− = µ ω r , (5.14) где ∑ = ⋅ − = niiaasigns1 2 1 11 1 ) ( , ) ( 2 1 11 1 1 1 ass− = µ (5.15) Такое задание 1 ω r обеспечивает ортогональность симметричной матрицы TEU1 1 1 2 ω ω r r − = и одновременное получение с ее помощью нужных 1 − n нулей в первом столбце матрицы 1 1 2 RUR= ( ) AU1 = . Элементы матрицы 2 R обозначим через ) 2 ( ijr . Далее при 2 = m строим вектор 2 ω r следующим образом: ) ,..., , , 0 ( ) 2 ( 2 ) 2 ( 32 2 ) 2 ( 22 2 2 nTrrsr− = µ ω r , (5.16) где ∑ = ⋅ − = niirrsigns2 2 ) 2 ( 2 ) 2 ( 22 2 ) ( ) ( , ) ( 2 1 ) 2 ( 22 2 2 2 rss− = µ (5.17) Такое задание T2 ω r обеспечивает ортогональность симметричной матрицы TEU2 2 2 2 ω ω r r − = и одновременное получение с ее помощью нужных 2 − n нулей во втором столбце матрицы 2 2 3 RUR= Вектор 3 ω r по матрице 3 R строится совершенно аналогично, только фиксируется нулевым не одна, а две первые его координаты, и определяющую роль играет теперь не второй, а третий столбец матрицы 3 R и 139 его третий элемент. При этом у матрицы 3 3 4 RUR= окажется 3 − n нулевых элемента в третьем столбце и сохранятся полученные на предыдущем шаге нули в первом и втором столбцах. Этот процесс очевидным образом может быть продолжен до исчерпания и без особого труда может быть описан общими формулами типа (5.13) – (5.17), для чего нужно лишь ввести обозначения для элементов последовательности матриц mR . Матрицу отражений часто обозначают буквой Н. Результат проделанных преобразований можно сформулировать в виде теоремы. Поделитесь с Вашими друзьями: |