Численное решение уравнений в частных производных эллиптического типа на примере уравнений Лапласа и Пуассона
6.3. Попеременно - треугольный итерационный метод
При аппроксимации уравнений Пуассона или Лапласа получается система сеточных уравнений
![{\mathbf{Au}} = {\mathbf{f}},](/sites/default/files/tex_cache/94516c07aa2954040798e4471ee75c62.png)
без ограничения общности считаем оператор (матрицу системы) самосопряженным и
положительно определенным. Сеточный оператор Лапласа самосопряжен — это легко доказать, но отрицателен. Для того чтобы получить систему уравнений с положительным оператором, достаточно правую и левую части системы умножить на - 1. Здесь — квадратная матрица размером N x N.
Зададим матрицу :
![$ r_{ij} = \left\{ \begin{array}{l}
a_{ij}, i > j \\
\frac{{a_{ij}}}{2}, i = j \\
0, i < j. \\
\end{array} \right. $](/sites/default/files/tex_cache/ff01eb280dc3bb3afe55624dfde8aff4.png)
В таком случае можно представить в виде суммы двух треугольных матриц
.
и
— нижняя и верхняя треугольные матрицы, а их диагональные элементы совпадают. Далее будем рассматривать систему сеточных уравнений как операторное уравнение в конечномерном
евклидовом пространстве (унитарном в комплексном случае).
Попеременно - треугольный итерационный метод (ПТИМ) может быть представлен в каноническом виде
![$ {\mathbf{B}} \frac{{u^{i + 1} - u^{i}}}{\tau} + {\mathbf{A}}u^{i} = f. $](/sites/default/files/tex_cache/cdc445d1a1be35e8c309f5f7ed9f1bb1.png)
Здесь — самосопряженный положительный оператор. Его часто называют оператором предобуславливания. Для рассматриваемого метода оператор предобуславливания представляется в виде произведения
![{\mathbf{B}} = ({\mathbf{E}} + \omega {\mathbf{R}}^*)({\mathbf{E}} + \omega
{\mathbf{R}}),](/sites/default/files/tex_cache/4b4d78ac1faeed0f945dd3a8c287e92b.png)
где — единичный оператор,
— параметр (действительное число).
При известных и
значение uk + 1 находится в два этапа. Сначала вычисляется невязка на итерации
, а затем решается система матричных уравнений
![\begin{gather*} ({\mathbf{E}} + \omega {\mathbf{R}}^*) \tilde{u} = {\mathbf{B}}u^{i} -{\tau}r^{i}, \\
({\mathbf{E}} + \omega {\mathbf{R}})u^{i + 1} = \tilde{u}. \end{gather*}](/sites/default/files/tex_cache/3b0efc1f87d210a6a85cdd49c6a06f26.png)
Поскольку матрицы и
являются треугольными, то эти уравнения решаются значительно проще, чем исходное.
Для формулирования теоремы о ПТИМ введем понятие операторного неравенства:
будем полагать, что , если для любой сеточной функции, не равной нулю тождественно, выполнено неравенство
![(({\mathbf{A}} - {\mathbf{B}}){\mathbf{u}}, {\mathbf{u}}) \ge 0.](/sites/default/files/tex_cache/38cd2c05fa0cbe91814bb593bdb8fe48.png)
Теорема (без доказательства). Пусть и существуют положительные постоянные
и
при которых выполнены неравенства
![{\mathbf{A}} \ge \delta {\mathbf{E}}, 4{\mathbf{R}}^*{\mathbf{R}} \le \Delta
{\mathbf{A}}.](/sites/default/files/tex_cache/36fc08eaf46add4054b6f9814987778d.png)
Пусть также
![$ \omega = \frac{2}{\sqrt{\delta \Delta }}, $](/sites/default/files/tex_cache/ee42fc58c8c039d77c8002284168dfa6.png)
![${\tau} = \frac{2}{\gamma_1 + \gamma_2}, $](/sites/default/files/tex_cache/be6b610dcd54e8483006b08b2fcfaaaa.png)
![$ \gamma_1 = \frac{\delta }{2 \left({1 + \sqrt{\frac{\delta }{\Delta}}}\right)} $](/sites/default/files/tex_cache/fe9f0ee64825581bf2ab24f9ea58533f.png)
![$ \gamma_2 = \frac{\sqrt{\delta \Delta }}{4}. $](/sites/default/files/tex_cache/541bcab5e290a0865cd8195606f2d50e.png)
Тогда двухэтапный итерационный метод
![\begin{gather*} r^{i} = {\mathbf{A}}u^{i} - f, \\
({\mathbf{E}} + \omega {\mathbf{R}}^*) \tilde{u} = {\mathbf{B}}u^{i} -{\tau}r^{i}, \\
({\mathbf{E}} + \omega {\mathbf{R}})u^{i + 1} = \tilde{u} \end{gather*}](/sites/default/files/tex_cache/df9648df5cc1d99dddac7799ee6e4cf3.png)
сходится, причем для его погрешности справедлива оценка
![\left\| {u_i - u}\right\|_{A} \le {\rho}^{i} \left\| {u_0 - u}\right\|_{A},](/sites/default/files/tex_cache/9c1ef7f466d697d179fcaa9070e9b50b.png)
где
![$ {\rho} = \frac{{1 - \sqrt{\delta / \Delta }}}{{1 + 3 \sqrt{\delta / \Delta }}}, $](/sites/default/files/tex_cache/741126a4c5bb424ab5d674ebcad1f8e1.png)
![\left\| x\right\|_{\mathbf{A}} = \sqrt{({\mathbf{A}}x, x)}](/sites/default/files/tex_cache/fc55dc9f03484a2beaa3af3ba49681d6.png)
В качестве можно взять минимальное собственное значение
оператора
, либо любую положительную постоянную
. Можно показать, что
,
, где
— максимальное собственное значение оператора
.
Рассмотрим применение ПТИМ к численному решению уравнения Пуассона (знак минус ставим для удобства записи):
![- ({\mathbf{\Lambda}}_1 + {\mathbf{\Lambda}}_2 )u_{ml} = f_{ml},](/sites/default/files/tex_cache/37dde3e813b51f63e459a147248de1bb.png)
с нулевыми граничными условиями
um0 = umN = u0l = uNl = 0.
Эта задача может быть представлена как операторное уравнение, где . Оператор будет самосопряженным и положительным.
Далее необходимо представить матрицу в виде
и определить константы
и
Рассмотрим разностную аппроксимацию уравнения Пуассона по схеме "крест", переписав схему в эквивалентном виде:
![{\mathbf{A}}u_{ml} = \frac{1}{h} \Bigl({\frac{{u_{ml} -
u_{m - 1, l}}}{h} + \frac{{u_{ml} - u_{m, l - 1}}}{h}} \Bigr) - \frac{1}{h} \Bigl({\frac{{u_{m + 1, l} - u_{ml}}}{h} + \frac{{u_{m, l + 1} - u_{ml}}}{h}} \Bigr).](/sites/default/files/tex_cache/af57ac7135cbd5a7c361c57fa6b8955a.png)
Тем самым представили оператор как сумму двух операторов
, где
![\begin{gather*}
{\mathbf{R}}u_{ml} = \frac{1}{h} \left({\frac{{u_{ml} - u_{m - 1, l}}}{h} + \frac{{u_{ml} - u_{m, l - 1}}}{h}}\right), \\
{\mathbf{R}}^*u_{ml} = - \frac{1}{h} \left({\frac{{u_{m + 1, l} - u_{ml}}}{h} + \frac{{u_{m, l + 1} - u_{ml}}}{h}}\right). \end{gather*}](/sites/default/files/tex_cache/6f77b3e07535628020a18e53f5f11fca.png)
При этом матрица оператора является нижней треугольной, а матрица
— верхней треугольной (в этом легко убедиться, записав рассматриваемую систему в виде СЛАУ). Можно также показать, что
оператор
является сопряженным оператором к
, т.е.
.
Также показывается, что
![$ \delta = \frac{8}{{h^2}} {\sin}^2 \frac{{{\pi}h}}{2} = \lambda_{\min } ({\mathbf{A}}), \Delta = \frac{8}{{h^2}} \ge \frac{8}{{h^2}} {\cos}^2 \frac{{{\pi}h}}{2} = \lambda_{\max } ({\mathbf{A}}). $](/sites/default/files/tex_cache/08539bb3e17a8df4f0c9c914f9dbfb32.png)
Воспользовавшись формулами для и
получим
![\omega = \frac{{h^2}}{{4 {\sin}\frac{{{\pi}h}}{2}}} \approx \frac{h}{{2 {\pi}}},{\tau} = \frac{{h^2 (1 + {\sin}\frac{{{\pi}h}}{2})}}{{{\sin}\frac{{{\pi}h}}{2}
(1 + 3 {\sin}\frac{{{\pi}h}}{2})}} \approx \frac{{2h}}{{\pi}}.](/sites/default/files/tex_cache/f0fa2ba05d8961868ade3924b49cf1d7.png)
Оценка количества итераций для этого метода дает
![$ i \approx \frac{{\ln {\varepsilon}^{- 1}}}{{2 {\pi}h}} = \frac{N}{{2 {\pi}}} \ln {\varepsilon}^{- 1} . $](/sites/default/files/tex_cache/0b26a57ad690ba4e18b312b42400e01d.png)
Напомним, что границы спектра для рассматриваемого оператора ,
![$ l \approx 2 {\pi}^2](/sites/default/files/tex_cache/c0705a198631dd7d9dc39da3302c4f4c.png)
![N \approx \frac{{\pi}}{2} \sqrt{L/l} $](/sites/default/files/tex_cache/6310b8c86743c18777cff260994350f7.png)
Алгоритм вычисления , в соответствии с ранее приведенными формулами двух этапов ПТИМ будет таков.
Первый этап:
![\begin{gather*} r^{i} = {\mathbf{A}}u^{i} - f, \\
\tilde{u}_{ml} - \frac{\omega}{h} \left(\frac{\tilde{u}_{m + 1, l} - \tilde{u}_{ml}}{h}
+ \frac{\tilde{u}_{m, l + 1} - \tilde{u}_{ml}}{h}\right) = \mathbf{B}u^{i}_{ml} -
{\tau}r^{i}_{ml}, \end{gather*}](/sites/default/files/tex_cache/c701cee38719f42bcf25a1cc0037c7e9.png)
второй этап:
![\begin{gather*} u^{i + 1}_{ml} + \frac{\omega}{h} \left(
\frac{u^{i + 1}_{ml} - u^{i + 1}_{m - 1, l}}{h} + \frac{u^{i + 1}_{ml} - u^{i + 1}_{m, l - 1}}
{h}\right) = \tilde{u}_{ml}, \\
u_{0l}^{i + 1} = 0, \quad u_{m0}^{i + 1} = 0. \end{gather*}](/sites/default/files/tex_cache/8cbbc6567a45d77b3f950af650f3a0e9.png)
Уравнение для нужно начинать решать от точки m = N - 1, l = N - 1, учитывая, что на границе сеточной области сеточная функция равна нулю. Таким образом, вычисления ведутся рекуррентно.
Система решается, начиная с правого верхнего угла области до левого нижнего угла. Система линейных уравнений, соответствующая второму этапу, решается аналогично, но вычисления здесь начинаются в точке m = 1, l = 1 и заканчивается в точке m = N - 1, l = N - 1.
Метод по своим идеям напоминает схему Саульева, рассмотренную ранее в одномерном варианте при решении уравнений параболического типа.
Использование в ПТИМ набора чебышевских итерационных параметров приводит к следующему результату. Расчетные формулы для метода таковы:
![\begin{gather*}
{\mathbf{B}} \frac{{u^{i + 1} - u^{i}}}{\tau} + {\mathbf{A}}u^{i} = f, \\
{\mathbf{A}} = {\mathbf{R}} + {\mathbf{R}}^*, {\mathbf{B}} = ({\mathbf{E}} + \omega {
\mathbf{R}}^*)({\mathbf{E}} + \omega {\mathbf{R}}), \\
\tau_j = \frac{{\tau_0 }}{{1 + \eta t_j}}, \quad \tau_0 = \frac{2}{{\gamma_1 + \gamma_2}}, \\
\eta = \frac{1 - {\gamma_1}/{\gamma_2}}{1 + {\gamma_1}/{\gamma_2}}, \\
t_j = \cos \frac{{(2j - 1) {\pi}}}{{2i}}, j = 1, \ldots , i. \end{gather*}](/sites/default/files/tex_cache/d6946dc87880e88754a9cf2c1346f877.png)
Для проведенного примера
![$ \gamma_1 \approx 2 {\sin}\frac{{\pi}h}{2} $](/sites/default/files/tex_cache/f99543c180318cbb1bbd2889ea3d1ed0.png)
![$ \gamma_2 \approx 1 + {\sin}\frac{{\pi}h}{2} $](/sites/default/files/tex_cache/18a1bcc14cf8264e1040bc3e17668f35.png)
![$ \frac{\gamma_1}{\gamma_2} \approx {\pi}h $](/sites/default/files/tex_cache/26189c93ed88dc6acccad6fa53fa0611.png)
![$ i = \frac{\sqrt{N}}{\sqrt{2 {\pi}}} \ln {\varepsilon}^{- 1} $](/sites/default/files/tex_cache/57b5bd6f1a35f2dc4fbef5094ae6e899.png)