К численному решению
Рассмотрим
где $$\mathbf{A}$$ — невырожденная ( $$\det \mathbf{A}\ne 0$$ ) квадратная матрица размером n x n
$$\mathbf{u}={\{u_1, \ldots , u_n \}}^T$$ — вектор-столбец решения, $$\mathbf{f}={\{f_1, \ldots , f_n \}}^T$$ — вектор-столбец правой части.
Так как матрица системы — невырожденная, $$\Delta = \det\mathbf{A}\ne 0$$, то решение системы (2.1) существует и единственно.
Из курса линейной алгебры [2.6] известно правило Крамера нахождения решения. Так, каждый компонент вектора неизвестных может быть вычислен как
$$$ u_i = \frac{\Delta_i}{\Delta }, $$$где $$\Delta _{i}$$ — i столбца столбцом правых частей. Однако несложные арифметические оценки позволяют понять, что использование этой формулы приводит к неоправданно большим затратам машинного времени [2.3]. Так, например, если одно слагаемое в $$\Delta$$ вычисляется за 10 -6 с, то время расчета для n = 100 на существующих в момент написания книги компьютерах будет измеряться годами.
На самом деле в настоящее время с помощью компьютеров численно решаются k, в зависимости от требуемой точности).
Однако неточность в задании правых частей и элементов матрицы $$\mathbf{A}$$ может приводить к значительным погрешностям при вычислении решения (2.1). В первой лекции на примере было показано, что такое явление наблюдается в случае плохо
Для этого напомним некоторые сведения из функционального анализа, которые понадобятся в дальнейшем.
В векторном n -мерном линейном нормированном пространстве
введем следующие
кубическая:
$${\|\mathbf{u}\|}_1 = \max\limits_{1 \le i \le n}|u_i|,$$октаэдрическая:
$${\|\mathbf{u}\|}_2 = \sum\limits_{i = 1}^n|u_i|,$$евклидова (в комплексном случае — эрмитова):
$${\|\mathbf{u}\|}_3 ={\left(\sum\limits_{i = 1}^n{|u_i|}^2\right)}^{1/2}={(\mathbf{u}, \mathbf{u})}^{1/2}.$$Рассмотрим квадратную матрицу $$\mathbf{A}$$ и связанное с ней линейное преобразование $$\mathbf{v}= \mathbf{Au}$$, где $$\mathbf{v}, \mathbf{u} \in L^n$$ ( Ln — n -мерное линейное нормированное пространство). Норма матрицы определяется как действительное неотрицательное число, характеризующее это преобразование и определяющееся как
Укажем некоторые свойства нормы матрицы:
$$\begin{gather*} \|\mathbf{A + B}\|= \|\mathbf{A}\|+ \|\mathbf{B}\|, \\ \|\mathbf{\lambda A}\|=|\lambda| \|\mathbf{A}\|, \\ \|\mathbf{AB}\| \le \|\mathbf{A}\| \|\mathbf{B}\|, \\ \|\mathbf{A}\|= 0 \text{ тогда и только тогда, когда }\mathbf{A}= 0. \end{gather*}$$Заметим, что норму матрицы (2.3) называют подчиненной
Нетрудно видеть, что подчиненная норма согласована с соответствующей метрикой векторного пространства. В самом деле
$$$ \|\mathbf{A}\|= \sup\limits_{\|\mathbf{u}\| \ne 0} \frac{\|\mathbf{Au}\|}{\|\mathbf{u}\|}\ge \frac{\|\mathbf{Au}\|}{\|\mathbf{u}\|}\mbox{ откуда }\|\mathbf{Au}\| \le \|\mathbf{A}\|\cdot \|\mathbf{u}\|. $$$Покажем, как получается выражение для
Вычислим
откуда$$\frac{{\|\mathbf{Au}\|}_1}{{\|\mathbf{u}\|}_1}\le \max\limits_i \sum\limits_j |{a_{ij}}|.$$ По определению нормы матрицы как точной верхней грани отношения$$\frac{\|\mathbf{Au}\|}{\|\mathbf{u}\|}, \max\limits_j \sum\limits_i{|{a_{ij}}|} = {\|\mathbf{A}\|}_1 ,$$ если существует вектор, на котором точная верхняя грань достигается.
Покажем, что таким вектором является, например,$${\mathbf{v}}_k = \{sign a_{k1}, \ldots , sign a_{kn}\}^T,$$
при этом допустим, что максимум в последнем неравенстве достигается при i = k.
Поскольку $$\|{\mathbf{v}}_k\|= k$$, то $$\sum\limits_j{a_{kj}v_j} = \sum\limits_j {|a_{kj}|} = \max\limits_i \sum\limits_j{|{a_{ij}}|}.$$
Тогда, в соответствии с выражением для первой
Таким образом, точная верхняя грань в рассмотренном неравенстве достижима и действительно $${\|\mathbf{A}\|}_1 = \max \sum\limits_j{|{a_{ij}}|}.$$
Для третьей нормы (2.2в)$$$ {\|\mathbf{A}\|}_3 = \sup\limits_\mathbf{u}\frac{{\|\mathbf{Au}\|}_3}{{\|\mathbf{u}\|}_3}= \sup\limits_\mathbf{u} \sqrt{\frac{(\mathbf{Au,Au})}{(\mathbf{u,u})}}= \\ = \sup\limits_\mathbf{u}\sqrt{\frac{(\mathbf{A}^*\mathbf{Au,u})}{(\mathbf{u,u})}} $$$
Заметим, что матрица $$\mathbf{B}= \mathbf{A}^*\mathbf{A}$$ — симметричная. Без ограничения общности предположим, что все собственные числа матрицы различны. Матрица обладает всеми действительными собственными значениями, и каждому собственному числу соответствует собственный вектор. Все собственные векторы взаимно ортогональны. Можно рассмотреть ортонормированную систему собственных векторов $$\omega _{1}, \dots , \omega _{n}; \lambda _{1}, \dots , \lambda _{n}$$ — соответствующие им собственные значения. Любой вектор $$\mathbf{u}$$ можно представить в виде своего разложения по базису из собственных векторов: $$\sum\limits_i{\xi_i\omega_i}.$$ Кроме того, $$(\mathbf{A}^*\mathbf{A})\omega_i = \lambda_i \omega_i.$$ Поэтому
$$$ \sup\limits_{\|\mathbf{u}\| \ne 0}\sqrt{\frac{(\mathbf{A}^* \mathbf{Au,Au})}{(\mathbf{u,u})}} = \sup\limits_{\|\mathbf{u}\| \ne 0}\sqrt{\sum\limits_i \frac{(\lambda_i\xi_i \omega_i, \xi_i \omega_i)}{(\xi_i\omega_i, \xi_i\omega_i)}} = \\ = \sup\limits_{\|\mathbf{u}\| \ne 0}\sqrt{\frac{\sum \lambda_i{\xi}^2_i}{\sum {\xi}^2_i}} = \sqrt{\max \lambda_i (\mathbf{A}^* \mathbf{A})}, $$$причем точная верхняя грань достигается при $$\mathbf{u}= \omega_i.$$ Действительно,
$$$ \sup\limits_u \sqrt{\frac{(\mathbf{A}^* \mathbf{A}\omega_i, \omega_i)}{(\omega_i, \omega_i)}} = \sup\limits_u \sqrt{\lambda^i (\mathbf{A}^*\mathbf{A})} = \sqrt{\max\limits_i {\lambda_i (\mathbf{A}^* \mathbf{A})}}, $$$т.к. $$\mathbf{A}^*\mathbf{A}\omega_i = \lambda_i \omega_i$$, откуда $$(\mathbf{A}^* \mathbf{A}\omega_i, \omega_i) = \lambda_i (\omega_i, \omega_i)$$,
$$$ \frac{(\mathbf{A}^*\mathbf{A}\omega_i, \omega_i)}{(\omega_i, \omega_i)} = \lambda_i. $$$В важном частном случае симметричной (самосопряженной) матрицы $$\mathbf{A}$$ имеем $$\lambda_{\mathbf{A}^* \mathbf{A}}^i = \lambda_{{\mathbf{A}}^2}^i = {|{\lambda_{\mathbf{A}}^i}|}^2$$, поэтому $${\|\mathbf{A}\|}_3 = \max\limits_i |{\lambda_{\mathbf{A}}^i}|.$$
Понятия
рассматривается система
$$(\mathbf{A}+ \Delta\mathbf{A})(\mathbf{u}+ \Delta\mathbf{u}) = \mathbf{f}+ \Delta\mathbf{f}.$$Теорема. Пусть правая часть и невырожденная матрица
Доказательство.
Из (2.5) следует, что $$\Delta\mathbf{u} = {\mathbf{A}}^{- 1}(\Delta\mathbf{f}- \Delta\mathbf{A} \mathbf{u}- \Delta\mathbf{A} \Delta\mathbf{u}).$$ Переходя в этом равенстве к норме и использовав неравенство треугольника, получаем
$$$ \|{\Delta\mathbf{u}}\| \le \left\|{\mathbf{A}^{- 1}}\right\| \|{\Delta\mathbf{f}}\| + \left\|{\mathbf{A}^{- 1}}\right\| \|{\Delta\mathbf{A}}\| \|\mathbf{u}\| + \left\|{\mathbf{A}^{- 1}}\right\| \|{\Delta\mathbf{A}}\| \|{\Delta\mathbf{u}}\| , \mbox{ или } \\ \|{\Delta\mathbf{u}}\| \le \left\|{\mathbf{A}^{- 1}}\| \frac{\|\Delta\mathbf{f}\|}{\|\mathbf{f}\|} \|\mathbf{f}\| + \left\|{\mathbf{A}^{- 1}}\right\| \frac{\|\Delta\mathbf{A}\|}{\|\mathbf{A}\|} \|\mathbf{A}\| \|\mathbf{u}\| + \left\|{\mathbf{A}^{- 1}}\right\| \frac{\|\Delta\mathbf{A}\|}{\|\mathbf{A}\|} \|\Delta\mathbf{u}\|. $$$Вводя обозначение $$\mu (\mathbf{A}) = \left\|{\mathbf{A}^{- 1}}\right\| \cdot \|\mathbf{A}\|$$, перепишем последнее равенство в виде
$$$ \|\Delta\mathbf{u}\| \left(1 - \mu \frac{\|\Delta\mathbf{A}\|} {\|\mathbf{A}\|}\right) \le \mu \frac{\|\Delta \mathbf{f}\|}{\|\mathbf{f}\|} \frac{\|\mathbf{f}\|}{\|\mathbf{A}\|} + \mu \cdot \frac{\|\Delta \mathbf{A}\|} {\|\mathbf{A}\|} \|\mathbf{u}\| \le \\ \le \mu \frac{\|\Delta\mathbf{f}\|}{\|\mathbf{f}\|} \|\mathbf{u}\| + \mu \frac{\|\Delta\mathbf{A}\|}{\|\mathbf{A}\|} \|\mathbf{u}\| = \mu \left(\frac{\|\Delta\mathbf{f}\|}{\|\mathbf{f}\|} + \frac{\|\Delta\mathbf{A}\|}{\|\mathbf{A}\|}\right) \|\mathbf{u}\| . $$$Заметим, что $$$ \frac{\|\mathbf{f}\|}{\|\mathbf{A}\|} \le \|\mathbf{u}\| $$$ т.к. $$\|\mathbf{f}\| = \|\mathbf{Au}\| \le \|\mathbf{A}\| \cdot \|\mathbf{u}\|.$$
Тогда для оценки относительной погрешности решения окончательно получим
$$$ \frac{\|\Delta\mathbf{u}\|}{\|\mathbf{u}\|} \le \frac{\mu} {1 - \mu \frac{\|\Delta\mathbf{A}\|}{\|\mathbf{A}\|}} (\frac{\|\Delta\mathbf{f}\|}{\|\mathbf{f}\|} + \frac{\|\Delta\mathbf{A}\|}{\|\mathbf{A}\|}). $$$При $$\Delta A \approx 0$$ получаем оценку при наличии погрешности только правых частей
$$$ \frac{\|\Delta\mathbf{u}\|}{\|\mathbf{u}\|} \le \mu \frac{\|\mathbf{\Delta f}\|}{\|\mathbf{f}\|},$$$если в (2.5) положить $$\Delta\mathbf{A} \cdot \Delta \mathbf{u} \approx 0$$, то
$$$ \frac{\|\Delta\mathbf{u}\|}{\|\mathbf{u}\|} \le \mu (\frac{\|\Delta\mathbf{f}\|}{\|\mathbf{f}\|} + \frac{\|\Delta\mathbf{A}\|}{\|\mathbf{A}\|}). $$$В результате получено важное соотношение, показывающее, на сколько возрастают относительные ошибки решения
Величина
$$\mu (\mathbf{A}) = \left\|{\mathbf{A}^{- 1}}\right\| \|\mathbf{A}\|}$$называется
При $$\mu \approx 1 \div 10$$ ошибки входных данных слабо сказываются на решении и система (2.1) считается хорошо обусловленной. При $$\mu > > 10^{2} \div 10^{3}$$
Пример. Решением системы
$$\left\{ \begin{array}{l} 100u + 99v = 199 \\ 99u + 98v = 197 \\ \end{array} \right.$$будет пара чисел u = v = 1.
Внесем возмущение в правые части системы:
$$\left\{ \begin{array}{l} 100u + 99v = 198,99 \\ 99u + 98v = 197,01. \\ \end{array} \right.$$При этом решение заметно изменится: u = 2,97; v = -0,99. Воспользовавшись выбранными
Значит, $$$ \delta u = \frac{\|\Delta\mathbf{u}\|}{\|\mathbf{u}\|} \le \mu \frac{\|\Delta\mathbf{f}\|}{\|\mathbf{f}\|} \approx 4 \cdot 10^4 \cdot \frac{10^{- 4}}{2}= 2 $$$, что согласуется с результатами решения возмущенной и невозмущенной задач. Для невозмущенной задачи $$\|\Delta\mathbf{u}\| \approx 2$$, $$\|\mathbf{u}\| = 1.$$
Рассмотрим еще одно важное свойство.
Далее,
$$$ \sup\limits_\mathbf{f} \left\|{\mathbf{A}^{- 1}}\right\| \cdot \frac{\|\mathbf{f}\|}{\|\mathbf{u}\|} = \left\|{\mathbf{A}^{- 1}}\right\| \cdot \sup\limits_\mathbf{f} \frac{\|A\mathbf{u}\|}{\|\mathbf{u}\|} = \left\|{\mathbf{A}^{- 1}}\right\| \cdot \|\mathbf{A}\| = \mu (\mathbf{A}), $$$с другой стороны
$$$ \inf\limits_\mathbf{f}\nu (\mathbf{f}) = \inf\limits_\mathbf{f} \left\|{\mathbf{A}^{- 1}}\right\| \cdot \frac{\|\mathbf{f}\|}{\|\mathbf{u}\|} = \inf\limits_\mathbf{f} \left\|{\mathbf{A}^{- 1}}\right\| \sup\limits_\mathbf{f} {\left(\frac{\|\mathbf{u}\|}{\|\mathbf{f}\|}\right)}^{- 1} = \\ = \left\|{\mathbf{A}^{- 1}}\right\| {\left(\sup\limits_\mathbf{f}\frac{\left\|{\mathbf{A}^{- 1}\mathbf{f}}\right\|}{\|\mathbf{f}\|}\right)}^{- 1} = 1.$$$Параметр $$\nu (\mathbf{f})$$, характеризующий
Можно также показать, что для симметричной матрицы $$\mathbf{A}$$ имеет место $$\mu = \left|{\max\limits_k \lambda_{\mathbf{A}}^k}\right| /
\left|{\min\limits_k \lambda_{\mathbf{A}}^k}\right\|$$, т.е.
Трудность численного решения рассматриваемых n линейных уравнений, каждое из которых содержит лишь одну неизвестную величину. Для диагональной системы очевидны явные формулы
В случае треугольной матрицы
$$\mathbf{A}= \left( \begin{array}{cccc} a_{11} a_{12} \ldots a_{1n} \\ 0 a_{22} \ldots a_{2n} \\ \ldots \ldots \ldots \ldots \\ 0 0 \ldots a_{nn} \end{array} \right)$$из последнего уравнения получаем $$u_n = f_n /a_{nn}, (a_{ii} \ne 0 \mbox{, т.к. } \Delta =\det \mathbf{A} \ne 0).$$
Решая систему линейных уравнений с треугольной матрицей "снизу
вверх", для uk имеем
Можно оценить количество арифметических действий, затрачиваемых на решение
такой системы. Оно составляет O(n2) .
Пусть теперь система уравнений имеет матрицу общего вида. Стандартная схема такого решения разделяется на два этапа: прямой ход — приведение матрицы к треугольному виду, и обратный — вычисление решения системы.
Рассматривается система уравнений
$$\left\{ \begin{array}{ccc} {a_{11}u_1 + a_{12}u_2 + \ldots + a_{1n}u_n = f_1 ,} \\ {a_{21}u_1 + a_{22}u_2 + \ldots + a_{2n}u_n = f_2 ,} \\ \ldots \\ {a_{n1}u_1 + a_{n2}u_2 + \ldots + a_{nn}u_n = f_n .} \\ \end{array} \right.$$Прямой ход u1 из всех уравнений, начиная со второго,
для чего ко второму уравнению прибавим первое, умноженное на $$-a_{21}/a_{11} = - \eta _{21}$$, к третьему прибавим первое, умноженное на $$-a_{31}/a_{11} = - \eta _{31}$$ и т.д. После этих преобразований получим эквивалентную систему:
в которой коэффициенты и правые части определяются следующим образом:
$$a_{ij}^1 = a_{ij}- \eta_{i1}a_{1j};\quad f_i^1 = f_i - \eta_{i1}f_1;\quad i,j = 2, \ldots , n.$$Теперь положим $$a_{22}^1 \ne 0.$$ Аналогично, вычислив множители второго шага $$- a_{i2}^1/a_{22}^1 = -\eta_{i2}\quad (i = 3, \ldots , n)$$,
исключаем u2 из последних (n - 2) уравнений системы (2.17). В результате преобразований получим новую эквивалентную систему уравнений
в которой $$a_{ij}^2 = a_{ij}^1 - \eta_{i2}a_{2j}^1;\quad f_i^2 = f_i^1 - \eta_{i2}f_2^1;\quad i,j = 3, \ldots , n.$$ Продолжая алгоритм, т.е. исключая ui (i = k + 1, ..., n), приходим на n - 1 шаге к системе с треугольной матрицей
Обратный ход un ; подставляем это значение в предпоследнее уравнение, получим un-1. Поступая так и далее, последовательно находим un-2, un-3, ..., u1. Вычисления компонент вектора решения проводятся по формулам
Этот алгоритм прост и легко реализуем при условии, что $$a_{11} \ne 0$$, $$a_{22} \ne 0$$ и т.д. Количество арифметических действий прямого хода $$\approx 2/3n^{3}$$, обратного $$\approx n^{2}.$$ Это уже приемлемая для современных компьютеров величина.
Рассмотрим
Введем новую матрицу
$${\mathbf{N}}_1 = \left(\begin{array}{ccccc} 1 0 0 \ldots 0 \\ - \eta_{21} 1 0 \ldots 0 \\ - \eta_{31} 0 1 \ldots 0 \\ \ldots \ldots \ldots \ldots \ldots \\ - \eta_{n1} 0 0 \ldots 1 \\ \end{array} \right).$$Очевидно, $${\mathbf{A}}_1={\mathbf{N}}_1\mathbf{A}$$, $${\mathbf{f}}_1={\mathbf{N}}_1\mathbf{f}.$$ Аналогично, после второго шага система приводится к виду $${\mathbf{A}}_2\mathbf{u}={\mathbf{f}}_2$$, где $${\mathbf{A}}_2={\mathbf{N}}_2{\mathbf{A}}_1$$, $${\mathbf{f}}_2={\mathbf{N}}_2{\mathbf{f}}_1$$,
$${\mathbf{A}}_1 = \left( \begin{array}{ccccc} a_{11} a_{12} a_{13} \ldots a_{1n} \\ 0 a_{22}^1 a_{23}^1 \ldots a_{2n}^1 \\ 0 0 a_{33}^2 \ldots a_{3n}^2 \\ \ldots \ldots \ldots \ldots \ldots \\ 0 0 a_{n3}^2 \ldots a_{nn}^2 \\ \end{array} \right), \quad {\mathbf{N}}_2 = \left( \begin{array}{ccccc} 1 0 0 \ldots 0 \\ 0 1 0 \ldots 0 \\ 0 - \eta_{32} 1 \ldots 0 \\ \ldots \ldots \ldots \ldots \ldots \\ 0 - \eta_{n2} 0 \ldots 1 \\ \end{array} \right), \\ {{\mathbf{f}}_2} = \left\{{f_1, f_2^1, f_3^2, \ldots , f_n^2}\right\}^T.$$После n - 1 шага получим $${\mathbf{A}}_{n - 1}\mathbf{u} = {\mathbf{f}}_{n - 1}, {\mathbf{A}}_{n - 1} = {\mathbf{N}}_{n - 1} \cdot {\mathbf{A}}_{n - 2}, {\mathbf{f}}_{n - 1} = {\mathbf{N}}_{n - 1}{\mathbf{f}}_{n - 2}$$,
В итоге получаются матрица и вектор $${\mathbf{A}}_{n - 1} = {\mathbf{N}}_{n - 1} \ldots {\mathbf{N}}_2{\mathbf{N}}_1\mathbf{A}$$, $${\mathbf{f}}_{(n - 1)} = {\mathbf{N}}_{n - 1} \ldots {\mathbf{N}}_2{\mathbf{N}}_1\mathbf{f}$$, откуда $$\mathbf{A}={\mathbf{N}}_1^{- 1}{\mathbf{N}}_2^{- 1} \ldots {\mathbf{N}}_{n - 1}^{- 1} \cdot {\mathbf{A}}_{n - 1}.$$ При этом
$${\mathbf{N}}_1^{- 1}= \left( \begin{array}{ccccc} 1 0 0 \ldots 0 \\ \eta_{21} 1 0 \ldots 0 \\ \eta_{31} 0 1 \ldots 0 \\ \ldots \ldots \ldots \ldots \ldots \\ \eta_{n1} 0 0 \ldots 1 \\ \end{array} \right),\quad {\mathbf{N}}_2^{- 1}= \left( \begin{array}{ccccc} 1 0 0 \ldots 0 \\ 0 1 0 \ldots 0 \\ 0 \eta_{32} 1 \ldots 0 \\ \ldots \ldots \ldots \ldots \ldots \\ 0 \eta_{n2} 0 \ldots 1 \\ \end{array} \right), \\ {\mathbf{N}}_{n - 1}^{- 1}= \left( \begin{array}{ccccc} 1 0 \ldots 0 0 \\ 0 1 \ldots 0 0 \\ \ldots \ldots \ldots \ldots \ldots \\ 0 0 \ldots 1 0 \\ 0 0 \ldots \eta_{n,n}- 1} 1 \\ \end{array} \right).$$После введения обозначений $$\mathbf{U} = {\mathbf{A}}_{n - 1}$$, $$\mathbf{L} = {\mathbf{N}}_1^{- 1}{\mathbf{N}}_2^{- 1} \ldots {\mathbf{N}}_{n - 1}^{- 1}$$, где
$$\mathbf{L} = \left( \begin{array}{ccccc} 1 0 0 \ldots 0 \\ \eta_{21} 1 0 \ldots 0 \\ \eta_{31} \eta_{32} 1 \ldots 0 \\ \ldots \ldots \ldots \ldots \ldots \\ \eta_{n1} \eta_{n2} \eta_{n3} \ldots 1 \\ \end{array} \right),$$получим $$\mathbf{A} = \mathbf{LU}.$$
Вспомним "отрицательный" пример из лекции 1. Пусть необходимо решить систему
$$\begin{gather*} -10^{- 7}u_1 + u_2 = 1, \\ u_1 + 2u_2 = 4. \end{gather*}$$Исключая u1 из первого уравнения и подставляя во второе, получим u2 = (107 + 4)/(107 + 2). После вычислений с семью значащими цифрами получаем u1 = 0,000000, u2 = 1,000000, что неверно (см. второе уравнение). Теперь исключим u1 из второго уравнения и подставим в первое. При этом получим $$$ u_2 = \frac{1 + 4 \cdot 10^{- 7}}{1 + 2 \cdot 10^{- 7}} $.$$ После вычислений с той же точностью имеем: u2 = 1,000000, u1 = 2,000000, что является правильным решением (с заданным количеством значащих цифр).
В реальных вычислениях используются методы с u1 отыскивается $$\max\limits_i|{a_{i1}}|.$$ Пусть максимум достигается при i = k. В этом случае меняются местами первое и k уравнения (или в матрице меняются местами две строки) и реализуется процедура исключения.
Затем отыскивается $$\max\limits_i|{a_{i2}^1}|$$, и процедура поиска u1 отыскивается $$\max\limits_j|{a_{kj}}|.$$ Если максимум достигается при i = k, то у u1 и uk меняются номера, то есть максимальный элемент из коэффициентов первого уравнения окажется на месте a11, и т.д. Наиболее эффективным является i = 1, ..., n, при выполнении которого проблемы, появляющиеся в
Полученное решение можно улучшить следующим образом. Пусть $${\mathbf{r}}^1 = \mathbf{f} - {\mathbf{Au}}^1$$ есть невязка, допущенная при решении рассматриваемой системы ( $${\mathbf{u}}^1$$ — полученное численное решение) за счет ошибки округлений. Очевидно, что погрешность $${\mathbf{\varepsilon}}^1 = \mathbf{u} - {\mathbf{u}}^1$$ удовлетворяет
Решив последнюю систему, получаем $$\mathbf{\varepsilon}^1$$, после чего уточняем решение:
$${\mathbf{u}}^2 = {\mathbf{u}}^1 + {\mathbf{\varepsilon }}^1.$$Эту процедуру можно продолжить.
В приложениях часто возникают системы линейных уравнений с матрицами
специального вида. В дальнейшем, например, при интерполяции функции сплайнами, при решении
Среди
Если матрица $$\mathbf{A}$$ представима в виде произведений матриц $$\mathbf{LU}$$, то
Перепишем (2.13), вводя вспомогательный вектор $$\mathbf{v}$$, в следующем виде
$$\mathbf{Lv} = \mathbf{f},\quad \mathbf{Uu} = \mathbf{v}.$$Решение
откуда можно вычислить все vk последовательно по формулам
Далее рассмотрим систему $$\mathbf{Uu} = \mathbf{v}$$ или
$$\left\{ \begin{array}{l} d_{11}u_1 + d_2 u_2 + \ldots + d_{1n} u_n = v_1 , \\ d_{22}u_2 + \ldots + d_{2n} u_n = v_2 , \\ \ldots \\ d_{nn}u_n = v_n , \\ \end{array} \right.$$решение которой находится в обратном порядке, т.е. при k = n - 1, ..., 1 по очевидным формулам $$u_k = d_{kk}^{- 1}(v_k - \sum\limits_{j = k + 1}^n{d_{kj}u_j )}.$$ Условия существования такого разложения даются следующей
теоремой [2.5] (без доказательства).
Теорема. Если все главные миноры квадратной матрицы $$\mathbf{A}$$ отличны от нуля, то существуют единственные нижняя и верхняя треугольные матрицы $$\mathbf{L} = l_{ij}$$ и $$\mathbf{U} = d_{ij}$$ такие, что $$\mathbf{A}= \mathbf{LU}.$$ При этом все диагональные коэффициенты матрицы $$\mathbf{L}$$ фиксированы и равны единице.
Опишем алгоритм нахождения элементов lijdij матриц $$\mathbf{L}, \mathbf{U}.$$ Выписав равенство $$\mathbf{A} = \mathbf{LU}$$ в компонентах, получим
Выполнив умножение матриц, приходим к системе линейных уравнений размером n x n:
относительно неизвестных d11, d12, ..., d1n, l21, d22, ..., d2n, ln1, ln2, ..., dnn.
Специфика этой системы позволяет решить ее последовательно. Из первой
строки находим d1j= a1j(j = 1, ..., n).
Из уравнений, входящих в первый столбец приведенной выше системы, находим li1= ai1/d11, i = 1, ...dots, n. Теперь можно из уравнений второй строки найти d2j= a2j- l21d1j, j = 2, ..., n, а из уравнений, входящих во второй столбец, получим $$l_{i2}= d_{22}^{-1}(a_{i2}- l_{i1}d_{12}), i = 2, \ldots, n$$ и так далее. Последним вычисляется элемент
Можно выписать общий вид этих формул:
$$\begin{gather*} d_{ij}= a_{ij} - \sum\limits_{k = 1}^{j - 1}{l_{ik}d_{kj}},\quad i \le j, \\ l_{ij}= d_{ij}^{- 1}\left({a_{ij} - \sum\limits_{k = 1}^{j - 1}{l_{ik}d_{kj}}}\right),\quad i > j. \end{gather*}$$Приведение матриц к треугольному виду аналогично приведению матрицы в O(n3), точнее, $$\approx 2n^{3}.$$
Пусть матрица рассматриваемой линейной системы $$\mathbf{A}$$
— симметричная, т.е. aij = aji, положительная матрица. Тогда она представима в виде $$\mathbf{A} = \mathbf{LL}^T$$, где
Далее, как и в случае 2n2 арифметических действий.
Первая из этих линейных систем
$$\begin{gather*} l_{11}v_1 = f_1 ,\\ l_{12}v_1 + l_{22}v_2 = f_2 ,\\ \ldots\\ l_{1n}v_1 + l_{2n}v_2 + \ldots + l_{nn}v_n = f_n , \end{gather*}$$она легко решается. Для решения получаем очевидные формулы
$$v_i = l_{ii}^{- 1}(f_i - \sum\limits_{k = 1}^{i-1}{l_{ki}}v_k )},\quad i = 1,\ldots, n.$$Вторая система уравнений есть
l11u1 + l12u2 + ... + l1nun = v1 , l22u2 + ... + l2nun = v2, ... lnnun = vn.
Из нее находим значения переменных ui в обратном порядке по формуле
Определенной опасностью при реализации этого метода являются возможная
близость к нулю lii и отрицательность подкоренных выражений при вычислении lii (последнего не должно быть при симметричной положительной матрице $$\mathbf{A}$$ )
Элементы матрицы $$\mathbf{L}$$ находим из уравнения $${\mathbf{LL}}^T = \mathbf{A}$$, приравнивая соответствующие элементы матриц $${\mathbf{LL}}^T$$ и $$\mathbf{A}.$$ В результате получим систему уравнений
$$\begin{gather*} l_{11}^2 = a_{11}, \\ l_{i1}l_{11} = a_{i1}, i = 2, \ldots ,n, \\ l_{21}^2 + l_{22}^2 = a_{22}, \\ l_{i1}l_{21} + l_{i2}l_{22} = a_{i2}, i = 3, \ldots , n, \\ \ldots\\ l_{k1}^2 + l_{k2}^2 + \ldots + l_{kk}^2 = a_{kk}, \\ l_{i1}l_{k1} + l_{i2}l_{k2} + \ldots + l_{ik}l_{kk} = a_{kk}, i = k + 1, \ldots , n. \end{gather*}$$Решение этой системы легко находится:
$$\begin{gather*} l_{11} = \sqrt{a_{11}},\\ l_{i1} = a_{i1}/l_{11}, i = 2, \ldots , n, \\ l_{22} = \sqrt{a_{22}- l_{21}^2}, \\ l_{i2} = (a_{i2}- l_{i1}l_{21})/l_{22}, i = 3, \ldots ,n, \\ \ldots \\ l_{kk} = \sqrt{a_{kk}- l_{k1}^2 - l_{k2}^2 - \ldots - l_{k,k - 1}^2}, \\ l_{ik} = (a_{ik}- l_{i1}l_{k1}- l_{i2}l_{k2}- \ldots - l_{i,k - 1}l_{k,k - 1})/l_{kk},i = k + 1, \ldots , n, \end{gather*}$$Метод также называется методом квадратного корня.
Внимание! Не следует путать матрицу (оператор) $$\mathbf{L}$$ с оператором $$\mathbf{A}^{1/2}$$ — квадратным корнем из самосопряженного положительного оператора.
Рассмотрим
Проведем несколько равносильных преобразований. Умножим обе части системы на один и тот же скалярный множитель $$\tau,$$ затем прибавим к правой и левой частям системы вектор $$\mathbf{u}.$$ Систему уравнений можно теперь записать в виде, удобном для итераций:
$$\mathbf{u}= \mathbf{Bu}+ \mathbf{F},$$где $$\mathbf{B} = \mathbf{E} - \tau \mathbf{A},\quad \mathbf{F} = \tau \mathbf{f}.$$
Теперь построим последовательность приближений к решению системы. Выберем произвольный вектор $${\mathbf{u}}_0$$ — начальное приближение к решению. Чаще всего его просто полагают нулевым вектором. Скорее всего, начальное приближение не удовлетворяет (2.15) и, следовательно, исходной системе. При подстановке его в исходное уравнение возникает невязка $${\mathbf{r}}_0 = \mathbf{f} - \mathbf{A}{\mathbf{u}}_0.$$ Вычислив невязку, с помощью (2.15) можно уточнить приближение к решению, считая, что
$${\mathbf{u}}_1 ={\mathbf{u}}_0 + \tau{\mathbf{r}}_0.$$По первому приближению снова вычисляется невязка, процесс продолжается. В
ходе итерации получаем $${\mathbf{u}}_{k + 1} = {\mathbf{u}}_k + \tau{\mathbf{r}}_k, {\mathbf{r}}_k = \mathbf{f} - {\mathbf{Au}}_k.$$ Эквивалентная формулировка метода, называемого
$${\mathbf{u}}_0 = 0$$ (или любому произвольному вектору). Если предел
такой последовательности существует, то говорят о сходимости итерационного процесса к решению
Существуют другие формы записи
Канонической формой записи двухслойного итерационного процесса называется следующая:
$$$ {\mathbf{D}}_{k + 1}\frac{{\mathbf{u}}_{k + 1} - {\mathbf{u}}_k}{\tau_{k + 1}} + {\mathbf{Au}}_k = \mathbf{f}. $$$При $${\mathbf{D}}_k = {\mathbf{E}}$$, $$\tau _{k} = \tau$$ последняя формула соответствует однопараметрическому итерационному процессу — рассмотренному выше n -шаговому явному итерационному процессу,
при $${\mathbf{D}}_k = \mathbf{D^{\prime}}$$, $$\tau _{k} = 1$$ —
Теорема (достаточное условие сходимости
Доказательство.
Пусть $$\mathbf{U}$$ — точное решение системы (2). Вычитая из (2.16)-(2.15), получим $${\mathbf{u}}_k - {\mathbf{U}} = \mathbf{B}({\mathbf{u}}_{k - 1} - \mathbf{U})$$, или, обозначив погрешность $${\mathbf{\varepsilon }}_k = {\mathbf{u}}_k - {\mathbf{U}}$$, получим для эволюции погрешности уравнение $${\mathbf{\varepsilon}}_k = {\mathbf{B\varepsilon}}_{k - 1}.$$ Справедлива цепочка неравенств: $$\|{{\mathbf{u}}_k - {\mathbf{U}}}\| = \|{{\mathbf{\varepsilon}}_k}\| \le \|{\mathbf{B}}\| \cdot \|{{\mathbf{\varepsilon}}_{k - 1}}\| \le q\|{{\mathbf{\varepsilon}}_{k - 1}}\| \le \ldots \le q^k\|{{\mathbf{\varepsilon}}_0}\| = q^k\|{{\mathbf{u}}_0 - {\mathbf{U}}}\|$$, где $$0 < q \le \|{\mathbf{B}}\|.$$
Отсюда следует, что при $$q < 1 \lim\limits_{k \to \infty}{\mathbf{u}}_k = \mathbf{U}.$$
Из неравенства $$\|{{\mathbf{\varepsilon}}_k}\| \le q^k\|{{\mathbf{\varepsilon}}_0}\|$$ можно получить оценку количества итераций,необходимых для достижения точности $$\varepsilon,$$ т.е. для выполнения условия $$\|{{\mathbf{u}}_k - \mathbf{U}}\| = \|{{\mathbf{\varepsilon}}_k}\| \le \varepsilon.$$ Эта оценка имеет вид $$$ k \ge \left({\ln{\frac{\mathbf{\varepsilon}}{\|{{\mathbf{\varepsilon}}_0}\|}}}\right)/\ln{q} $.$$
Теорема (критерий сходимости
Сравним по количеству арифметических действий i — число приближений, необходимое для достижения заданной точности. Значит, при I < n/3 метод итераций становится предпочтительнее. В реальных задачах, в основном, $$I \ll n.$$ Кроме того,
Будем трактовать суммарный эффект ошибок округления при выполнении одного итерационного шага как возмущение правой части в итерационном процессе
$${\mathbf{u}}_k = {\mathbf{Bu}}_{k - 1} + {\mathbf{F}}.$$Результат вычислений на каждой итерации при наличии ошибок округления представим в виде
$${\mathbf{u}}_k^M = {\mathbf{Bu}}_{k - 1}^M + {\mathbf{F}} + {\mathbf{\delta }}_k,$$где $${\mathbf{\delta }}_k$$ — суммарная погрешность округления. Норму разности между реальным и идеальным (т.е. в отсутствии ошибки округления) результатами расчетов получим, вычитая (2.19) из (2.20). Учтем, что $$\|\mathbf{B}\| < q < 1$$,
$$\begin{multline*} \|{{\mathbf{u}}_k^M - {\mathbf{u}}_k}\| \le q \|{{\mathbf{u}}_{k - 1}^M - {\mathbf{u}}_{k - 1}}\| + \\ + \|{{\mathbf{\delta }}_k}\| \le q^2\|{{\mathbf{u}}_{k - 2}^M - {\mathbf{u}}_{k - 2}}\| + q\|{{\mathbf{\delta }}_{k - 1}}\| + \|{{\mathbf{\delta }}_k}\| \le \ldots \le q^k\|{{\mathbf{u}}_0^M - {\mathbf{u}}_0}\| + \\ + (\max\limits_i \|{{\mathbf{\delta }}_i}\|) (1 + q + \ldots + q^{k - 1}), i = 1, \ldots, k. \end{multline*} $$Так как начальное приближение задано точно $$\|{{\mathbf{u}}_0^M - {\mathbf{u}}_0}\| = 0.$$ Обозначим $$\delta = \max\limits_i \|{{\mathbf{\delta }}_i}\|$$ и вычислим сумму членов геометрической прогрессии. Получим $$$ \|{{\mathbf{u}}_k^M - {\mathbf{u}}_k}\| \le \delta \frac{q^k - 1}{q - 1} \le \frac{\delta }{1 - q} $$$, то есть погрешность, вносимая в решение из-за конечной разрядности мантиссы, не зависит от количества итераций. Этот результат является характеристикой устойчивости рассматриваемого вычислительного процесса.
Представим матрицу $$\mathbf{A}$$ в виде
$$\mathbf{A} = \mathbf{L} + \mathbf{D} + \mathbf{U},$$где $$\mathbf{L}$$ и $$\mathbf{U}$$ — нижняя и верхняя
треугольные матрицы с нулевыми элементами на главной диагонали, $$\mathbf{D}$$ — диагональная матрица. Рассматриваемая
Построим два
и
$$\mathbf{Lu}_{k+1} + \mathbf{Du}_{k+1} + \mathbf{Uu}_k = \mathbf{f},$$или, соответственно,
$${\mathbf{u}}_{k+1} = -\mathbf{D}^{- 1}(\mathbf{L} + \mathbf{U}){\mathbf{u}}_k + \mathbf{D}^{-1}\mathbf{f}$$и
$${\mathbf{u}}_{k+1} = -(\mathbf{L} + \mathbf{D})^{- 1}{\mathbf{Uu}}_k + (\mathbf{L} + \mathbf{D})^{-1}\mathbf{f}.$$Очевидно, что эти формулы описывают итерационные процессы вида (2.16), если положить в (2.22)
$$\mathbf{B} = -\mathbf{D}^{-1}(\mathbf{L} + \mathbf{U}), \mathbf{F} = \mathbf{D}^{-1}\mathbf{f}$$или
$$\mathbf{B} = -(\mathbf{L}+\mathbf{D})^{-1}\mathbf{U}, \mathbf{F} = (\mathbf{L} + \mathbf{D})^{-1}\mathbf{f}.$$k вверх):
Эти формулы легко выводятся, если учесть, что элементами матрицы D -1 являются $$d_{ii} = a_{ii}^{- 1}.$$
Теорема (достаточное условие сходимости
Доказательство.
Выполненные условия (2.24) означает, что в любой строке
сумма модулей элементов меньше единицы. В этом случае по крайней мере одна из норм матрицы $$\mathbf{B}$$ меньше единицы. Тогда выполняется достаточное условие сходимости
Теорема (критерий сходимости
по модулю не превосходили единицы.
Доказательство.
Легко проверить, что в силу диагональности $$\mathbf{D}$$ имеет место
$$\det ({\mathbf{B}}- \lambda {\mathbf{E}}) = \det \left[{-{\mathbf{D}}^{- 1}({\mathbf{L}} + {\mathbf{U}}) - \lambda {\mathbf{E}}}\right] = \det ( -{\mathbf{D}}^{- 1}) \cdot \det \left[{({\mathbf{L}} + {\mathbf{U}}) +{\mathbf{D}}\lambda}\right].$$Собственными значениями матрицы $$\mathbf{B} = -\mathbf{D}^{- 1}(\mathbf{L} + \mathbf{U})$$ являются корни уравнения
$$\det \left[{({\mathbf{L}}+{\mathbf{U}}) + {\mathbf{D}}\lambda}\right] = 0,$$которые в соответствии с критерием сходимости
Аналогичную теорему можно доказать и для
Теорема (достаточное условие сходимости
Доказательство этой теоремы сводится к проверке того, что выполнение
условий теоремы для матрицы $$\mathbf{A}= \mathbf{L} + \mathbf{D} + {\mathbf{L}}^{T}$$ влечет выполнение условия сходимости
(симметризация Гаусса).
Развитием
Выбирая $$\tau,$$ можно существенно изменять скорость сходимости
В общем случае задача вычисления $$\tau _{опт}$$ (оптимального итерационного параметра) не решена, однако известно, что $$1 < \tau _{опт} < 2.$$ В этом случае
Пусть $$\mathbf{u} \in L^n $$, где Ln есть n -мерное евклидово пространство. Рассмотрим квадратичный функционал
от $$\mathbf{u}$$, называемый функционалом энергии:
где $$\mathbf{A}$$ — линейный оператор, $$\mathbf{f} \in L^n$$, c — константа. Этот функционал совпадает с квадратичным функционалом $$\Phi (\mathbf{u}) = (\mathbf{A}^*\mathbf{u,u}) -
2(\mathbf{f,u}) + c$$, где $$\mathbf{A}^*$$ — сопряженный к $$\mathbf{A}$$ оператор. Действительно, $$(\mathbf{Au,u}) \equiv
(\mathbf{u},\mathbf{A}^*\mathbf{u})$$ по определению сопряженного оператора и $$(\mathbf{u},\mathbf{A}^*\mathbf{u}) = (\mathbf{A}^*\mathbf{u},\mathbf{u})$$ в силу коммутативности скалярного произведения. Тогда
Без ограничения общности предположим, что оператор $$\mathbf{A}$$ — самосопряженный, $$\mathbf{A} = \mathbf{A}^*.$$ В противном случае будем рассматривать задачу с оператором $$\frac{1}{2}(\mathbf{A}+{\mathbf{A}^*}) $$ при решении вариационной задачи.
Будем также считать, что $$\mathbf{A}$$ — положительный оператор, т.е. $$\mathbf{A} > 0$$, это означает, что для любого ненулевого вектора $$\mathbf{u}$$ выполнено $${(\mathbf{Au}, \mathbf{u}) > 0}.$$
Поставим задачу об отыскании элемента $$\mathbf{v}$$, придающего наименьшее значение функционалу $$\Phi (\mathbf{u})$$:
$$\Phi ({\mathbf{v}}) = \min\limits_{\mathbf{u} \in L^n}\Phi (\mathbf{u}).$$Теорема. Пусть $$\mathbf{A} = {\mathbf{A}*} > 0.$$ В этом случае существует единственный элемент $${\mathbf{v}} \in L^n $$, придающий наименьшее значение квадратичному функционалу $$\Phi (\mathbf{u}) =
(\mathbf{Au,u}) - (2\mathbf{f,u}) + c$$, являющийся решением
Доказательство.
Действительно,
$$\begin{gather*} \Phi (\mathbf{v} + \mathbf{\Delta }) = (\mathbf{A}(\mathbf{v} + \mathbf{\Delta }), \mathbf{v} + \mathbf{\Delta }) - 2(\mathbf{f,v} + \mathbf{\Delta }) + c = \\ = (\mathbf{Av} + \mathbf{A\Delta }\mathbf{,v} + \mathbf{\Delta }) - 2(\mathbf{f,v} + \mathbf{\Delta }) + c = \\ = (\mathbf{Av,v}) + (\mathbf{Av}\mathbf{,\Delta }) + (\mathbf{A\Delta } \mathbf{,v}) + (\mathbf{A\Delta }\mathbf{,\Delta }) - 2(\mathbf{f}\mathbf{,v}) - 2(\mathbf{f}\mathbf{,\Delta }) + c = \\ = (\mathbf{Av}\mathbf{,v}) + 2(\mathbf{Av}\mathbf{,\Delta }) + (\mathbf{A\Delta }\mathbf{,\Delta }) - 2(\mathbf{f}\mathbf{,v}) - 2(\mathbf{f}\mathbf{,\Delta }) + c = \\ = \left[{(\mathbf{Av}\mathbf{,v}) - 2(\mathbf{f}\mathbf{,v}) + c}\right] + 2(\mathbf{Av}\mathbf{,\Delta }) - 2(\mathbf{f}\mathbf{,\Delta }) + (\mathbf{A\Delta }\mathbf{,\Delta }) = \\ = \Phi (\mathbf{v}) + 2(\mathbf{Av}-\mathbf{f},\mathbf{\Delta }) + (\mathbf{A\Delta }\mathbf{,\Delta }) = \Phi (\mathbf{v}) + (\mathbf{A\Delta }\mathbf{,\Delta }) > \Phi (\mathbf{v}), \end{gather*}$$т.е. при $$\mathbf{Av} = \mathbf{f}$$ и любом $$\Delta$$ имеет место $$\min\limits_\mathbf{u}\Phi (\mathbf{u}).$$ Докажем, что верно и обратное утверждение. Если элемент доставляет минимальное значение функционалу энергии, то он является решением системы линейных уравнений $$\mathbf{Av} =
\mathbf{f}.$$ Из курса математического анализа известно, что в точке минимума должно выполняться условие $$grad \Phi (\mathbf{u}) = 0,\quad \mathbf{A} > 0.$$ Вычисляя градиент, приходим к условию минимума функционала $$grad \Phi (\mathbf{u}) = 2\mathbf{Au}- 2\mathbf{f}= 0.$$ Таким образом установлена эквивалентность вариационной задачи (отыскание элемента, придающего минимум $$\Phi (\mathbf{u})$$ ) и задачи о нахождении решения
Заметим, что
где $$\mathbf{A}$$ — положительно определенная симметричная матрица; $${\alpha}_k$$ — параметр, определяемый из заданных условий; например, из условия минимума величины
$$\Phi \left[{{\mathbf{u}}_k - \alpha_k \cdot grad \Phi ({\mathbf{u}}_k)}\right].$$В этом случае
что соответствует записи
Здесь учтено соотношение: $$({\mathbf{Au^{\prime}}},\mathbf{u}) = ({\mathbf{u^{\prime}}},\mathbf{A}^*\mathbf{u}) = (\mathbf{Au}{\mathbf{,u^{\prime}}})$$, поскольку $$\mathbf{A} = \mathbf{A}^*$$ и $$(\mathbf{v,Aw}) = (\mathbf{Aw,v})$$ в силу самосопряженности оператора $$\mathbf{A}.$$ Подставим в последние равенства $${\mathbf{u}}_{k+1}$$ из (2.27), получим $$(\mathbf{Au}_k - \mathbf{f}- \tau_k\mathbf{A}(\mathbf{Au}_k - \mathbf{f}),\mathbf{Au}_k - \mathbf{f}) = 0$$, откуда следует
$$\mathbf{Au}_k - \mathbf{f},\mathbf{Au}_k - \mathbf{f}) - \tau_k(\mathbf{A}(\mathbf{Au}_k - \mathbf{f}), \mathbf{Au}_k - \mathbf{f}) = 0,$$$$\tau_k = (\mathbf{Au}_k - \mathbf{f},\mathbf{Au}_k - \mathbf{f})/(\mathbf{A}(\mathbf{Au}_k - \mathbf{f}),\mathbf{Au}_k - \mathbf{f})$$, или $$$ \tau_k = \frac{({\mathbf{r}}_k,{\mathbf{r}}_k)}{({\mathbf{Ar}}_k,{\mathbf{r}}_k)}$$, где $${\mathbf{r}}_k = \mathbf{Au}_k - \mathbf{f} $.$$
Вектор $${\mathbf{r}}_k$$ называют вектором невязки.
Этот
Для отыскания минимума невязки на следующей итерации приравняем нулю производную последнего выражения по итерационному параметру $$\tau _{k}.$$ Получим равенство
$$- 2({\mathbf{Ar}}_k,{\mathbf{r}}_k) + 2\tau_k({\mathbf{Ar}}_k,{\mathbf{Ar}}_k) = 0.$$Из последнего соотношения находим значение итерационного параметра $$$ \tau_k= \frac{({\mathbf{Ar}}_k,{\mathbf{r}}_k)}{({\mathbf{Ar}}_k,{\mathbf{Ar}}_k)}. $$$
Этот метод применяется для решения систем уравнений с самосопряженной
положительной матрицей $$\mathbf{A} = \mathbf{A}^* > 0.$$ Оптимизируем
Идея метода состоит в следующем. Выбираем произвольное начальное приближение и вычисляем по нему вектор невязки $${\mathbf{r}}^0 = \mathbf{Au}^0 - \mathbf{f}$$, тогда первое приближение $$\mathbf{u}^1 = \mathbf{u}^0 + \tau_0{\mathbf{r}}^0 .$$
Из условия ортогональности невязок на двух первых шагах находим значение итерационного параметра $$$ \tau_0 = - \frac{({\mathbf{r}}^0,{\mathbf{r}}^0 )}{({\mathbf{Ar}}^0 ,{\mathbf{r}}^0 )} $.$$
Построим такое приближение, чтобы учитывались две предыдущие — трехслойный
Имеем
Все невязки уменьшаются по норме, поэтому данный метод эффективен даже для
плохо обусловленных задач, т.к. на определенном шаге можно оборвать вычисления и получить приближение к решению с заданной точностью. Тогда этот метод становится
Приведем последовательность расчетных формул одного из вариантов
где
$$$ \tau_{k + 1} = \frac{({\mathbf{r}}_k,{\mathbf{r}}_k)}{(\mathbf{A}{\mathbf{r}}_k,{\mathbf{r}}_k)}, $$$ $$$ \alpha_1 = 1; \alpha_{k+ 1}= {\left[{1 - \frac{1}{\alpha_k} \cdot \frac{\tau_{k+ 1}}{\tau_k} \cdot \frac{({\mathbf{r}}_k,{\mathbf{r}}_k)}{({\mathbf{r}}_{k- 1},{\mathbf{r}}_{k- 1})}}\right]}^{- 1},\quad k= 1, 2, \ldots $$$В вычислительной практике этот метод используется при умеренном n и неизвестных границах спектра матрицы $$\mathbf{A}$$, как k0 обычно достаточно большое число. Подробнее о
Рассмотрим два алгоритма для самосопряженных матриц. Первый — степенной алгоритм, для вычисления наибольшего по абсолютной величине собственного числа. Выбираем произвольный ненулевой вектор $${\mathbf{u}}_0$$ и строим последовательность векторов
$${\mathbf{u}}_{k + 1} = \mathbf{Au}_{k}.$$Легко показать, что выражение
$$$ \lambda \approx \frac{(\mathbf{Au}_k,{\mathbf{u}}_k)}{({\mathbf{u}}_k,{\mathbf{u}}_k)} = \frac{({\mathbf{u}}_{k+ 1},{\mathbf{u}}_k)}{({\mathbf{u}}_k,{\mathbf{u}}_k)} $$$приближает максимальное по абсолютной величине собственное значение с точностью $$O(\lambda_{N}/\lambda_{N- 1})^k.$$ Здесь $$\lambda _{N}/\lambda _{N - 1}$$ — отношение самого большого по модулю собственного числа матрицы к следующему по абсолютной величине.
Для решения полной самосопряженной проблемы собственных значений применяется
Определение собственных значений самосопряженной матрицы $$\mathbf{A}$$ эквивалентно отысканию такой ортогональной матрицы $$\mathbf{T}$$, что
$$\mathbf{\Lambda } = \mathbf{T^{\prime}AT},$$матрица $$\mathbf{\Lambda }$$ — диагональная. Среди всех ортогональных преобразований данное минимизирует сумму квадратов внедиагональных
элементов исходной матрицы. Построим i и j ). Так как евклидова норма матрицы не изменяется при ортогональных преобразованиях, то легко получить соотношение между суммами квадратов внедиагональных элементов старой и новой матриц:
Очевидны условия минимизации суммы в левой части последнего равенства. Следует на текущей итерации выбирать индексы так, чтобы выполнялось условие $$|{a_{ij}}| = \max\limits_{k \ne l}|{a_{kl}}|$$, а угол поворота выбирается из условия $$0 = {\left({(a_{jj}} - a_{ii})\sin 2\alpha + 2a_{ij}\cos 2\alpha}\right)}^2 .$$ Тогда он удовлетворяет условию $$$ \tg 2\alpha = \frac{2a_{ij}}{a_{ii} - a_{jj}},\quad |{\alpha }| \le \frac{\pi}{4} $.$$
Независимо от наличия кратных собственных значений
Выбор максимального по модулю внедиагонального элемента — затратная
операция, поэтому часто реализуется
Другие алгоритмы решения
$$\mathbf{A} ={\left( \begin{array}{ccc} 5 0 1 \\ 2 6 {-2}\\ -3 2 10 \\ \end{array}\right)}, \mathbf{f} = {(11, 8, 6)}^{\mathbf{T}}$$
или
$$\begin{gather*} 5{x}_1 + 0 \cdot{x}_2 +{x}_3 = 11, \\ 2{x}_1 + 6 \cdot{x}_2 + 2{x}_3 = 8, \\ - 3{x}_1 + 2 \cdot{x}_2 + 10{x}_3 = 6. \end{gather*} $$Решение.
Разделив элементы первой строки на ведущий элемент a11= 5 получаем первую опорную строку (1, 0, 0.2, 2.2).
Далее умножим ее на a21= 2 и вычтем из второй строки, после чего умножим опорную строку на a31= 3 и вычтем из третьей. Получаем матрицу $$$ \tilde{\mathbf{A}}_1 $$$
Вторая опорная строка — результат деления второй строки матрицы $$$ \tilde{\mathbf{A}}_1 $$$ на
$$a_{22}^1 = 6$$:(0, 1, - 0.4, 0.6)
Матрицы $$$ \tilde{\mathbf{A}}_2 $$$ после умножения опорной строки на 2 и вычитания ее из третьей
Третья опорная строка (результат деления третьей строки на 11,4 ) есть (0,0,1,1) .
Матрица $$$ \tilde{\mathbf{A}}_3 $$$ будет
$$$ \tilde{\mathbf{A}}_1 = \left( \begin{array}{cccc} 1 0 {0,2} {2,2}\\ 0 1 {- 0,4} {0,6}\\ 0 0 1 1 \\ \end{array}}\right). $$$Обратный ход
Система уравнений с матрицей $$$ \tilde{\mathbf{A}}_3 $$$
$$\begin{gather*} {x}_1 + 0 \cdot{x}_2 + 0,2{x}_3 = 2,2 , \\ {x}_2 - 0,4{x}_3 = 0,6 , \\ {x}_3 = 1. \end{gather*} $$Разрешая эту систему, начиная с последнего уравнения, получим
x3 = 1, x2 = 1, x1 = 2.
$$\begin{gather*} {x}_1 + 2{x}_2 + 3{x}_3 + 4{x}_4 = 2, \\ {x}_1 + 3{x}_2 + {x}_3 + 2{x}_4 = - 1, \\ 2{x}_1 + 3{x}_2 + 8{x}_3 + 7{x}_4 = 10, \\ 2{x}_1 + 5{x}_2 + 3{x}_3 + 7{x}_4 = 3 \end{gather*}$$
Решение. Преобразование матрицы рассматриваемой системы будет
$$\left( \begin{array}{ccccc} 1 2 3 4 2 \\ 1 3 1 2 {- 1}\\ 2 3 8 7 {10}\\ 2 5 3 7 3 \\ \end{array}\right) \to \left( \begin{array}{ccccc} 1 2 3 4 2 \\ 0 1 {- 2} {- 2} {- 3}\\ 0 {- 1} 2 {- 1} 6 \\ 0 1 {- 3} {- 1} 1 \\ \end{array}\right) \to \left( \begin{array}{ccccc} 1 2 3 4 2 \\ 0 1 {- 2} {- 2} {- 3}\\ 0 0 0 {- 3} {- 3}\\ 0 0 {- 1} 1 2 \\ \end{array}\right)$$Поскольку $${a^2_{33}} = 0$$ то вычисление третьей опорной строки невозможно.
$$$ \mu (\mathbf{A}) \ge \frac{|{\max\limits_i \lambda_i(\mathbf{A})}|}{|{\min\limits_i \lambda_i (\mathbf{A})}|}. $$$
Рассмотреть случай симметричной матрицы $$\mathbf{A}.$$
Решение. Для собственного вектора $$\omega,$$ соответствующего наибольшему по модулю собственному значению матрицы, выполняется равенство $$\mathbf{A}\omega = \lambda \omega $$, откуда
$$\|{\mathbf{A\omega}}\| = \left|{\max\limits_i\lambda_i}\right|{\|\omega\|}.$$Учитывая, что $$\|{\mathbf{A}\omega }\| \le \|\mathbf{A}\|{\|\omega\|}$$, получим $$\|\mathbf{A}\| \ge \left|{\max\limits_i \lambda_i (\mathbf{A})}\right|.$$ Для обратной матрицы $$\mathbf{A}^{-1}$$ максимальным по модулю является собственное число $$\min\limits_i \lambda_i^{-1}$$, откуда $$\left\|{\mathbf{A}^{- 1}}\right\| \ge {\left|{\min\limits_i\lambda_i(\mathbf{A})}\right|}^{- 1}.$$ Объединяя два последних неравенства, получим
$$$ \mu (\mathbf{A}) = {\left\|{\mathbf{A}^{- 1}}\right\|}\|\mathbf{A}\| \ge \frac{|{\max\limits_i \lambda_i (\mathbf{A})}|}{|{\min\limits_i \lambda_i (\mathbf{A})}|}. $$$В случае симметричной матрицы $$\mathbf{A}(\mathbf{A}^* = \mathbf{A})$$ имеем
$$\|\mathbf{A}\|}_3 = \sqrt{\lambda_{\max}(\mathbf{A}^*\mathbf{A})} = \sqrt{\lambda_{\max}(\mathbf{A}^2 )}= \sqrt{\lambda_{\max}^2(\mathbf{A})} = |{\lambda_{\max}(\mathbf{A})}|$$,т.к. из $${\mathbf{A\omega}}_i = \lambda_i\omega_i$$ следует $$({\mathbf{A\omega}}_i )^2 = \lambda_i^2\omega_i^2 .$$ Аналогично
$${\left\|{\mathbf{A}^{- 1}}\right\|}_3 = \sqrt{\lambda_{\max}[(\mathbf{A}^{- 1})^* (\mathbf{A}^{- 1})]} = \sqrt{\lambda_{\max}[(\mathbf{A}^{- 1})]^2} = \\ = \sqrt{\lambda_{\min}^{- 1}(\mathbf{A}^2 )} = |{\lambda_{\min}^{- 1}(\mathbf{A})}|.$$Тогда $$\mu (\mathbf{A}) = {\|\mathbf{A}\|}_3{\left\|{\mathbf{A}^{- 1}}\right\|}_3 = |{\lambda_{\max}(\mathbf{A})}|/|{\lambda_{\min}(\mathbf{A})}|.$$
Решение. Для самосопряженной положительной матрицы $$\mathbf{A}$$ имеем
$$$ \|\mathbf{A}\| = \sup\limits_{\|\mathbf{u}\| \ne 0}\frac{(\mathbf{u}, \mathbf{Au})}{(\mathbf{u}, \mathbf{u})}. $$$Тогда
$$$ \mu (\mathbf{A}) = {\|\mathbf{A}\|}_3 \left\|{{\mathbf{A}}^{- 1}}\right\|}_3 = \sup\limits_{\|\mathbf{u}\| \ne 0}\frac{(\mathbf{u, Au})}{(\mathbf{u, u})} \sup\limits_{\|{u}\| \ne 0}\frac{(\mathbf{u}, \mathbf{A}^{- 1}\mathbf{u})}{(\mathbf{u, u})} = \\ = \sup\limits_{\|\mathbf{u}\| \ne 0} \frac{({\mathbf{Bu, Bu}})}{(\mathbf{u,u})}\sup\limits_{\|\mathbf{u}\| \ne 0}\frac{({\mathbf{B}}^{- 1}\mathbf{u},{\mathbf{B}}^{- 1}\mathbf{u})}{(\mathbf{u, u})} = {\|{\mathbf{B}}\|}_3^2 {\left\|{{\mathbf{B}}^{- 1}}\right\|}_3^2, $$$откуда
$$\mu (\mathbf{A}) = \mu ^2({\mathbf{B}}).$$$${\|\mathbf{A}\|}_2 = \max\limits_{1 \le j \le n}\sum\limits_{j= 1}^n{|{a_{ij}}|}$$
Решение.
$${\|\mathbf{Au}\|}_2 = \sum\limits_{i = 1}^n{\left|{\sum\limits_{j= 1}^n{a_{ij}u_j}}\right|} \le \sum\limits_{i = 1}^n{\sum\limits_{j = 1}^n{|{a_{ij}}|}} \cdot |{u_j}| \le \sum\limits_{j = 1}^n{|{u_j}|} \cdot \sum\limits_{i = 1}^n{|{a_{ij}}|} \le \\ \le (\max\limits_{1 \le i \le n}\sum\limits_j{|{a_{ij}}|}) \cdot {\|\mathbf{u}\|}_2 = {\|\mathbf{A}\|}_2 {\|\mathbf{u}\|}_2.$$Положим
$$\max \sum\limits_{i = 1}^n{|{a_{ij}}|} = \sum\limits_{i = 1}^n{|{a_{ik}}|}.$$Покажем, что существует вектор $$\mathbf{v}$$, для которого достигается равенство. В качестве такового можно взять вектор $$\mathbf{v}$$ с компонентами $${v}_i = 0, i \ne k, {v}_k = 1.$$
Таким образом, норма матрицы $${\|\mathbf{A}\|}_2 = \max\limits_{1 \le j \le
n}\sum {|{u_{ij}}|}$$
n$$\mathbf{A}= \left( \begin{array}{ccccccc} 1 {d} 0 \ldots \ldots 0 0 \\ 0 1 {d} \ldots \ldots 0 0 \\ \ldots \ldots \ldots \ldots \ldots \ldots \ldots \\ 0 0 \ldots 1 {d} \ldots 0 \\ \ldots \ldots \ldots \ldots \ldots \ldots \ldots \\ 0 0 \ldots \ldots \ldots 1 {d}\\ 0 0 \ldots \ldots \ldots \ldots 1 \\ \end{array} \right).$$
Найти $$\mu (\mathbf{A})$$ и оценить возмущение в компоненте $$u_1$$ решения системы $$\mathbf{Au} = \mathbf{f}$$, если
компонент fn вектора f возмущен на величину $$\varepsilon.$$
Решение. Из $$\mathbf{Au}= \mathbf{f}$$ следует, что $$\mathbf{u}=\mathbf{A}^{- 1}\mathbf{f}.$$
С помощью обратной подстановки un = 1, un - 1 = ... находим компоненты матрицы
В этом случае $$$ {\|\mathbf{A}\|}_1 = 1 + |{d}|, {\left\|{\mathbf{A}^{- 1}}\right\|}_1 = 1 + |{d}|+{d}^2 + \ldots + {|{d}|}^{n - 1} = \frac{{|{d}|}^n - 1}{|{d}| - 1} $;$$
Видно, что при | d | > 1 матрица $$\mathbf{A}$$ плохо обусловлена, при | d | < 1 - хорошо. При n = 20 и d = 5 имеем $$\mu (\mathbf{A}) \approx 10^{14}.$$
Компонент $$$ \tilde{u}_1 $$$ решения возмущенной системы $$\tilde{\mathbf{u}} = {\mathbf{A}}^{- 1}{\mathbf{\tilde{f}}}$$ будет
$$$ \tilde{\mathbf{u}}_1 = f_1 - df_2 + d^2f_3 + \ldots + {(- d)}^{n - 2}f_{n - 1} + {( - d)}^{n - 1}(f_n + \varepsilon ) = u_1 + {(- d)}^{n - 1}\varepsilon, $$$где u1 — компонент решения невозмущенной системы $$\mathbf{Au} = \mathbf{f}$$
Отсюда видно, что при | d | > 1 возмущение в n компоненте вектора $$\mathbf{f}$$ увеличивается в компоненте u1 вектора $$\mathbf{u}$$ в | d |n - 1 раз, а при | d | < 1 — в | d |n - 1 раз убывает.
u1 + 0,99u2 = f1, 0,99u1 + u2 = f2
вектор $$\mathbf{f} = {(f_1, f_2)}^{T}$$ получает приращение $$\mathbf{\Delta f} = {(\delta f_1, \delta f_2)}^{T}$$, а решение получает приращение $$\Delta\mathbf{u} = {(\delta u_1, \delta u_2)}^{T}$$, Найти наименьшее число $$\mu,$$ при котором независимо от $$\mathbf{f}$$ и $$\Delta \mathbf{f}$$ выполняется оценка$$\frac{\|{\Delta\mathbf{u}}\|}{\|\mathbf{u}\|} \le \mu \frac{\|{\Delta \mathbf{f}}\|}{\|\mathbf{f}\|}.$$
Решить задачу, используя нормы матриц $${\|\cdot\|}_1, {\|\cdot\|}_2 , {\|\cdot\|}_3.$$
Решение. Для возмущенной задачи $$\mathbf{A}(\mathbf{u} + \Delta\mathbf{u}) = \mathbf{f} + \Delta\mathbf{f}$$, из линейности системы следует $$\mathbf{A}\Delta\mathbf{u} = \Delta\mathbf{f}.$$ Для возмущения решения выполняется равенство $$\Delta\mathbf{u} = {\mathbf{A}}^{- 1}\Delta\mathbf{f}.$$ Тогда $$$ \|{\Delta\mathbf{u}}\| \le \|{\mathbf{A}^{- 1}}\| \cdot \|\mathbf{A}\| \cdot \frac{\|{\Delta\mathbf{f}}\|}{\|\mathbf{f}\|} \cdot \frac{\|\mathbf{f}\|}{\|\mathbf{A}\|} $.$$
Отсюда сразу следует $$$ \|{\Delta\mathbf{u}}\| \le \left\|{{\mathbf{A}}^{- 1}}\right\| \cdot \|\mathbf{A}\| \frac{\|{\Delta\mathbf{f}}\|}{\|\mathbf{f}\|}\|\mathbf{u}\| $$$, так как $$$ \frac{\|\mathbf{f}\|}{\|\mathbf{A}\|} \le \|{\Delta\mathbf{u}}\| $.$$
Тогда искомая оценка будет $$$ \frac{\|{\Delta\mathbf{u}}\|}{\|\mathbf{u}\|} \le \left\|{{\mathbf{A}}^{- 1}}\| \cdot \|\mathbf{A}\| \frac{\|{\Delta\mathbf{f}}\|}{\|\mathbf{f}\|}.$$ Обозначим $$\mu = \|{{\mathbf{A}}^{- 1}}\| \cdot \|\mathbf{A}\| $.$$ В этом случае наименьшим числом, при котором выполняется оценка $$$ \frac{\|{\Delta\mathbf{u}}\|}{\|\mathbf{u}\|} \le \mu \frac{\|{\Delta\mathbf{f}}\|}{\|\mathbf{f}\|} $$$, является $$\mu = \|{{\mathbf{A}}^{- 1}}\| \cdot \|\mathbf{A}\|.$$ Это — число
$$$ \frac{\|{\Delta\mathbf{u}}\|}{\|\mathbf{u}\|} \le \nu (f) \frac{\|{\Delta\mathbf{f}}\|}{\|\mathbf{f}\|} $.$$
Найти такую правую часть системы $$\mathbf{f}$$, которой соответствует наименьшее $$\nu,$$ а также само это значение при использовании третьей нормы матрицы.
Решение.
По условию задачи $$$ \nu \ge \frac{\|\mathbf{f}\|}{\|\mathbf{u}\|} \cdot \frac{\|{\Delta\mathbf{u}}\|}{\|{\Delta\mathbf{f}}\|} $.$$ Рассмотрим, какие значения может принимать это число. Точная нижняя грань для такой оценки, очевидно, $$$ \inf\limits_{\|{\Delta\mathbf{f}}\| \ne 0}\nu = \frac{\|\mathbf{f}\|}{\|\mathbf{u}\|} \cdot \sup\limits_{\|{\Delta\mathbf{f}}\| \ne 0} \frac{\left\|{{\mathbf{A}}^{- 1} \cdot \Delta\mathbf{f}}\right\|}{\|{\Delta\mathbf{f}}\|} $.$$ Так как надо найти оценку, не зависящую от начального возмущения (при решении конкретной задачи оно, очевидно, неизвестно), получим
$$$ \nu = \inf\limits_{\|{\Delta\mathbf{f}}\| \ne 0}\nu = {\left\|{{\mathbf{A}}^{- 1}}\right\|} \cdot \frac{\|\mathbf{f}\|}{\|\mathbf{u}\|}. $$$Для точной нижней грани выполнено $$$ \inf\limits_\mathbf{f}\nu (\mathbf{f}) = \left\|{{\mathbf{A}}^{- 1}}\right\| \times \\ \times {\left({\sup\frac{\|{{\mathbf{A}}^{- 1}\mathbf{f}}\|}{\|\mathbf{f}\|}}\right)}^{- 1} = 1 $.$$ Можно оценить и точную верхнюю грань:
$$$ \sup\limits_\mathbf{f}\nu = \left\|{{\mathbf{A}}^{- 1}}\right\| \sup\limits_{\mathbf{u}}\frac{\|\mathbf{Au}\|}{\|\mathbf{u}\|} = \left\|{{\mathbf{A}}^{- 1}}\right\| \cdot \|\mathbf{A}\| = \mu $$$Таким образом, $$1 \le \nu \le \mu.$$
Ответим на вопрос, при каких $$\mathbf{f}$$ достигается $$\sup\limits_{\mathbf{f}}\nu $$ и $$\inf\limits_{\mathbf{f}}\nu.$$ Для этого используем
Для самосопряженной положительной матрицы $${\mathbf{A}}^* = \mathbf{A} > 0$$ получаем
$$$ |{\lambda_{\min}(\mathbf{A})}| \le \sqrt{\frac{\sum\limits_i {\lambda_i \xi_i^2}}{\sum\limits_i{\xi_i^2}}} = \frac{\|\mathbf{Au}\|}{\|\mathbf{u}\|} \le |{\lambda_{\max}(\mathbf{A})}|. $$$В то же время
$$$ \frac{\|{{\mathbf{A\omega}}_i}\|}{\|{\omega_i}\|} = \sqrt{\frac{(\mathbf{A}*{\mathbf{A\omega}}_i, \omega_i )}{(\omega_i, \omega_i )}} = \sqrt{\frac{\lambda_i (\omega_i, \omega_i )}{(\omega_i ,\omega_i )}} = \sqrt{\lambda_i (\mathbf{A}*\mathbf{A})}, $$$для самосопряженной положительной матрицы $$$ \frac{\|{{\mathbf{A\omega}}_i}\|}{\|{\omega_i}\|} = |{\lambda_i (\mathbf{A})}| $.$$
$$$ \sup\limits_\omega\frac{\|{{\mathbf{A\omega}}}\|}{\|\omega\|} = \sqrt{\lambda_{\max}({\mathbf{A}}^*\mathbf{A})};\quad \inf\limits_\omega \frac{\|{{\mathbf{A\omega}}}\|}{\|\omega\|} = \sqrt{\lambda_{\min}({\mathbf{A}}^*\mathbf{A})}. $$$В случае $${\mathbf{A}}^* = \mathbf{A} > 0$$ получаем $$\sup\limits_\omega \frac{\|{{\mathbf{A\omega}}}\|}{\|\omega\|} = |{\lambda_{\max}(\mathbf{A})}| \inf\limits_\omega \frac{\|{{\mathbf{A\omega}}}\|}{\|\omega\|} = |{\lambda_{\min}(\mathbf{A})}| $.$$
Таким образом,
$$$ \sup\limits_\mathbf{u} \frac{\|\mathbf{Au}\|}{\|\mathbf{u}\|} = \sqrt{\lambda_{\max}({\mathbf{A}}^*\mathbf{A});} \sup\limits_\omega\frac{\|{{\mathbf{A\omega}}}\|}{\|\omega\|} = \sqrt{\lambda_{\max}({\mathbf{A}}^*\mathbf{A})}, $$$$$$ \inf\limits_\mathbf{u}\frac{\|\mathbf{Au}\|}{\|\mathbf{u}\|} = \sqrt{\lambda_{\min}({\mathbf{A}}^*\mathbf{A});} \inf\limits_\omega \frac{\|{{\mathbf{A\omega}}}\|}{\|\omega\|} = \sqrt{\lambda_{\min}({\mathbf{A}}^*\mathbf{A})}. $$$
$$\mathbf{Ax}= \mathbf{f}, \mathbf{A}= \left( \begin{array}{cc} 2 1 \\ 1 2 \\ \end{array}\right), \mathbf{x} = {(1,-1)}^{T}, \mathbf{f} = {(1,-1)}^{T}$$
или
2u + v = 1, u + 2v = - 1.
Оценить количество итераций для
(Решение системы: u = 1; v = -1 ).
Решение.
или $${\mathbf{x}}_{k+ 1} = {\mathbf{Bx}}_k + \mathbf{f}$$,
$${\mathbf{B}}= \left( \begin{array}{cc} 0 {- 0,5}\\ {- 0,5} 0 \\ \end{array} \right),$$$$\begin{gather*} u_{k + 1} = - \frac{1}{2}v_k + \frac{1}{2}, \\ v_{k + 1} = - \frac{1}{2}u_{k + 1} - \frac{1}{2}; \\ u_{k + 1} = (1 - \tau )u_k + \frac{\tau}{2}(1 - v_k), \\ v_{k + 1} = (1 - \tau )v_k - \frac{\tau}{2}(1 + u_k). \end{gather*} $$
Оценка количества итераций проводится по формуле
$$$ k \approx \ln \frac{\varepsilon }{\varepsilon_0 }/\ln \|\mathbf{B}\| = \ln 10^{- 3}/\ln \frac{1}{2}. $$$$$\begin{gather*} a_{11}u + a_{12}v = f_1, \\ a_{21}u + a_{22}v= f_2, \\ a_{11} \ne 0, a_{22} \ne 0 \end{gather*}$$
Решение. Итерационный процесс Якоби записывается как
$$\begin{gather*}u_{k+ 1} = - \frac{a_{12}}{a_{11}}v_k + \frac{f_1}{a_{11}}, \\ v_{k+ 1} = - \frac{a_{21}}{a_{22}}u_k + \frac{f_2}{a_{22}}. \end{gather*}$$
(рис 2.1) Первое уравнение соответствует прямой 1, второе — прямой 2. Вычисление u1 соответствует проведению отрезка, параллельного оси 0u и (при v = v0 ) до пересечения с прямой 1 ; точка пересечения даст первое приближение u1. Вычислению v1 соответствует проведение из точки A1 прямой, параллельной оси 0v до пересечения с прямой 2 и т.д. до сходимости итераций к точке пересечения прямых 1 и 2 (Ak) с заданной точностью.
a,b сходится $${\mathbf{B}} = \left( \begin{array}{ccc} {a} {b} 0 \\ {b} {a} {b}\\ 0 {b} {a} \\ \end{array} \right).$$
Решение. Для того, чтобы
откуда получим условие сходимости
$$\mathbf{A}$$ вида$$\mathbf{A} = \left( \begin{array}{ccc} {a} {b} 0 \\ {b} {a} {b}\\ 0 {b} {a}\\ \end{array} \right).$$
Решение. Для
Имеет место уравнение:
$${\mathbf{B\omega}} = \lambda \omega$$, где $$\lambda$$ и $$\mathbf{\omega}$$ — собственное число и собственный вектор, соответственно. В таком случае $$- {\mathbf{D}}({\mathbf{L}} + {\mathbf{U}})\omega = \lambda\omega$$, или: $$({\mathbf{L}} + {\mathbf{U}} + \lambda{\mathbf{D}}) \omega = 0$$, откуда (предполагаем наличие нетривиальных решений у последней
Решим это уравнение:
$$\det {\left| \begin{array}{ccc} \lambda a b 0\\ b \lambda a b\\ 0 b \lambda a \end{array} \right|} = 0,$$откуда получим условия сходимости
Для
В таком случае
$${- (\mathbf{D} + \mathbf{L})}^{- 1}{\mathbf{U\omega}} = \lambda\omega$$,откуда следует уравнение
$$\det (\lambda{\mathbf{L}} + \lambda {\mathbf{D}} + {\mathbf{U}}) = 0$$,Вычислив детерминант, придем к алгебраическому уравнению
$$\det {\left( \begin{array}{ccc} \lambda a b 0 \\ \lambda b \lambda a b \\ 0 \lambda b \lambda a \end{array} \right) } = a{\lambda}^2(a^2\lambda - 2b^2) = 0.$$В таком случае, поскольку $$$ \lambda_{1,2}= 0, \lambda_3 = 2\frac{b^2}{a^2} $$$, получим условие сходимости
К численному решению
Рассмотрим
где $$\mathbf{A}$$ — невырожденная ( $$\det \mathbf{A}\ne 0$$ ) квадратная матрица размером n x n
$$\mathbf{u}={\{u_1, \ldots , u_n \}}^T$$ — вектор-столбец решения, $$\mathbf{f}={\{f_1, \ldots , f_n \}}^T$$ — вектор-столбец правой части.
Так как матрица системы — невырожденная, $$\Delta = \det\mathbf{A}\ne 0$$, то решение системы (2.1) существует и единственно.
Из курса линейной алгебры [2.6] известно правило Крамера нахождения решения. Так, каждый компонент вектора неизвестных может быть вычислен как
$$$ u_i = \frac{\Delta_i}{\Delta }, $$$где $$\Delta _{i}$$ — i столбца столбцом правых частей. Однако несложные арифметические оценки позволяют понять, что использование этой формулы приводит к неоправданно большим затратам машинного времени [2.3]. Так, например, если одно слагаемое в $$\Delta$$ вычисляется за 10 -6 с, то время расчета для n = 100 на существующих в момент написания книги компьютерах будет измеряться годами.
На самом деле в настоящее время с помощью компьютеров численно решаются k, в зависимости от требуемой точности).
Однако неточность в задании правых частей и элементов матрицы $$\mathbf{A}$$ может приводить к значительным погрешностям при вычислении решения (2.1). В первой лекции на примере было показано, что такое явление наблюдается в случае плохо
Для этого напомним некоторые сведения из функционального анализа, которые понадобятся в дальнейшем.
В векторном n -мерном линейном нормированном пространстве
введем следующие
кубическая:
$${\|\mathbf{u}\|}_1 = \max\limits_{1 \le i \le n}|u_i|,$$октаэдрическая:
$${\|\mathbf{u}\|}_2 = \sum\limits_{i = 1}^n|u_i|,$$евклидова (в комплексном случае — эрмитова):
$${\|\mathbf{u}\|}_3 ={\left(\sum\limits_{i = 1}^n{|u_i|}^2\right)}^{1/2}={(\mathbf{u}, \mathbf{u})}^{1/2}.$$Рассмотрим квадратную матрицу $$\mathbf{A}$$ и связанное с ней линейное преобразование $$\mathbf{v}= \mathbf{Au}$$, где $$\mathbf{v}, \mathbf{u} \in L^n$$ ( Ln — n -мерное линейное нормированное пространство). Норма матрицы определяется как действительное неотрицательное число, характеризующее это преобразование и определяющееся как
Укажем некоторые свойства нормы матрицы:
$$\begin{gather*} \|\mathbf{A + B}\|= \|\mathbf{A}\|+ \|\mathbf{B}\|, \\ \|\mathbf{\lambda A}\|=|\lambda| \|\mathbf{A}\|, \\ \|\mathbf{AB}\| \le \|\mathbf{A}\| \|\mathbf{B}\|, \\ \|\mathbf{A}\|= 0 \text{ тогда и только тогда, когда }\mathbf{A}= 0. \end{gather*}$$Заметим, что норму матрицы (2.3) называют подчиненной
Нетрудно видеть, что подчиненная норма согласована с соответствующей метрикой векторного пространства. В самом деле
$$$ \|\mathbf{A}\|= \sup\limits_{\|\mathbf{u}\| \ne 0} \frac{\|\mathbf{Au}\|}{\|\mathbf{u}\|}\ge \frac{\|\mathbf{Au}\|}{\|\mathbf{u}\|}\mbox{ откуда }\|\mathbf{Au}\| \le \|\mathbf{A}\|\cdot \|\mathbf{u}\|. $$$Покажем, как получается выражение для
Вычислим
откуда$$\frac{{\|\mathbf{Au}\|}_1}{{\|\mathbf{u}\|}_1}\le \max\limits_i \sum\limits_j |{a_{ij}}|.$$ По определению нормы матрицы как точной верхней грани отношения$$\frac{\|\mathbf{Au}\|}{\|\mathbf{u}\|}, \max\limits_j \sum\limits_i{|{a_{ij}}|} = {\|\mathbf{A}\|}_1 ,$$ если существует вектор, на котором точная верхняя грань достигается.
Покажем, что таким вектором является, например,$${\mathbf{v}}_k = \{sign a_{k1}, \ldots , sign a_{kn}\}^T,$$
при этом допустим, что максимум в последнем неравенстве достигается при i = k.
Поскольку $$\|{\mathbf{v}}_k\|= k$$, то $$\sum\limits_j{a_{kj}v_j} = \sum\limits_j {|a_{kj}|} = \max\limits_i \sum\limits_j{|{a_{ij}}|}.$$
Тогда, в соответствии с выражением для первой
Таким образом, точная верхняя грань в рассмотренном неравенстве достижима и действительно $${\|\mathbf{A}\|}_1 = \max \sum\limits_j{|{a_{ij}}|}.$$
Для третьей нормы (2.2в)$$$ {\|\mathbf{A}\|}_3 = \sup\limits_\mathbf{u}\frac{{\|\mathbf{Au}\|}_3}{{\|\mathbf{u}\|}_3}= \sup\limits_\mathbf{u} \sqrt{\frac{(\mathbf{Au,Au})}{(\mathbf{u,u})}}= \\ = \sup\limits_\mathbf{u}\sqrt{\frac{(\mathbf{A}^*\mathbf{Au,u})}{(\mathbf{u,u})}} $$$
Заметим, что матрица $$\mathbf{B}= \mathbf{A}^*\mathbf{A}$$ — симметричная. Без ограничения общности предположим, что все собственные числа матрицы различны. Матрица обладает всеми действительными собственными значениями, и каждому собственному числу соответствует собственный вектор. Все собственные векторы взаимно ортогональны. Можно рассмотреть ортонормированную систему собственных векторов $$\omega _{1}, \dots , \omega _{n}; \lambda _{1}, \dots , \lambda _{n}$$ — соответствующие им собственные значения. Любой вектор $$\mathbf{u}$$ можно представить в виде своего разложения по базису из собственных векторов: $$\sum\limits_i{\xi_i\omega_i}.$$ Кроме того, $$(\mathbf{A}^*\mathbf{A})\omega_i = \lambda_i \omega_i.$$ Поэтому
$$$ \sup\limits_{\|\mathbf{u}\| \ne 0}\sqrt{\frac{(\mathbf{A}^* \mathbf{Au,Au})}{(\mathbf{u,u})}} = \sup\limits_{\|\mathbf{u}\| \ne 0}\sqrt{\sum\limits_i \frac{(\lambda_i\xi_i \omega_i, \xi_i \omega_i)}{(\xi_i\omega_i, \xi_i\omega_i)}} = \\ = \sup\limits_{\|\mathbf{u}\| \ne 0}\sqrt{\frac{\sum \lambda_i{\xi}^2_i}{\sum {\xi}^2_i}} = \sqrt{\max \lambda_i (\mathbf{A}^* \mathbf{A})}, $$$причем точная верхняя грань достигается при $$\mathbf{u}= \omega_i.$$ Действительно,
$$$ \sup\limits_u \sqrt{\frac{(\mathbf{A}^* \mathbf{A}\omega_i, \omega_i)}{(\omega_i, \omega_i)}} = \sup\limits_u \sqrt{\lambda^i (\mathbf{A}^*\mathbf{A})} = \sqrt{\max\limits_i {\lambda_i (\mathbf{A}^* \mathbf{A})}}, $$$т.к. $$\mathbf{A}^*\mathbf{A}\omega_i = \lambda_i \omega_i$$, откуда $$(\mathbf{A}^* \mathbf{A}\omega_i, \omega_i) = \lambda_i (\omega_i, \omega_i)$$,
$$$ \frac{(\mathbf{A}^*\mathbf{A}\omega_i, \omega_i)}{(\omega_i, \omega_i)} = \lambda_i. $$$В важном частном случае симметричной (самосопряженной) матрицы $$\mathbf{A}$$ имеем $$\lambda_{\mathbf{A}^* \mathbf{A}}^i = \lambda_{{\mathbf{A}}^2}^i = {|{\lambda_{\mathbf{A}}^i}|}^2$$, поэтому $${\|\mathbf{A}\|}_3 = \max\limits_i |{\lambda_{\mathbf{A}}^i}|.$$
Понятия
рассматривается система
$$(\mathbf{A}+ \Delta\mathbf{A})(\mathbf{u}+ \Delta\mathbf{u}) = \mathbf{f}+ \Delta\mathbf{f}.$$Теорема. Пусть правая часть и невырожденная матрица
Доказательство.
Из (2.5) следует, что $$\Delta\mathbf{u} = {\mathbf{A}}^{- 1}(\Delta\mathbf{f}- \Delta\mathbf{A} \mathbf{u}- \Delta\mathbf{A} \Delta\mathbf{u}).$$ Переходя в этом равенстве к норме и использовав неравенство треугольника, получаем
$$$ \|{\Delta\mathbf{u}}\| \le \left\|{\mathbf{A}^{- 1}}\right\| \|{\Delta\mathbf{f}}\| + \left\|{\mathbf{A}^{- 1}}\right\| \|{\Delta\mathbf{A}}\| \|\mathbf{u}\| + \left\|{\mathbf{A}^{- 1}}\right\| \|{\Delta\mathbf{A}}\| \|{\Delta\mathbf{u}}\| , \mbox{ или } \\ \|{\Delta\mathbf{u}}\| \le \left\|{\mathbf{A}^{- 1}}\| \frac{\|\Delta\mathbf{f}\|}{\|\mathbf{f}\|} \|\mathbf{f}\| + \left\|{\mathbf{A}^{- 1}}\right\| \frac{\|\Delta\mathbf{A}\|}{\|\mathbf{A}\|} \|\mathbf{A}\| \|\mathbf{u}\| + \left\|{\mathbf{A}^{- 1}}\right\| \frac{\|\Delta\mathbf{A}\|}{\|\mathbf{A}\|} \|\Delta\mathbf{u}\|. $$$Вводя обозначение $$\mu (\mathbf{A}) = \left\|{\mathbf{A}^{- 1}}\right\| \cdot \|\mathbf{A}\|$$, перепишем последнее равенство в виде
$$$ \|\Delta\mathbf{u}\| \left(1 - \mu \frac{\|\Delta\mathbf{A}\|} {\|\mathbf{A}\|}\right) \le \mu \frac{\|\Delta \mathbf{f}\|}{\|\mathbf{f}\|} \frac{\|\mathbf{f}\|}{\|\mathbf{A}\|} + \mu \cdot \frac{\|\Delta \mathbf{A}\|} {\|\mathbf{A}\|} \|\mathbf{u}\| \le \\ \le \mu \frac{\|\Delta\mathbf{f}\|}{\|\mathbf{f}\|} \|\mathbf{u}\| + \mu \frac{\|\Delta\mathbf{A}\|}{\|\mathbf{A}\|} \|\mathbf{u}\| = \mu \left(\frac{\|\Delta\mathbf{f}\|}{\|\mathbf{f}\|} + \frac{\|\Delta\mathbf{A}\|}{\|\mathbf{A}\|}\right) \|\mathbf{u}\| . $$$Заметим, что $$$ \frac{\|\mathbf{f}\|}{\|\mathbf{A}\|} \le \|\mathbf{u}\| $$$ т.к. $$\|\mathbf{f}\| = \|\mathbf{Au}\| \le \|\mathbf{A}\| \cdot \|\mathbf{u}\|.$$
Тогда для оценки относительной погрешности решения окончательно получим
$$$ \frac{\|\Delta\mathbf{u}\|}{\|\mathbf{u}\|} \le \frac{\mu} {1 - \mu \frac{\|\Delta\mathbf{A}\|}{\|\mathbf{A}\|}} (\frac{\|\Delta\mathbf{f}\|}{\|\mathbf{f}\|} + \frac{\|\Delta\mathbf{A}\|}{\|\mathbf{A}\|}). $$$При $$\Delta A \approx 0$$ получаем оценку при наличии погрешности только правых частей
$$$ \frac{\|\Delta\mathbf{u}\|}{\|\mathbf{u}\|} \le \mu \frac{\|\mathbf{\Delta f}\|}{\|\mathbf{f}\|},$$$если в (2.5) положить $$\Delta\mathbf{A} \cdot \Delta \mathbf{u} \approx 0$$, то
$$$ \frac{\|\Delta\mathbf{u}\|}{\|\mathbf{u}\|} \le \mu (\frac{\|\Delta\mathbf{f}\|}{\|\mathbf{f}\|} + \frac{\|\Delta\mathbf{A}\|}{\|\mathbf{A}\|}). $$$В результате получено важное соотношение, показывающее, на сколько возрастают относительные ошибки решения
Величина
$$\mu (\mathbf{A}) = \left\|{\mathbf{A}^{- 1}}\right\| \|\mathbf{A}\|}$$называется
При $$\mu \approx 1 \div 10$$ ошибки входных данных слабо сказываются на решении и система (2.1) считается хорошо обусловленной. При $$\mu > > 10^{2} \div 10^{3}$$
Пример. Решением системы
$$\left\{ \begin{array}{l} 100u + 99v = 199 \\ 99u + 98v = 197 \\ \end{array} \right.$$будет пара чисел u = v = 1.
Внесем возмущение в правые части системы:
$$\left\{ \begin{array}{l} 100u + 99v = 198,99 \\ 99u + 98v = 197,01. \\ \end{array} \right.$$При этом решение заметно изменится: u = 2,97; v = -0,99. Воспользовавшись выбранными
Значит, $$$ \delta u = \frac{\|\Delta\mathbf{u}\|}{\|\mathbf{u}\|} \le \mu \frac{\|\Delta\mathbf{f}\|}{\|\mathbf{f}\|} \approx 4 \cdot 10^4 \cdot \frac{10^{- 4}}{2}= 2 $$$, что согласуется с результатами решения возмущенной и невозмущенной задач. Для невозмущенной задачи $$\|\Delta\mathbf{u}\| \approx 2$$, $$\|\mathbf{u}\| = 1.$$
Рассмотрим еще одно важное свойство.
Далее,
$$$ \sup\limits_\mathbf{f} \left\|{\mathbf{A}^{- 1}}\right\| \cdot \frac{\|\mathbf{f}\|}{\|\mathbf{u}\|} = \left\|{\mathbf{A}^{- 1}}\right\| \cdot \sup\limits_\mathbf{f} \frac{\|A\mathbf{u}\|}{\|\mathbf{u}\|} = \left\|{\mathbf{A}^{- 1}}\right\| \cdot \|\mathbf{A}\| = \mu (\mathbf{A}), $$$с другой стороны
$$$ \inf\limits_\mathbf{f}\nu (\mathbf{f}) = \inf\limits_\mathbf{f} \left\|{\mathbf{A}^{- 1}}\right\| \cdot \frac{\|\mathbf{f}\|}{\|\mathbf{u}\|} = \inf\limits_\mathbf{f} \left\|{\mathbf{A}^{- 1}}\right\| \sup\limits_\mathbf{f} {\left(\frac{\|\mathbf{u}\|}{\|\mathbf{f}\|}\right)}^{- 1} = \\ = \left\|{\mathbf{A}^{- 1}}\right\| {\left(\sup\limits_\mathbf{f}\frac{\left\|{\mathbf{A}^{- 1}\mathbf{f}}\right\|}{\|\mathbf{f}\|}\right)}^{- 1} = 1.$$$Параметр $$\nu (\mathbf{f})$$, характеризующий
Можно также показать, что для симметричной матрицы $$\mathbf{A}$$ имеет место $$\mu = \left|{\max\limits_k \lambda_{\mathbf{A}}^k}\right| /
\left|{\min\limits_k \lambda_{\mathbf{A}}^k}\right\|$$, т.е.
Трудность численного решения рассматриваемых n линейных уравнений, каждое из которых содержит лишь одну неизвестную величину. Для диагональной системы очевидны явные формулы
В случае треугольной матрицы
$$\mathbf{A}= \left( \begin{array}{cccc} a_{11} a_{12} \ldots a_{1n} \\ 0 a_{22} \ldots a_{2n} \\ \ldots \ldots \ldots \ldots \\ 0 0 \ldots a_{nn} \end{array} \right)$$из последнего уравнения получаем $$u_n = f_n /a_{nn}, (a_{ii} \ne 0 \mbox{, т.к. } \Delta =\det \mathbf{A} \ne 0).$$
Решая систему линейных уравнений с треугольной матрицей "снизу
вверх", для uk имеем
Можно оценить количество арифметических действий, затрачиваемых на решение
такой системы. Оно составляет O(n2) .
Пусть теперь система уравнений имеет матрицу общего вида. Стандартная схема такого решения разделяется на два этапа: прямой ход — приведение матрицы к треугольному виду, и обратный — вычисление решения системы.
Рассматривается система уравнений
$$\left\{ \begin{array}{ccc} {a_{11}u_1 + a_{12}u_2 + \ldots + a_{1n}u_n = f_1 ,} \\ {a_{21}u_1 + a_{22}u_2 + \ldots + a_{2n}u_n = f_2 ,} \\ \ldots \\ {a_{n1}u_1 + a_{n2}u_2 + \ldots + a_{nn}u_n = f_n .} \\ \end{array} \right.$$Прямой ход u1 из всех уравнений, начиная со второго,
для чего ко второму уравнению прибавим первое, умноженное на $$-a_{21}/a_{11} = - \eta _{21}$$, к третьему прибавим первое, умноженное на $$-a_{31}/a_{11} = - \eta _{31}$$ и т.д. После этих преобразований получим эквивалентную систему:
в которой коэффициенты и правые части определяются следующим образом:
$$a_{ij}^1 = a_{ij}- \eta_{i1}a_{1j};\quad f_i^1 = f_i - \eta_{i1}f_1;\quad i,j = 2, \ldots , n.$$Теперь положим $$a_{22}^1 \ne 0.$$ Аналогично, вычислив множители второго шага $$- a_{i2}^1/a_{22}^1 = -\eta_{i2}\quad (i = 3, \ldots , n)$$,
исключаем u2 из последних (n - 2) уравнений системы (2.17). В результате преобразований получим новую эквивалентную систему уравнений
в которой $$a_{ij}^2 = a_{ij}^1 - \eta_{i2}a_{2j}^1;\quad f_i^2 = f_i^1 - \eta_{i2}f_2^1;\quad i,j = 3, \ldots , n.$$ Продолжая алгоритм, т.е. исключая ui (i = k + 1, ..., n), приходим на n - 1 шаге к системе с треугольной матрицей
Обратный ход un ; подставляем это значение в предпоследнее уравнение, получим un-1. Поступая так и далее, последовательно находим un-2, un-3, ..., u1. Вычисления компонент вектора решения проводятся по формулам
Этот алгоритм прост и легко реализуем при условии, что $$a_{11} \ne 0$$, $$a_{22} \ne 0$$ и т.д. Количество арифметических действий прямого хода $$\approx 2/3n^{3}$$, обратного $$\approx n^{2}.$$ Это уже приемлемая для современных компьютеров величина.
Рассмотрим
Введем новую матрицу
$${\mathbf{N}}_1 = \left(\begin{array}{ccccc} 1 0 0 \ldots 0 \\ - \eta_{21} 1 0 \ldots 0 \\ - \eta_{31} 0 1 \ldots 0 \\ \ldots \ldots \ldots \ldots \ldots \\ - \eta_{n1} 0 0 \ldots 1 \\ \end{array} \right).$$Очевидно, $${\mathbf{A}}_1={\mathbf{N}}_1\mathbf{A}$$, $${\mathbf{f}}_1={\mathbf{N}}_1\mathbf{f}.$$ Аналогично, после второго шага система приводится к виду $${\mathbf{A}}_2\mathbf{u}={\mathbf{f}}_2$$, где $${\mathbf{A}}_2={\mathbf{N}}_2{\mathbf{A}}_1$$, $${\mathbf{f}}_2={\mathbf{N}}_2{\mathbf{f}}_1$$,
$${\mathbf{A}}_1 = \left( \begin{array}{ccccc} a_{11} a_{12} a_{13} \ldots a_{1n} \\ 0 a_{22}^1 a_{23}^1 \ldots a_{2n}^1 \\ 0 0 a_{33}^2 \ldots a_{3n}^2 \\ \ldots \ldots \ldots \ldots \ldots \\ 0 0 a_{n3}^2 \ldots a_{nn}^2 \\ \end{array} \right), \quad {\mathbf{N}}_2 = \left( \begin{array}{ccccc} 1 0 0 \ldots 0 \\ 0 1 0 \ldots 0 \\ 0 - \eta_{32} 1 \ldots 0 \\ \ldots \ldots \ldots \ldots \ldots \\ 0 - \eta_{n2} 0 \ldots 1 \\ \end{array} \right), \\ {{\mathbf{f}}_2} = \left\{{f_1, f_2^1, f_3^2, \ldots , f_n^2}\right\}^T.$$После n - 1 шага получим $${\mathbf{A}}_{n - 1}\mathbf{u} = {\mathbf{f}}_{n - 1}, {\mathbf{A}}_{n - 1} = {\mathbf{N}}_{n - 1} \cdot {\mathbf{A}}_{n - 2}, {\mathbf{f}}_{n - 1} = {\mathbf{N}}_{n - 1}{\mathbf{f}}_{n - 2}$$,
В итоге получаются матрица и вектор $${\mathbf{A}}_{n - 1} = {\mathbf{N}}_{n - 1} \ldots {\mathbf{N}}_2{\mathbf{N}}_1\mathbf{A}$$, $${\mathbf{f}}_{(n - 1)} = {\mathbf{N}}_{n - 1} \ldots {\mathbf{N}}_2{\mathbf{N}}_1\mathbf{f}$$, откуда $$\mathbf{A}={\mathbf{N}}_1^{- 1}{\mathbf{N}}_2^{- 1} \ldots {\mathbf{N}}_{n - 1}^{- 1} \cdot {\mathbf{A}}_{n - 1}.$$ При этом
$${\mathbf{N}}_1^{- 1}= \left( \begin{array}{ccccc} 1 0 0 \ldots 0 \\ \eta_{21} 1 0 \ldots 0 \\ \eta_{31} 0 1 \ldots 0 \\ \ldots \ldots \ldots \ldots \ldots \\ \eta_{n1} 0 0 \ldots 1 \\ \end{array} \right),\quad {\mathbf{N}}_2^{- 1}= \left( \begin{array}{ccccc} 1 0 0 \ldots 0 \\ 0 1 0 \ldots 0 \\ 0 \eta_{32} 1 \ldots 0 \\ \ldots \ldots \ldots \ldots \ldots \\ 0 \eta_{n2} 0 \ldots 1 \\ \end{array} \right), \\ {\mathbf{N}}_{n - 1}^{- 1}= \left( \begin{array}{ccccc} 1 0 \ldots 0 0 \\ 0 1 \ldots 0 0 \\ \ldots \ldots \ldots \ldots \ldots \\ 0 0 \ldots 1 0 \\ 0 0 \ldots \eta_{n,n}- 1} 1 \\ \end{array} \right).$$После введения обозначений $$\mathbf{U} = {\mathbf{A}}_{n - 1}$$, $$\mathbf{L} = {\mathbf{N}}_1^{- 1}{\mathbf{N}}_2^{- 1} \ldots {\mathbf{N}}_{n - 1}^{- 1}$$, где
$$\mathbf{L} = \left( \begin{array}{ccccc} 1 0 0 \ldots 0 \\ \eta_{21} 1 0 \ldots 0 \\ \eta_{31} \eta_{32} 1 \ldots 0 \\ \ldots \ldots \ldots \ldots \ldots \\ \eta_{n1} \eta_{n2} \eta_{n3} \ldots 1 \\ \end{array} \right),$$получим $$\mathbf{A} = \mathbf{LU}.$$
Вспомним "отрицательный" пример из лекции 1. Пусть необходимо решить систему
$$\begin{gather*} -10^{- 7}u_1 + u_2 = 1, \\ u_1 + 2u_2 = 4. \end{gather*}$$Исключая u1 из первого уравнения и подставляя во второе, получим u2 = (107 + 4)/(107 + 2). После вычислений с семью значащими цифрами получаем u1 = 0,000000, u2 = 1,000000, что неверно (см. второе уравнение). Теперь исключим u1 из второго уравнения и подставим в первое. При этом получим $$$ u_2 = \frac{1 + 4 \cdot 10^{- 7}}{1 + 2 \cdot 10^{- 7}} $.$$ После вычислений с той же точностью имеем: u2 = 1,000000, u1 = 2,000000, что является правильным решением (с заданным количеством значащих цифр).
В реальных вычислениях используются методы с u1 отыскивается $$\max\limits_i|{a_{i1}}|.$$ Пусть максимум достигается при i = k. В этом случае меняются местами первое и k уравнения (или в матрице меняются местами две строки) и реализуется процедура исключения.
Затем отыскивается $$\max\limits_i|{a_{i2}^1}|$$, и процедура поиска u1 отыскивается $$\max\limits_j|{a_{kj}}|.$$ Если максимум достигается при i = k, то у u1 и uk меняются номера, то есть максимальный элемент из коэффициентов первого уравнения окажется на месте a11, и т.д. Наиболее эффективным является i = 1, ..., n, при выполнении которого проблемы, появляющиеся в
Полученное решение можно улучшить следующим образом. Пусть $${\mathbf{r}}^1 = \mathbf{f} - {\mathbf{Au}}^1$$ есть невязка, допущенная при решении рассматриваемой системы ( $${\mathbf{u}}^1$$ — полученное численное решение) за счет ошибки округлений. Очевидно, что погрешность $${\mathbf{\varepsilon}}^1 = \mathbf{u} - {\mathbf{u}}^1$$ удовлетворяет
Решив последнюю систему, получаем $$\mathbf{\varepsilon}^1$$, после чего уточняем решение:
$${\mathbf{u}}^2 = {\mathbf{u}}^1 + {\mathbf{\varepsilon }}^1.$$Эту процедуру можно продолжить.
В приложениях часто возникают системы линейных уравнений с матрицами
специального вида. В дальнейшем, например, при интерполяции функции сплайнами, при решении
Среди
Если матрица $$\mathbf{A}$$ представима в виде произведений матриц $$\mathbf{LU}$$, то
Перепишем (2.13), вводя вспомогательный вектор $$\mathbf{v}$$, в следующем виде
$$\mathbf{Lv} = \mathbf{f},\quad \mathbf{Uu} = \mathbf{v}.$$Решение
откуда можно вычислить все vk последовательно по формулам
Далее рассмотрим систему $$\mathbf{Uu} = \mathbf{v}$$ или
$$\left\{ \begin{array}{l} d_{11}u_1 + d_2 u_2 + \ldots + d_{1n} u_n = v_1 , \\ d_{22}u_2 + \ldots + d_{2n} u_n = v_2 , \\ \ldots \\ d_{nn}u_n = v_n , \\ \end{array} \right.$$решение которой находится в обратном порядке, т.е. при k = n - 1, ..., 1 по очевидным формулам $$u_k = d_{kk}^{- 1}(v_k - \sum\limits_{j = k + 1}^n{d_{kj}u_j )}.$$ Условия существования такого разложения даются следующей
теоремой [2.5] (без доказательства).
Теорема. Если все главные миноры квадратной матрицы $$\mathbf{A}$$ отличны от нуля, то существуют единственные нижняя и верхняя треугольные матрицы $$\mathbf{L} = l_{ij}$$ и $$\mathbf{U} = d_{ij}$$ такие, что $$\mathbf{A}= \mathbf{LU}.$$ При этом все диагональные коэффициенты матрицы $$\mathbf{L}$$ фиксированы и равны единице.
Опишем алгоритм нахождения элементов lijdij матриц $$\mathbf{L}, \mathbf{U}.$$ Выписав равенство $$\mathbf{A} = \mathbf{LU}$$ в компонентах, получим
Выполнив умножение матриц, приходим к системе линейных уравнений размером n x n:
относительно неизвестных d11, d12, ..., d1n, l21, d22, ..., d2n, ln1, ln2, ..., dnn.
Специфика этой системы позволяет решить ее последовательно. Из первой
строки находим d1j= a1j(j = 1, ..., n).
Из уравнений, входящих в первый столбец приведенной выше системы, находим li1= ai1/d11, i = 1, ...dots, n. Теперь можно из уравнений второй строки найти d2j= a2j- l21d1j, j = 2, ..., n, а из уравнений, входящих во второй столбец, получим $$l_{i2}= d_{22}^{-1}(a_{i2}- l_{i1}d_{12}), i = 2, \ldots, n$$ и так далее. Последним вычисляется элемент
Можно выписать общий вид этих формул:
$$\begin{gather*} d_{ij}= a_{ij} - \sum\limits_{k = 1}^{j - 1}{l_{ik}d_{kj}},\quad i \le j, \\ l_{ij}= d_{ij}^{- 1}\left({a_{ij} - \sum\limits_{k = 1}^{j - 1}{l_{ik}d_{kj}}}\right),\quad i > j. \end{gather*}$$Приведение матриц к треугольному виду аналогично приведению матрицы в O(n3), точнее, $$\approx 2n^{3}.$$
Пусть матрица рассматриваемой линейной системы $$\mathbf{A}$$
— симметричная, т.е. aij = aji, положительная матрица. Тогда она представима в виде $$\mathbf{A} = \mathbf{LL}^T$$, где
Далее, как и в случае 2n2 арифметических действий.
Первая из этих линейных систем
$$\begin{gather*} l_{11}v_1 = f_1 ,\\ l_{12}v_1 + l_{22}v_2 = f_2 ,\\ \ldots\\ l_{1n}v_1 + l_{2n}v_2 + \ldots + l_{nn}v_n = f_n , \end{gather*}$$она легко решается. Для решения получаем очевидные формулы
$$v_i = l_{ii}^{- 1}(f_i - \sum\limits_{k = 1}^{i-1}{l_{ki}}v_k )},\quad i = 1,\ldots, n.$$Вторая система уравнений есть
l11u1 + l12u2 + ... + l1nun = v1 , l22u2 + ... + l2nun = v2, ... lnnun = vn.
Из нее находим значения переменных ui в обратном порядке по формуле
Определенной опасностью при реализации этого метода являются возможная
близость к нулю lii и отрицательность подкоренных выражений при вычислении lii (последнего не должно быть при симметричной положительной матрице $$\mathbf{A}$$ )
Элементы матрицы $$\mathbf{L}$$ находим из уравнения $${\mathbf{LL}}^T = \mathbf{A}$$, приравнивая соответствующие элементы матриц $${\mathbf{LL}}^T$$ и $$\mathbf{A}.$$ В результате получим систему уравнений
$$\begin{gather*} l_{11}^2 = a_{11}, \\ l_{i1}l_{11} = a_{i1}, i = 2, \ldots ,n, \\ l_{21}^2 + l_{22}^2 = a_{22}, \\ l_{i1}l_{21} + l_{i2}l_{22} = a_{i2}, i = 3, \ldots , n, \\ \ldots\\ l_{k1}^2 + l_{k2}^2 + \ldots + l_{kk}^2 = a_{kk}, \\ l_{i1}l_{k1} + l_{i2}l_{k2} + \ldots + l_{ik}l_{kk} = a_{kk}, i = k + 1, \ldots , n. \end{gather*}$$Решение этой системы легко находится:
$$\begin{gather*} l_{11} = \sqrt{a_{11}},\\ l_{i1} = a_{i1}/l_{11}, i = 2, \ldots , n, \\ l_{22} = \sqrt{a_{22}- l_{21}^2}, \\ l_{i2} = (a_{i2}- l_{i1}l_{21})/l_{22}, i = 3, \ldots ,n, \\ \ldots \\ l_{kk} = \sqrt{a_{kk}- l_{k1}^2 - l_{k2}^2 - \ldots - l_{k,k - 1}^2}, \\ l_{ik} = (a_{ik}- l_{i1}l_{k1}- l_{i2}l_{k2}- \ldots - l_{i,k - 1}l_{k,k - 1})/l_{kk},i = k + 1, \ldots , n, \end{gather*}$$Метод также называется методом квадратного корня.
Внимание! Не следует путать матрицу (оператор) $$\mathbf{L}$$ с оператором $$\mathbf{A}^{1/2}$$ — квадратным корнем из самосопряженного положительного оператора.
Рассмотрим
Проведем несколько равносильных преобразований. Умножим обе части системы на один и тот же скалярный множитель $$\tau,$$ затем прибавим к правой и левой частям системы вектор $$\mathbf{u}.$$ Систему уравнений можно теперь записать в виде, удобном для итераций:
$$\mathbf{u}= \mathbf{Bu}+ \mathbf{F},$$где $$\mathbf{B} = \mathbf{E} - \tau \mathbf{A},\quad \mathbf{F} = \tau \mathbf{f}.$$
Теперь построим последовательность приближений к решению системы. Выберем произвольный вектор $${\mathbf{u}}_0$$ — начальное приближение к решению. Чаще всего его просто полагают нулевым вектором. Скорее всего, начальное приближение не удовлетворяет (2.15) и, следовательно, исходной системе. При подстановке его в исходное уравнение возникает невязка $${\mathbf{r}}_0 = \mathbf{f} - \mathbf{A}{\mathbf{u}}_0.$$ Вычислив невязку, с помощью (2.15) можно уточнить приближение к решению, считая, что
$${\mathbf{u}}_1 ={\mathbf{u}}_0 + \tau{\mathbf{r}}_0.$$По первому приближению снова вычисляется невязка, процесс продолжается. В
ходе итерации получаем $${\mathbf{u}}_{k + 1} = {\mathbf{u}}_k + \tau{\mathbf{r}}_k, {\mathbf{r}}_k = \mathbf{f} - {\mathbf{Au}}_k.$$ Эквивалентная формулировка метода, называемого
$${\mathbf{u}}_0 = 0$$ (или любому произвольному вектору). Если предел
такой последовательности существует, то говорят о сходимости итерационного процесса к решению
Существуют другие формы записи
Канонической формой записи двухслойного итерационного процесса называется следующая:
$$$ {\mathbf{D}}_{k + 1}\frac{{\mathbf{u}}_{k + 1} - {\mathbf{u}}_k}{\tau_{k + 1}} + {\mathbf{Au}}_k = \mathbf{f}. $$$При $${\mathbf{D}}_k = {\mathbf{E}}$$, $$\tau _{k} = \tau$$ последняя формула соответствует однопараметрическому итерационному процессу — рассмотренному выше n -шаговому явному итерационному процессу,
при $${\mathbf{D}}_k = \mathbf{D^{\prime}}$$, $$\tau _{k} = 1$$ —
Теорема (достаточное условие сходимости
Доказательство.
Пусть $$\mathbf{U}$$ — точное решение системы (2). Вычитая из (2.16)-(2.15), получим $${\mathbf{u}}_k - {\mathbf{U}} = \mathbf{B}({\mathbf{u}}_{k - 1} - \mathbf{U})$$, или, обозначив погрешность $${\mathbf{\varepsilon }}_k = {\mathbf{u}}_k - {\mathbf{U}}$$, получим для эволюции погрешности уравнение $${\mathbf{\varepsilon}}_k = {\mathbf{B\varepsilon}}_{k - 1}.$$ Справедлива цепочка неравенств: $$\|{{\mathbf{u}}_k - {\mathbf{U}}}\| = \|{{\mathbf{\varepsilon}}_k}\| \le \|{\mathbf{B}}\| \cdot \|{{\mathbf{\varepsilon}}_{k - 1}}\| \le q\|{{\mathbf{\varepsilon}}_{k - 1}}\| \le \ldots \le q^k\|{{\mathbf{\varepsilon}}_0}\| = q^k\|{{\mathbf{u}}_0 - {\mathbf{U}}}\|$$, где $$0 < q \le \|{\mathbf{B}}\|.$$
Отсюда следует, что при $$q < 1 \lim\limits_{k \to \infty}{\mathbf{u}}_k = \mathbf{U}.$$
Из неравенства $$\|{{\mathbf{\varepsilon}}_k}\| \le q^k\|{{\mathbf{\varepsilon}}_0}\|$$ можно получить оценку количества итераций,необходимых для достижения точности $$\varepsilon,$$ т.е. для выполнения условия $$\|{{\mathbf{u}}_k - \mathbf{U}}\| = \|{{\mathbf{\varepsilon}}_k}\| \le \varepsilon.$$ Эта оценка имеет вид $$$ k \ge \left({\ln{\frac{\mathbf{\varepsilon}}{\|{{\mathbf{\varepsilon}}_0}\|}}}\right)/\ln{q} $.$$
Теорема (критерий сходимости
Сравним по количеству арифметических действий i — число приближений, необходимое для достижения заданной точности. Значит, при I < n/3 метод итераций становится предпочтительнее. В реальных задачах, в основном, $$I \ll n.$$ Кроме того,
Будем трактовать суммарный эффект ошибок округления при выполнении одного итерационного шага как возмущение правой части в итерационном процессе
$${\mathbf{u}}_k = {\mathbf{Bu}}_{k - 1} + {\mathbf{F}}.$$Результат вычислений на каждой итерации при наличии ошибок округления представим в виде
$${\mathbf{u}}_k^M = {\mathbf{Bu}}_{k - 1}^M + {\mathbf{F}} + {\mathbf{\delta }}_k,$$где $${\mathbf{\delta }}_k$$ — суммарная погрешность округления. Норму разности между реальным и идеальным (т.е. в отсутствии ошибки округления) результатами расчетов получим, вычитая (2.19) из (2.20). Учтем, что $$\|\mathbf{B}\| < q < 1$$,
$$\begin{multline*} \|{{\mathbf{u}}_k^M - {\mathbf{u}}_k}\| \le q \|{{\mathbf{u}}_{k - 1}^M - {\mathbf{u}}_{k - 1}}\| + \\ + \|{{\mathbf{\delta }}_k}\| \le q^2\|{{\mathbf{u}}_{k - 2}^M - {\mathbf{u}}_{k - 2}}\| + q\|{{\mathbf{\delta }}_{k - 1}}\| + \|{{\mathbf{\delta }}_k}\| \le \ldots \le q^k\|{{\mathbf{u}}_0^M - {\mathbf{u}}_0}\| + \\ + (\max\limits_i \|{{\mathbf{\delta }}_i}\|) (1 + q + \ldots + q^{k - 1}), i = 1, \ldots, k. \end{multline*} $$Так как начальное приближение задано точно $$\|{{\mathbf{u}}_0^M - {\mathbf{u}}_0}\| = 0.$$ Обозначим $$\delta = \max\limits_i \|{{\mathbf{\delta }}_i}\|$$ и вычислим сумму членов геометрической прогрессии. Получим $$$ \|{{\mathbf{u}}_k^M - {\mathbf{u}}_k}\| \le \delta \frac{q^k - 1}{q - 1} \le \frac{\delta }{1 - q} $$$, то есть погрешность, вносимая в решение из-за конечной разрядности мантиссы, не зависит от количества итераций. Этот результат является характеристикой устойчивости рассматриваемого вычислительного процесса.
Представим матрицу $$\mathbf{A}$$ в виде
$$\mathbf{A} = \mathbf{L} + \mathbf{D} + \mathbf{U},$$где $$\mathbf{L}$$ и $$\mathbf{U}$$ — нижняя и верхняя
треугольные матрицы с нулевыми элементами на главной диагонали, $$\mathbf{D}$$ — диагональная матрица. Рассматриваемая
Построим два
и
$$\mathbf{Lu}_{k+1} + \mathbf{Du}_{k+1} + \mathbf{Uu}_k = \mathbf{f},$$или, соответственно,
$${\mathbf{u}}_{k+1} = -\mathbf{D}^{- 1}(\mathbf{L} + \mathbf{U}){\mathbf{u}}_k + \mathbf{D}^{-1}\mathbf{f}$$и
$${\mathbf{u}}_{k+1} = -(\mathbf{L} + \mathbf{D})^{- 1}{\mathbf{Uu}}_k + (\mathbf{L} + \mathbf{D})^{-1}\mathbf{f}.$$Очевидно, что эти формулы описывают итерационные процессы вида (2.16), если положить в (2.22)
$$\mathbf{B} = -\mathbf{D}^{-1}(\mathbf{L} + \mathbf{U}), \mathbf{F} = \mathbf{D}^{-1}\mathbf{f}$$или
$$\mathbf{B} = -(\mathbf{L}+\mathbf{D})^{-1}\mathbf{U}, \mathbf{F} = (\mathbf{L} + \mathbf{D})^{-1}\mathbf{f}.$$k вверх):
Эти формулы легко выводятся, если учесть, что элементами матрицы D -1 являются $$d_{ii} = a_{ii}^{- 1}.$$
Теорема (достаточное условие сходимости
Доказательство.
Выполненные условия (2.24) означает, что в любой строке
сумма модулей элементов меньше единицы. В этом случае по крайней мере одна из норм матрицы $$\mathbf{B}$$ меньше единицы. Тогда выполняется достаточное условие сходимости
Теорема (критерий сходимости
по модулю не превосходили единицы.
Доказательство.
Легко проверить, что в силу диагональности $$\mathbf{D}$$ имеет место
$$\det ({\mathbf{B}}- \lambda {\mathbf{E}}) = \det \left[{-{\mathbf{D}}^{- 1}({\mathbf{L}} + {\mathbf{U}}) - \lambda {\mathbf{E}}}\right] = \det ( -{\mathbf{D}}^{- 1}) \cdot \det \left[{({\mathbf{L}} + {\mathbf{U}}) +{\mathbf{D}}\lambda}\right].$$Собственными значениями матрицы $$\mathbf{B} = -\mathbf{D}^{- 1}(\mathbf{L} + \mathbf{U})$$ являются корни уравнения
$$\det \left[{({\mathbf{L}}+{\mathbf{U}}) + {\mathbf{D}}\lambda}\right] = 0,$$которые в соответствии с критерием сходимости
Аналогичную теорему можно доказать и для
Теорема (достаточное условие сходимости
Доказательство этой теоремы сводится к проверке того, что выполнение
условий теоремы для матрицы $$\mathbf{A}= \mathbf{L} + \mathbf{D} + {\mathbf{L}}^{T}$$ влечет выполнение условия сходимости
(симметризация Гаусса).
Развитием
Выбирая $$\tau,$$ можно существенно изменять скорость сходимости
В общем случае задача вычисления $$\tau _{опт}$$ (оптимального итерационного параметра) не решена, однако известно, что $$1 < \tau _{опт} < 2.$$ В этом случае
Пусть $$\mathbf{u} \in L^n $$, где Ln есть n -мерное евклидово пространство. Рассмотрим квадратичный функционал
от $$\mathbf{u}$$, называемый функционалом энергии:
где $$\mathbf{A}$$ — линейный оператор, $$\mathbf{f} \in L^n$$, c — константа. Этот функционал совпадает с квадратичным функционалом $$\Phi (\mathbf{u}) = (\mathbf{A}^*\mathbf{u,u}) -
2(\mathbf{f,u}) + c$$, где $$\mathbf{A}^*$$ — сопряженный к $$\mathbf{A}$$ оператор. Действительно, $$(\mathbf{Au,u}) \equiv
(\mathbf{u},\mathbf{A}^*\mathbf{u})$$ по определению сопряженного оператора и $$(\mathbf{u},\mathbf{A}^*\mathbf{u}) = (\mathbf{A}^*\mathbf{u},\mathbf{u})$$ в силу коммутативности скалярного произведения. Тогда
Без ограничения общности предположим, что оператор $$\mathbf{A}$$ — самосопряженный, $$\mathbf{A} = \mathbf{A}^*.$$ В противном случае будем рассматривать задачу с оператором $$\frac{1}{2}(\mathbf{A}+{\mathbf{A}^*}) $$ при решении вариационной задачи.
Будем также считать, что $$\mathbf{A}$$ — положительный оператор, т.е. $$\mathbf{A} > 0$$, это означает, что для любого ненулевого вектора $$\mathbf{u}$$ выполнено $${(\mathbf{Au}, \mathbf{u}) > 0}.$$
Поставим задачу об отыскании элемента $$\mathbf{v}$$, придающего наименьшее значение функционалу $$\Phi (\mathbf{u})$$:
$$\Phi ({\mathbf{v}}) = \min\limits_{\mathbf{u} \in L^n}\Phi (\mathbf{u}).$$Теорема. Пусть $$\mathbf{A} = {\mathbf{A}*} > 0.$$ В этом случае существует единственный элемент $${\mathbf{v}} \in L^n $$, придающий наименьшее значение квадратичному функционалу $$\Phi (\mathbf{u}) =
(\mathbf{Au,u}) - (2\mathbf{f,u}) + c$$, являющийся решением
Доказательство.
Действительно,
$$\begin{gather*} \Phi (\mathbf{v} + \mathbf{\Delta }) = (\mathbf{A}(\mathbf{v} + \mathbf{\Delta }), \mathbf{v} + \mathbf{\Delta }) - 2(\mathbf{f,v} + \mathbf{\Delta }) + c = \\ = (\mathbf{Av} + \mathbf{A\Delta }\mathbf{,v} + \mathbf{\Delta }) - 2(\mathbf{f,v} + \mathbf{\Delta }) + c = \\ = (\mathbf{Av,v}) + (\mathbf{Av}\mathbf{,\Delta }) + (\mathbf{A\Delta } \mathbf{,v}) + (\mathbf{A\Delta }\mathbf{,\Delta }) - 2(\mathbf{f}\mathbf{,v}) - 2(\mathbf{f}\mathbf{,\Delta }) + c = \\ = (\mathbf{Av}\mathbf{,v}) + 2(\mathbf{Av}\mathbf{,\Delta }) + (\mathbf{A\Delta }\mathbf{,\Delta }) - 2(\mathbf{f}\mathbf{,v}) - 2(\mathbf{f}\mathbf{,\Delta }) + c = \\ = \left[{(\mathbf{Av}\mathbf{,v}) - 2(\mathbf{f}\mathbf{,v}) + c}\right] + 2(\mathbf{Av}\mathbf{,\Delta }) - 2(\mathbf{f}\mathbf{,\Delta }) + (\mathbf{A\Delta }\mathbf{,\Delta }) = \\ = \Phi (\mathbf{v}) + 2(\mathbf{Av}-\mathbf{f},\mathbf{\Delta }) + (\mathbf{A\Delta }\mathbf{,\Delta }) = \Phi (\mathbf{v}) + (\mathbf{A\Delta }\mathbf{,\Delta }) > \Phi (\mathbf{v}), \end{gather*}$$т.е. при $$\mathbf{Av} = \mathbf{f}$$ и любом $$\Delta$$ имеет место $$\min\limits_\mathbf{u}\Phi (\mathbf{u}).$$ Докажем, что верно и обратное утверждение. Если элемент доставляет минимальное значение функционалу энергии, то он является решением системы линейных уравнений $$\mathbf{Av} =
\mathbf{f}.$$ Из курса математического анализа известно, что в точке минимума должно выполняться условие $$grad \Phi (\mathbf{u}) = 0,\quad \mathbf{A} > 0.$$ Вычисляя градиент, приходим к условию минимума функционала $$grad \Phi (\mathbf{u}) = 2\mathbf{Au}- 2\mathbf{f}= 0.$$ Таким образом установлена эквивалентность вариационной задачи (отыскание элемента, придающего минимум $$\Phi (\mathbf{u})$$ ) и задачи о нахождении решения
Заметим, что
где $$\mathbf{A}$$ — положительно определенная симметричная матрица; $${\alpha}_k$$ — параметр, определяемый из заданных условий; например, из условия минимума величины
$$\Phi \left[{{\mathbf{u}}_k - \alpha_k \cdot grad \Phi ({\mathbf{u}}_k)}\right].$$В этом случае
что соответствует записи
Здесь учтено соотношение: $$({\mathbf{Au^{\prime}}},\mathbf{u}) = ({\mathbf{u^{\prime}}},\mathbf{A}^*\mathbf{u}) = (\mathbf{Au}{\mathbf{,u^{\prime}}})$$, поскольку $$\mathbf{A} = \mathbf{A}^*$$ и $$(\mathbf{v,Aw}) = (\mathbf{Aw,v})$$ в силу самосопряженности оператора $$\mathbf{A}.$$ Подставим в последние равенства $${\mathbf{u}}_{k+1}$$ из (2.27), получим $$(\mathbf{Au}_k - \mathbf{f}- \tau_k\mathbf{A}(\mathbf{Au}_k - \mathbf{f}),\mathbf{Au}_k - \mathbf{f}) = 0$$, откуда следует
$$\mathbf{Au}_k - \mathbf{f},\mathbf{Au}_k - \mathbf{f}) - \tau_k(\mathbf{A}(\mathbf{Au}_k - \mathbf{f}), \mathbf{Au}_k - \mathbf{f}) = 0,$$$$\tau_k = (\mathbf{Au}_k - \mathbf{f},\mathbf{Au}_k - \mathbf{f})/(\mathbf{A}(\mathbf{Au}_k - \mathbf{f}),\mathbf{Au}_k - \mathbf{f})$$, или $$$ \tau_k = \frac{({\mathbf{r}}_k,{\mathbf{r}}_k)}{({\mathbf{Ar}}_k,{\mathbf{r}}_k)}$$, где $${\mathbf{r}}_k = \mathbf{Au}_k - \mathbf{f} $.$$
Вектор $${\mathbf{r}}_k$$ называют вектором невязки.
Этот
Для отыскания минимума невязки на следующей итерации приравняем нулю производную последнего выражения по итерационному параметру $$\tau _{k}.$$ Получим равенство
$$- 2({\mathbf{Ar}}_k,{\mathbf{r}}_k) + 2\tau_k({\mathbf{Ar}}_k,{\mathbf{Ar}}_k) = 0.$$Из последнего соотношения находим значение итерационного параметра $$$ \tau_k= \frac{({\mathbf{Ar}}_k,{\mathbf{r}}_k)}{({\mathbf{Ar}}_k,{\mathbf{Ar}}_k)}. $$$
Этот метод применяется для решения систем уравнений с самосопряженной
положительной матрицей $$\mathbf{A} = \mathbf{A}^* > 0.$$ Оптимизируем
Идея метода состоит в следующем. Выбираем произвольное начальное приближение и вычисляем по нему вектор невязки $${\mathbf{r}}^0 = \mathbf{Au}^0 - \mathbf{f}$$, тогда первое приближение $$\mathbf{u}^1 = \mathbf{u}^0 + \tau_0{\mathbf{r}}^0 .$$
Из условия ортогональности невязок на двух первых шагах находим значение итерационного параметра $$$ \tau_0 = - \frac{({\mathbf{r}}^0,{\mathbf{r}}^0 )}{({\mathbf{Ar}}^0 ,{\mathbf{r}}^0 )} $.$$
Построим такое приближение, чтобы учитывались две предыдущие — трехслойный
Имеем
Все невязки уменьшаются по норме, поэтому данный метод эффективен даже для
плохо обусловленных задач, т.к. на определенном шаге можно оборвать вычисления и получить приближение к решению с заданной точностью. Тогда этот метод становится
Приведем последовательность расчетных формул одного из вариантов
где
$$$ \tau_{k + 1} = \frac{({\mathbf{r}}_k,{\mathbf{r}}_k)}{(\mathbf{A}{\mathbf{r}}_k,{\mathbf{r}}_k)}, $$$ $$$ \alpha_1 = 1; \alpha_{k+ 1}= {\left[{1 - \frac{1}{\alpha_k} \cdot \frac{\tau_{k+ 1}}{\tau_k} \cdot \frac{({\mathbf{r}}_k,{\mathbf{r}}_k)}{({\mathbf{r}}_{k- 1},{\mathbf{r}}_{k- 1})}}\right]}^{- 1},\quad k= 1, 2, \ldots $$$В вычислительной практике этот метод используется при умеренном n и неизвестных границах спектра матрицы $$\mathbf{A}$$, как k0 обычно достаточно большое число. Подробнее о
Рассмотрим два алгоритма для самосопряженных матриц. Первый — степенной алгоритм, для вычисления наибольшего по абсолютной величине собственного числа. Выбираем произвольный ненулевой вектор $${\mathbf{u}}_0$$ и строим последовательность векторов
$${\mathbf{u}}_{k + 1} = \mathbf{Au}_{k}.$$Легко показать, что выражение
$$$ \lambda \approx \frac{(\mathbf{Au}_k,{\mathbf{u}}_k)}{({\mathbf{u}}_k,{\mathbf{u}}_k)} = \frac{({\mathbf{u}}_{k+ 1},{\mathbf{u}}_k)}{({\mathbf{u}}_k,{\mathbf{u}}_k)} $$$приближает максимальное по абсолютной величине собственное значение с точностью $$O(\lambda_{N}/\lambda_{N- 1})^k.$$ Здесь $$\lambda _{N}/\lambda _{N - 1}$$ — отношение самого большого по модулю собственного числа матрицы к следующему по абсолютной величине.
Для решения полной самосопряженной проблемы собственных значений применяется
Определение собственных значений самосопряженной матрицы $$\mathbf{A}$$ эквивалентно отысканию такой ортогональной матрицы $$\mathbf{T}$$, что
$$\mathbf{\Lambda } = \mathbf{T^{\prime}AT},$$матрица $$\mathbf{\Lambda }$$ — диагональная. Среди всех ортогональных преобразований данное минимизирует сумму квадратов внедиагональных
элементов исходной матрицы. Построим i и j ). Так как евклидова норма матрицы не изменяется при ортогональных преобразованиях, то легко получить соотношение между суммами квадратов внедиагональных элементов старой и новой матриц:
Очевидны условия минимизации суммы в левой части последнего равенства. Следует на текущей итерации выбирать индексы так, чтобы выполнялось условие $$|{a_{ij}}| = \max\limits_{k \ne l}|{a_{kl}}|$$, а угол поворота выбирается из условия $$0 = {\left({(a_{jj}} - a_{ii})\sin 2\alpha + 2a_{ij}\cos 2\alpha}\right)}^2 .$$ Тогда он удовлетворяет условию $$$ \tg 2\alpha = \frac{2a_{ij}}{a_{ii} - a_{jj}},\quad |{\alpha }| \le \frac{\pi}{4} $.$$
Независимо от наличия кратных собственных значений
Выбор максимального по модулю внедиагонального элемента — затратная
операция, поэтому часто реализуется
Другие алгоритмы решения
$$\mathbf{A} ={\left( \begin{array}{ccc} 5 0 1 \\ 2 6 {-2}\\ -3 2 10 \\ \end{array}\right)}, \mathbf{f} = {(11, 8, 6)}^{\mathbf{T}}$$
или
$$\begin{gather*} 5{x}_1 + 0 \cdot{x}_2 +{x}_3 = 11, \\ 2{x}_1 + 6 \cdot{x}_2 + 2{x}_3 = 8, \\ - 3{x}_1 + 2 \cdot{x}_2 + 10{x}_3 = 6. \end{gather*} $$Решение.
Разделив элементы первой строки на ведущий элемент a11= 5 получаем первую опорную строку (1, 0, 0.2, 2.2).
Далее умножим ее на a21= 2 и вычтем из второй строки, после чего умножим опорную строку на a31= 3 и вычтем из третьей. Получаем матрицу $$$ \tilde{\mathbf{A}}_1 $$$
Вторая опорная строка — результат деления второй строки матрицы $$$ \tilde{\mathbf{A}}_1 $$$ на
$$a_{22}^1 = 6$$:(0, 1, - 0.4, 0.6)
Матрицы $$$ \tilde{\mathbf{A}}_2 $$$ после умножения опорной строки на 2 и вычитания ее из третьей
Третья опорная строка (результат деления третьей строки на 11,4 ) есть (0,0,1,1) .
Матрица $$$ \tilde{\mathbf{A}}_3 $$$ будет
$$$ \tilde{\mathbf{A}}_1 = \left( \begin{array}{cccc} 1 0 {0,2} {2,2}\\ 0 1 {- 0,4} {0,6}\\ 0 0 1 1 \\ \end{array}}\right). $$$Обратный ход
Система уравнений с матрицей $$$ \tilde{\mathbf{A}}_3 $$$
$$\begin{gather*} {x}_1 + 0 \cdot{x}_2 + 0,2{x}_3 = 2,2 , \\ {x}_2 - 0,4{x}_3 = 0,6 , \\ {x}_3 = 1. \end{gather*} $$Разрешая эту систему, начиная с последнего уравнения, получим
x3 = 1, x2 = 1, x1 = 2.
$$\begin{gather*} {x}_1 + 2{x}_2 + 3{x}_3 + 4{x}_4 = 2, \\ {x}_1 + 3{x}_2 + {x}_3 + 2{x}_4 = - 1, \\ 2{x}_1 + 3{x}_2 + 8{x}_3 + 7{x}_4 = 10, \\ 2{x}_1 + 5{x}_2 + 3{x}_3 + 7{x}_4 = 3 \end{gather*}$$
Решение. Преобразование матрицы рассматриваемой системы будет
$$\left( \begin{array}{ccccc} 1 2 3 4 2 \\ 1 3 1 2 {- 1}\\ 2 3 8 7 {10}\\ 2 5 3 7 3 \\ \end{array}\right) \to \left( \begin{array}{ccccc} 1 2 3 4 2 \\ 0 1 {- 2} {- 2} {- 3}\\ 0 {- 1} 2 {- 1} 6 \\ 0 1 {- 3} {- 1} 1 \\ \end{array}\right) \to \left( \begin{array}{ccccc} 1 2 3 4 2 \\ 0 1 {- 2} {- 2} {- 3}\\ 0 0 0 {- 3} {- 3}\\ 0 0 {- 1} 1 2 \\ \end{array}\right)$$Поскольку $${a^2_{33}} = 0$$ то вычисление третьей опорной строки невозможно.
$$$ \mu (\mathbf{A}) \ge \frac{|{\max\limits_i \lambda_i(\mathbf{A})}|}{|{\min\limits_i \lambda_i (\mathbf{A})}|}. $$$
Рассмотреть случай симметричной матрицы $$\mathbf{A}.$$
Решение. Для собственного вектора $$\omega,$$ соответствующего наибольшему по модулю собственному значению матрицы, выполняется равенство $$\mathbf{A}\omega = \lambda \omega $$, откуда
$$\|{\mathbf{A\omega}}\| = \left|{\max\limits_i\lambda_i}\right|{\|\omega\|}.$$Учитывая, что $$\|{\mathbf{A}\omega }\| \le \|\mathbf{A}\|{\|\omega\|}$$, получим $$\|\mathbf{A}\| \ge \left|{\max\limits_i \lambda_i (\mathbf{A})}\right|.$$ Для обратной матрицы $$\mathbf{A}^{-1}$$ максимальным по модулю является собственное число $$\min\limits_i \lambda_i^{-1}$$, откуда $$\left\|{\mathbf{A}^{- 1}}\right\| \ge {\left|{\min\limits_i\lambda_i(\mathbf{A})}\right|}^{- 1}.$$ Объединяя два последних неравенства, получим
$$$ \mu (\mathbf{A}) = {\left\|{\mathbf{A}^{- 1}}\right\|}\|\mathbf{A}\| \ge \frac{|{\max\limits_i \lambda_i (\mathbf{A})}|}{|{\min\limits_i \lambda_i (\mathbf{A})}|}. $$$В случае симметричной матрицы $$\mathbf{A}(\mathbf{A}^* = \mathbf{A})$$ имеем
$$\|\mathbf{A}\|}_3 = \sqrt{\lambda_{\max}(\mathbf{A}^*\mathbf{A})} = \sqrt{\lambda_{\max}(\mathbf{A}^2 )}= \sqrt{\lambda_{\max}^2(\mathbf{A})} = |{\lambda_{\max}(\mathbf{A})}|$$,т.к. из $${\mathbf{A\omega}}_i = \lambda_i\omega_i$$ следует $$({\mathbf{A\omega}}_i )^2 = \lambda_i^2\omega_i^2 .$$ Аналогично
$${\left\|{\mathbf{A}^{- 1}}\right\|}_3 = \sqrt{\lambda_{\max}[(\mathbf{A}^{- 1})^* (\mathbf{A}^{- 1})]} = \sqrt{\lambda_{\max}[(\mathbf{A}^{- 1})]^2} = \\ = \sqrt{\lambda_{\min}^{- 1}(\mathbf{A}^2 )} = |{\lambda_{\min}^{- 1}(\mathbf{A})}|.$$Тогда $$\mu (\mathbf{A}) = {\|\mathbf{A}\|}_3{\left\|{\mathbf{A}^{- 1}}\right\|}_3 = |{\lambda_{\max}(\mathbf{A})}|/|{\lambda_{\min}(\mathbf{A})}|.$$
Решение. Для самосопряженной положительной матрицы $$\mathbf{A}$$ имеем
$$$ \|\mathbf{A}\| = \sup\limits_{\|\mathbf{u}\| \ne 0}\frac{(\mathbf{u}, \mathbf{Au})}{(\mathbf{u}, \mathbf{u})}. $$$Тогда
$$$ \mu (\mathbf{A}) = {\|\mathbf{A}\|}_3 \left\|{{\mathbf{A}}^{- 1}}\right\|}_3 = \sup\limits_{\|\mathbf{u}\| \ne 0}\frac{(\mathbf{u, Au})}{(\mathbf{u, u})} \sup\limits_{\|{u}\| \ne 0}\frac{(\mathbf{u}, \mathbf{A}^{- 1}\mathbf{u})}{(\mathbf{u, u})} = \\ = \sup\limits_{\|\mathbf{u}\| \ne 0} \frac{({\mathbf{Bu, Bu}})}{(\mathbf{u,u})}\sup\limits_{\|\mathbf{u}\| \ne 0}\frac{({\mathbf{B}}^{- 1}\mathbf{u},{\mathbf{B}}^{- 1}\mathbf{u})}{(\mathbf{u, u})} = {\|{\mathbf{B}}\|}_3^2 {\left\|{{\mathbf{B}}^{- 1}}\right\|}_3^2, $$$откуда
$$\mu (\mathbf{A}) = \mu ^2({\mathbf{B}}).$$$${\|\mathbf{A}\|}_2 = \max\limits_{1 \le j \le n}\sum\limits_{j= 1}^n{|{a_{ij}}|}$$
Решение.
$${\|\mathbf{Au}\|}_2 = \sum\limits_{i = 1}^n{\left|{\sum\limits_{j= 1}^n{a_{ij}u_j}}\right|} \le \sum\limits_{i = 1}^n{\sum\limits_{j = 1}^n{|{a_{ij}}|}} \cdot |{u_j}| \le \sum\limits_{j = 1}^n{|{u_j}|} \cdot \sum\limits_{i = 1}^n{|{a_{ij}}|} \le \\ \le (\max\limits_{1 \le i \le n}\sum\limits_j{|{a_{ij}}|}) \cdot {\|\mathbf{u}\|}_2 = {\|\mathbf{A}\|}_2 {\|\mathbf{u}\|}_2.$$Положим
$$\max \sum\limits_{i = 1}^n{|{a_{ij}}|} = \sum\limits_{i = 1}^n{|{a_{ik}}|}.$$Покажем, что существует вектор $$\mathbf{v}$$, для которого достигается равенство. В качестве такового можно взять вектор $$\mathbf{v}$$ с компонентами $${v}_i = 0, i \ne k, {v}_k = 1.$$
Таким образом, норма матрицы $${\|\mathbf{A}\|}_2 = \max\limits_{1 \le j \le
n}\sum {|{u_{ij}}|}$$
n$$\mathbf{A}= \left( \begin{array}{ccccccc} 1 {d} 0 \ldots \ldots 0 0 \\ 0 1 {d} \ldots \ldots 0 0 \\ \ldots \ldots \ldots \ldots \ldots \ldots \ldots \\ 0 0 \ldots 1 {d} \ldots 0 \\ \ldots \ldots \ldots \ldots \ldots \ldots \ldots \\ 0 0 \ldots \ldots \ldots 1 {d}\\ 0 0 \ldots \ldots \ldots \ldots 1 \\ \end{array} \right).$$
Найти $$\mu (\mathbf{A})$$ и оценить возмущение в компоненте $$u_1$$ решения системы $$\mathbf{Au} = \mathbf{f}$$, если
компонент fn вектора f возмущен на величину $$\varepsilon.$$
Решение. Из $$\mathbf{Au}= \mathbf{f}$$ следует, что $$\mathbf{u}=\mathbf{A}^{- 1}\mathbf{f}.$$
С помощью обратной подстановки un = 1, un - 1 = ... находим компоненты матрицы
В этом случае $$$ {\|\mathbf{A}\|}_1 = 1 + |{d}|, {\left\|{\mathbf{A}^{- 1}}\right\|}_1 = 1 + |{d}|+{d}^2 + \ldots + {|{d}|}^{n - 1} = \frac{{|{d}|}^n - 1}{|{d}| - 1} $;$$
Видно, что при | d | > 1 матрица $$\mathbf{A}$$ плохо обусловлена, при | d | < 1 - хорошо. При n = 20 и d = 5 имеем $$\mu (\mathbf{A}) \approx 10^{14}.$$
Компонент $$$ \tilde{u}_1 $$$ решения возмущенной системы $$\tilde{\mathbf{u}} = {\mathbf{A}}^{- 1}{\mathbf{\tilde{f}}}$$ будет
$$$ \tilde{\mathbf{u}}_1 = f_1 - df_2 + d^2f_3 + \ldots + {(- d)}^{n - 2}f_{n - 1} + {( - d)}^{n - 1}(f_n + \varepsilon ) = u_1 + {(- d)}^{n - 1}\varepsilon, $$$где u1 — компонент решения невозмущенной системы $$\mathbf{Au} = \mathbf{f}$$
Отсюда видно, что при | d | > 1 возмущение в n компоненте вектора $$\mathbf{f}$$ увеличивается в компоненте u1 вектора $$\mathbf{u}$$ в | d |n - 1 раз, а при | d | < 1 — в | d |n - 1 раз убывает.
u1 + 0,99u2 = f1, 0,99u1 + u2 = f2
вектор $$\mathbf{f} = {(f_1, f_2)}^{T}$$ получает приращение $$\mathbf{\Delta f} = {(\delta f_1, \delta f_2)}^{T}$$, а решение получает приращение $$\Delta\mathbf{u} = {(\delta u_1, \delta u_2)}^{T}$$, Найти наименьшее число $$\mu,$$ при котором независимо от $$\mathbf{f}$$ и $$\Delta \mathbf{f}$$ выполняется оценка$$\frac{\|{\Delta\mathbf{u}}\|}{\|\mathbf{u}\|} \le \mu \frac{\|{\Delta \mathbf{f}}\|}{\|\mathbf{f}\|}.$$
Решить задачу, используя нормы матриц $${\|\cdot\|}_1, {\|\cdot\|}_2 , {\|\cdot\|}_3.$$
Решение. Для возмущенной задачи $$\mathbf{A}(\mathbf{u} + \Delta\mathbf{u}) = \mathbf{f} + \Delta\mathbf{f}$$, из линейности системы следует $$\mathbf{A}\Delta\mathbf{u} = \Delta\mathbf{f}.$$ Для возмущения решения выполняется равенство $$\Delta\mathbf{u} = {\mathbf{A}}^{- 1}\Delta\mathbf{f}.$$ Тогда $$$ \|{\Delta\mathbf{u}}\| \le \|{\mathbf{A}^{- 1}}\| \cdot \|\mathbf{A}\| \cdot \frac{\|{\Delta\mathbf{f}}\|}{\|\mathbf{f}\|} \cdot \frac{\|\mathbf{f}\|}{\|\mathbf{A}\|} $.$$
Отсюда сразу следует $$$ \|{\Delta\mathbf{u}}\| \le \left\|{{\mathbf{A}}^{- 1}}\right\| \cdot \|\mathbf{A}\| \frac{\|{\Delta\mathbf{f}}\|}{\|\mathbf{f}\|}\|\mathbf{u}\| $$$, так как $$$ \frac{\|\mathbf{f}\|}{\|\mathbf{A}\|} \le \|{\Delta\mathbf{u}}\| $.$$
Тогда искомая оценка будет $$$ \frac{\|{\Delta\mathbf{u}}\|}{\|\mathbf{u}\|} \le \left\|{{\mathbf{A}}^{- 1}}\| \cdot \|\mathbf{A}\| \frac{\|{\Delta\mathbf{f}}\|}{\|\mathbf{f}\|}.$$ Обозначим $$\mu = \|{{\mathbf{A}}^{- 1}}\| \cdot \|\mathbf{A}\| $.$$ В этом случае наименьшим числом, при котором выполняется оценка $$$ \frac{\|{\Delta\mathbf{u}}\|}{\|\mathbf{u}\|} \le \mu \frac{\|{\Delta\mathbf{f}}\|}{\|\mathbf{f}\|} $$$, является $$\mu = \|{{\mathbf{A}}^{- 1}}\| \cdot \|\mathbf{A}\|.$$ Это — число
$$$ \frac{\|{\Delta\mathbf{u}}\|}{\|\mathbf{u}\|} \le \nu (f) \frac{\|{\Delta\mathbf{f}}\|}{\|\mathbf{f}\|} $.$$
Найти такую правую часть системы $$\mathbf{f}$$, которой соответствует наименьшее $$\nu,$$ а также само это значение при использовании третьей нормы матрицы.
Решение.
По условию задачи $$$ \nu \ge \frac{\|\mathbf{f}\|}{\|\mathbf{u}\|} \cdot \frac{\|{\Delta\mathbf{u}}\|}{\|{\Delta\mathbf{f}}\|} $.$$ Рассмотрим, какие значения может принимать это число. Точная нижняя грань для такой оценки, очевидно, $$$ \inf\limits_{\|{\Delta\mathbf{f}}\| \ne 0}\nu = \frac{\|\mathbf{f}\|}{\|\mathbf{u}\|} \cdot \sup\limits_{\|{\Delta\mathbf{f}}\| \ne 0} \frac{\left\|{{\mathbf{A}}^{- 1} \cdot \Delta\mathbf{f}}\right\|}{\|{\Delta\mathbf{f}}\|} $.$$ Так как надо найти оценку, не зависящую от начального возмущения (при решении конкретной задачи оно, очевидно, неизвестно), получим
$$$ \nu = \inf\limits_{\|{\Delta\mathbf{f}}\| \ne 0}\nu = {\left\|{{\mathbf{A}}^{- 1}}\right\|} \cdot \frac{\|\mathbf{f}\|}{\|\mathbf{u}\|}. $$$Для точной нижней грани выполнено $$$ \inf\limits_\mathbf{f}\nu (\mathbf{f}) = \left\|{{\mathbf{A}}^{- 1}}\right\| \times \\ \times {\left({\sup\frac{\|{{\mathbf{A}}^{- 1}\mathbf{f}}\|}{\|\mathbf{f}\|}}\right)}^{- 1} = 1 $.$$ Можно оценить и точную верхнюю грань:
$$$ \sup\limits_\mathbf{f}\nu = \left\|{{\mathbf{A}}^{- 1}}\right\| \sup\limits_{\mathbf{u}}\frac{\|\mathbf{Au}\|}{\|\mathbf{u}\|} = \left\|{{\mathbf{A}}^{- 1}}\right\| \cdot \|\mathbf{A}\| = \mu $$$Таким образом, $$1 \le \nu \le \mu.$$
Ответим на вопрос, при каких $$\mathbf{f}$$ достигается $$\sup\limits_{\mathbf{f}}\nu $$ и $$\inf\limits_{\mathbf{f}}\nu.$$ Для этого используем
Для самосопряженной положительной матрицы $${\mathbf{A}}^* = \mathbf{A} > 0$$ получаем
$$$ |{\lambda_{\min}(\mathbf{A})}| \le \sqrt{\frac{\sum\limits_i {\lambda_i \xi_i^2}}{\sum\limits_i{\xi_i^2}}} = \frac{\|\mathbf{Au}\|}{\|\mathbf{u}\|} \le |{\lambda_{\max}(\mathbf{A})}|. $$$В то же время
$$$ \frac{\|{{\mathbf{A\omega}}_i}\|}{\|{\omega_i}\|} = \sqrt{\frac{(\mathbf{A}*{\mathbf{A\omega}}_i, \omega_i )}{(\omega_i, \omega_i )}} = \sqrt{\frac{\lambda_i (\omega_i, \omega_i )}{(\omega_i ,\omega_i )}} = \sqrt{\lambda_i (\mathbf{A}*\mathbf{A})}, $$$для самосопряженной положительной матрицы $$$ \frac{\|{{\mathbf{A\omega}}_i}\|}{\|{\omega_i}\|} = |{\lambda_i (\mathbf{A})}| $.$$
$$$ \sup\limits_\omega\frac{\|{{\mathbf{A\omega}}}\|}{\|\omega\|} = \sqrt{\lambda_{\max}({\mathbf{A}}^*\mathbf{A})};\quad \inf\limits_\omega \frac{\|{{\mathbf{A\omega}}}\|}{\|\omega\|} = \sqrt{\lambda_{\min}({\mathbf{A}}^*\mathbf{A})}. $$$В случае $${\mathbf{A}}^* = \mathbf{A} > 0$$ получаем $$\sup\limits_\omega \frac{\|{{\mathbf{A\omega}}}\|}{\|\omega\|} = |{\lambda_{\max}(\mathbf{A})}| \inf\limits_\omega \frac{\|{{\mathbf{A\omega}}}\|}{\|\omega\|} = |{\lambda_{\min}(\mathbf{A})}| $.$$
Таким образом,
$$$ \sup\limits_\mathbf{u} \frac{\|\mathbf{Au}\|}{\|\mathbf{u}\|} = \sqrt{\lambda_{\max}({\mathbf{A}}^*\mathbf{A});} \sup\limits_\omega\frac{\|{{\mathbf{A\omega}}}\|}{\|\omega\|} = \sqrt{\lambda_{\max}({\mathbf{A}}^*\mathbf{A})}, $$$$$$ \inf\limits_\mathbf{u}\frac{\|\mathbf{Au}\|}{\|\mathbf{u}\|} = \sqrt{\lambda_{\min}({\mathbf{A}}^*\mathbf{A});} \inf\limits_\omega \frac{\|{{\mathbf{A\omega}}}\|}{\|\omega\|} = \sqrt{\lambda_{\min}({\mathbf{A}}^*\mathbf{A})}. $$$
$$\mathbf{Ax}= \mathbf{f}, \mathbf{A}= \left( \begin{array}{cc} 2 1 \\ 1 2 \\ \end{array}\right), \mathbf{x} = {(1,-1)}^{T}, \mathbf{f} = {(1,-1)}^{T}$$
или
2u + v = 1, u + 2v = - 1.
Оценить количество итераций для
(Решение системы: u = 1; v = -1 ).
Решение.
или $${\mathbf{x}}_{k+ 1} = {\mathbf{Bx}}_k + \mathbf{f}$$,
$${\mathbf{B}}= \left( \begin{array}{cc} 0 {- 0,5}\\ {- 0,5} 0 \\ \end{array} \right),$$$$\begin{gather*} u_{k + 1} = - \frac{1}{2}v_k + \frac{1}{2}, \\ v_{k + 1} = - \frac{1}{2}u_{k + 1} - \frac{1}{2}; \\ u_{k + 1} = (1 - \tau )u_k + \frac{\tau}{2}(1 - v_k), \\ v_{k + 1} = (1 - \tau )v_k - \frac{\tau}{2}(1 + u_k). \end{gather*} $$
Оценка количества итераций проводится по формуле
$$$ k \approx \ln \frac{\varepsilon }{\varepsilon_0 }/\ln \|\mathbf{B}\| = \ln 10^{- 3}/\ln \frac{1}{2}. $$$$$\begin{gather*} a_{11}u + a_{12}v = f_1, \\ a_{21}u + a_{22}v= f_2, \\ a_{11} \ne 0, a_{22} \ne 0 \end{gather*}$$
Решение. Итерационный процесс Якоби записывается как
$$\begin{gather*}u_{k+ 1} = - \frac{a_{12}}{a_{11}}v_k + \frac{f_1}{a_{11}}, \\ v_{k+ 1} = - \frac{a_{21}}{a_{22}}u_k + \frac{f_2}{a_{22}}. \end{gather*}$$
(рис 2.1) Первое уравнение соответствует прямой 1, второе — прямой 2. Вычисление u1 соответствует проведению отрезка, параллельного оси 0u и (при v = v0 ) до пересечения с прямой 1 ; точка пересечения даст первое приближение u1. Вычислению v1 соответствует проведение из точки A1 прямой, параллельной оси 0v до пересечения с прямой 2 и т.д. до сходимости итераций к точке пересечения прямых 1 и 2 (Ak) с заданной точностью.
a,b сходится $${\mathbf{B}} = \left( \begin{array}{ccc} {a} {b} 0 \\ {b} {a} {b}\\ 0 {b} {a} \\ \end{array} \right).$$
Решение. Для того, чтобы
откуда получим условие сходимости
$$\mathbf{A}$$ вида$$\mathbf{A} = \left( \begin{array}{ccc} {a} {b} 0 \\ {b} {a} {b}\\ 0 {b} {a}\\ \end{array} \right).$$
Решение. Для
Имеет место уравнение:
$${\mathbf{B\omega}} = \lambda \omega$$, где $$\lambda$$ и $$\mathbf{\omega}$$ — собственное число и собственный вектор, соответственно. В таком случае $$- {\mathbf{D}}({\mathbf{L}} + {\mathbf{U}})\omega = \lambda\omega$$, или: $$({\mathbf{L}} + {\mathbf{U}} + \lambda{\mathbf{D}}) \omega = 0$$, откуда (предполагаем наличие нетривиальных решений у последней
Решим это уравнение:
$$\det {\left| \begin{array}{ccc} \lambda a b 0\\ b \lambda a b\\ 0 b \lambda a \end{array} \right|} = 0,$$откуда получим условия сходимости
Для
В таком случае
$${- (\mathbf{D} + \mathbf{L})}^{- 1}{\mathbf{U\omega}} = \lambda\omega$$,откуда следует уравнение
$$\det (\lambda{\mathbf{L}} + \lambda {\mathbf{D}} + {\mathbf{U}}) = 0$$,Вычислив детерминант, придем к алгебраическому уравнению
$$\det {\left( \begin{array}{ccc} \lambda a b 0 \\ \lambda b \lambda a b \\ 0 \lambda b \lambda a \end{array} \right) } = a{\lambda}^2(a^2\lambda - 2b^2) = 0.$$В таком случае, поскольку $$$ \lambda_{1,2}= 0, \lambda_3 = 2\frac{b^2}{a^2} $$$, получим условие сходимости
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.